dedlfix: Objekteigenschaften in Datenbank speichern

Beitrag lesen

Tach!

Ich brauche dazu drei Tabellen:

  • Smartphone-Modelle
  • Eigenschaften
  • Verknüpfung Modelle - Eigenschaften n:n

Das typische EAV-Modell.

So wie ich EAV bisher begriffen habe, wird dabei eine Tabelle mit drei Spalten verwendet. Nicht aber wie Linuchs vorschlägt 3 Tabellen.

Du meinst das, was Linuchs als die dritte aufgeführt hat, das V. Aber man braucht schon noch die erste Tabelle als die, die das Ding beschreibt, dessen Eigenschaftswerte in Tabelle 3 stehen. Fachbegriff für das Ding ist Entität, also E. Und Tabelle 2 braucht es, um die Eigenschaften mit deren Metadaten zu verwalten, also A.

Man kann zur Not auf A verzichten, muss dann aber immer Tabelle V scannen, um alle Eigenschaftsnamen zu erhalten. Aber das wird dann noch unhandlicher, als das EAV-Model schon ist.

In der Praxis sieht es sogar noch so aus, dass man mitunter mehrere V-Tabellen hat, je Datentyp eine, damit man nicht alle Nicht-Strings serialisieren oder als Literal speichern muss. Daraus ergibt sich meist auch, mehrere A-Tabellen zu haben, um die referenzielle Integrität mit Fremdschlüssel-Beziehungen sicherstellen zu können.

dedlfix.