optionale Zusätze zu Feldern

Jakob

Aktives Mitglied
Thread Starter
Dabei seit
05.01.2004
Beiträge
1.070
Reaktionspunkte
21
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.
 
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).
 
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!
 
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 :)
 
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 :)
 
Mach dir halt nen schönes ERM oder so , dann hast doch auch den Überblick...
 
Zurück
Oben Unten