Ich bin gerade dabei, eine Datenbank zu entwerfen, und habe Bedenken hinsichtlich meiner anfänglichen Entwurfsentscheidungen ...
Die Produkttypen sind wie folgt: Modelle, Teile, Ersatzteilsätze und Optionen.
Option A (erster Entwurf): Ich plante, separate Tabellen für die oben genannten Produkttypen zu haben. Ich würde sagen, dass 75% der Felder in jeder Tabelle gleich sind.
Ich habe jeden Produkttyp als separate Tabellen erstellt, da ich zwischen ihnen Verknüpfungen erstellen muss. Zum Beispiel kann ein Modell viele Optionen haben und eine Option kann viele Modelle haben. Eine Option kann auch viele Teile haben und ein Teil kann viele Optionen haben ... und so weiter ...
Option B: Anstatt separate Tabellen zu haben, könnte ich eine Tabelle mit dem Namen Product erstellen, die Modell-, Teil-, Ersatzteil-Kits und Optionen umfasst. Ich könnte ein Feld mit dem Namen Typ haben, um zwischen Modell, Optionen usw. zu unterscheiden. Ich nehme an, dass mehrere Felder für bestimmte Produkttypen niemals verwendet werden (Null). Ich vermute, dass hier "nicht die besten Praktiken" ins Spiel kommen würden.
Option B würde die Komplexität des Datenbankentwurfs erheblich verringern. Ich würde mir auch keine Sorgen machen müssen, wenn ich Daten für Abfragen aus einer Reihe von Tabellen abrufen würde ...