optionale Zusätze zu Feldern

Dieses Thema im Forum "Datenbanksysteme für das Web" wurde erstellt von Jakob, 22.04.2006.

  1. Jakob

    Jakob Thread Starter MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    MacUser seit:
    05.01.2004
    Hallo,

    wie würdet ihr das machen: In einer Produktdatenbank sollen die Maße eines Produkts gespeichert werden. Diese sollen später noch umgerechnet werden können.

    Der Clou: Es kann beliebig viele Zusätze geben, manchmal nur ein Satz, manchmal gemischt mit Zahlen (3 verschiedene Beispiele):
    Bsp:
    Code:
    1) • 10 mm Höhe
    2) • 10 mm Höhe
       • 20 mm Höhe bei Version 2
       • variable Höhenverstellung
    3) • Höhe nicht ermittelbar
    Ich hab's mir so gedacht: In der Tabelle ID, Höhe, Zusatz. Höhe kann leer sein, Trennung von mehreren Werten durch ;.

    Im Beispiel 2) sieht's dann so aus:
    Code:
    ID---Höhe------Zusatz------------------------------------------
    01   10;20;x   Höhe;Höhe bei Version 2;variable Höhenverstellung
    Fällt Euch noch etwas besseres ein? Sehr oft ist es auch nur ein Wert, jedoch können es im Einzelfall auch mal fünf sein.
     
  2. timbajr

    timbajr MacUser Mitglied

    Beiträge:
    574
    Zustimmungen:
    26
    MacUser seit:
    22.04.2005
    Mehrwertige Attribute werden in folgendermaßen umgesetzt:

    Eine Tabelle mit den "normalen" Attributen und eine zweite mit dem Primärschlüssel der ersten als Fremdschlüssel und dem jeweiligen Wert des Attributs. Dann bekommt jeder neue Attribute eine neue Zeile.

    BSP

    PK Titel
    1 Tisch

    zweite Tabelle

    PK(FK) Attribut1
    1 10mm
    1 20mm
    usw.


    Dein Vorschlag würde gegen die 1. Normalform verstoßen und somit Anomalien erzeugen (können).
     
  3. Jakob

    Jakob Thread Starter MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    MacUser seit:
    05.01.2004
    Ja, schade. Hatte die Möglichkeit extra nicht erwähnt. Dann mach ich das so. Wollte noch mehr Tabellen vermeiden… (werden wahrscheinlich um die 9 ohne die Attributentabelle) und da das ganze später noch in InDesign importiert wird, müssen da jetzt recht kreative joins her.

    Aber danke für die schnelle Antwort!
     
  4. timbajr

    timbajr MacUser Mitglied

    Beiträge:
    574
    Zustimmungen:
    26
    MacUser seit:
    22.04.2005
    na ja die anzahl der tabellen ist doch bei einem DBMS kein problem mehr heutzutage ... also ich würde dir in anderen fällen ggf zur denormalisierung raten aber auf die 1 NF würde ich schon definitiv nicht verzichten ... du ersparst dir einigen ärger ... und wenns die indizes ordentlich setzt machen auch die paar joins nix aus :)
     
  5. Jakob

    Jakob Thread Starter MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    MacUser seit:
    05.01.2004
    Ja Du hast Recht mit den Normalformen.

    Die Anzahl klein zu halten ist auch nicht für Performance oder so, sonder einzig, dass ich den Überblick behalte :)
     
  6. timbajr

    timbajr MacUser Mitglied

    Beiträge:
    574
    Zustimmungen:
    26
    MacUser seit:
    22.04.2005
    Mach dir halt nen schönes ERM oder so , dann hast doch auch den Überblick...
     
Die Seite wird geladen...

Diese Seite empfehlen