Hallo,
ich habe mal eine Frage zu einem Datenbankdesign. Es handelt sich um eine Datenbank für Autos.
Jedes Auto soll sowohl gemeinsame Felder (ID, NAME, DETAILS,... werden ca. 20 Felder), als auch unterschiedliche Felder haben. Die Autos sollen in verschiedene Gruppen aufgeteilt werden(CABRIOLET, TRANSPORTER, COUPE, GELÄNDEWAGEN,... werden ca. 8 Gruppen).
Nun ist ja klar das das Feld "DACHTRÄGER" nicht in der Tabelle CABRIOT zu finden sein soll. Aber z.b. Farbe sollte jeder Fahrzeugtyp als Feld haben.
Nun meine Frage, in welcher Form soll ich die Tabellen in der Datenbank anlegen? Auf Anhieb fallen mir 3 Möglichkeiten ein.
1. Alle Felder werden in eine Tabelle geschrieben und es werden einfach Felder beim füllen freigelassen. Die Autogruppen sollen über eine Extratabelle identifiziert werden.
Vorteil wäre dabei der geringe Arbeitsaufwandt für mich und die einfach gestaltbareren Abfragen. Allerdings hat dieses Modell wohl nichts mehr mit einer relationalen Datenbank zu tun.
2.Jede "Autogruppe" bekommt eine eigene Tabelle, in die auch die gemeinsamen Felder, sowie Name, beschreibung usw. geschrieben werden. Das bringt natürlich mit sich, das viel komplexere Abfragen stattfinden müßten,z.B. bei einer Volltextsuche im Frontend, oder im Administrationsbereich. Außerdem scheint mir der Lösungsansatz auch relativ redundant.
3.Es gibt eine Tabelle die die gemeinsamen Daten beinhaltet und dann zu jeder Autogruppe eine zusätzliche Tabelle, die die individuellen Daten beinhaltet. Auch hier sollen die Autogruppen über eine Extratabelle identifiziert werden. Dabei wäre aber z.B. Dachträger auch in mehreren Tabellen, bloß in einer nicht (Cabriot). Also scheint das Modell auch redundant zu sein.
Zwar könnte ich eine zusätzliche Tabelle anlegen, die die Attribute die quasi nur boolean werte liefern, speichert, aber es gibt auch Felder die nicht jede Gruppe haben soll und die gefüllt werden muß, z.B. mit einem Preis(double).
Mir ist klar das meine Überlegungen vielleicht nicht alle nachvollziehbar sind, über Denkanstöße oder weitere Lösungsansätze wäre ich aber dankbar.
mfg
pillepalle
ich habe mal eine Frage zu einem Datenbankdesign. Es handelt sich um eine Datenbank für Autos.
Jedes Auto soll sowohl gemeinsame Felder (ID, NAME, DETAILS,... werden ca. 20 Felder), als auch unterschiedliche Felder haben. Die Autos sollen in verschiedene Gruppen aufgeteilt werden(CABRIOLET, TRANSPORTER, COUPE, GELÄNDEWAGEN,... werden ca. 8 Gruppen).
Nun ist ja klar das das Feld "DACHTRÄGER" nicht in der Tabelle CABRIOT zu finden sein soll. Aber z.b. Farbe sollte jeder Fahrzeugtyp als Feld haben.
Nun meine Frage, in welcher Form soll ich die Tabellen in der Datenbank anlegen? Auf Anhieb fallen mir 3 Möglichkeiten ein.
1. Alle Felder werden in eine Tabelle geschrieben und es werden einfach Felder beim füllen freigelassen. Die Autogruppen sollen über eine Extratabelle identifiziert werden.
Vorteil wäre dabei der geringe Arbeitsaufwandt für mich und die einfach gestaltbareren Abfragen. Allerdings hat dieses Modell wohl nichts mehr mit einer relationalen Datenbank zu tun.
2.Jede "Autogruppe" bekommt eine eigene Tabelle, in die auch die gemeinsamen Felder, sowie Name, beschreibung usw. geschrieben werden. Das bringt natürlich mit sich, das viel komplexere Abfragen stattfinden müßten,z.B. bei einer Volltextsuche im Frontend, oder im Administrationsbereich. Außerdem scheint mir der Lösungsansatz auch relativ redundant.
3.Es gibt eine Tabelle die die gemeinsamen Daten beinhaltet und dann zu jeder Autogruppe eine zusätzliche Tabelle, die die individuellen Daten beinhaltet. Auch hier sollen die Autogruppen über eine Extratabelle identifiziert werden. Dabei wäre aber z.B. Dachträger auch in mehreren Tabellen, bloß in einer nicht (Cabriot). Also scheint das Modell auch redundant zu sein.
Zwar könnte ich eine zusätzliche Tabelle anlegen, die die Attribute die quasi nur boolean werte liefern, speichert, aber es gibt auch Felder die nicht jede Gruppe haben soll und die gefüllt werden muß, z.B. mit einem Preis(double).
Mir ist klar das meine Überlegungen vielleicht nicht alle nachvollziehbar sind, über Denkanstöße oder weitere Lösungsansätze wäre ich aber dankbar.
mfg
pillepalle
Kommentar