Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie würden Sie die Varianz der Datenvariablen nach einem gemeinsamen Schema modellieren? SQL

Wie viele Produkttypen erwarten Sie? Haben sie jeweils ihre eigene Anwendungslogik?

Sie können ein verallgemeinertes Modell namens „Entitätsattributwert“-Modell verwenden, aber es hat viele Fallstricke, wenn Sie versuchen, mit bestimmten Eigenschaften eines Produkts umzugehen. Einfache Suchanfragen werden manchmal zu echten Alpträumen. Die Grundidee ist, dass Sie eine Tabelle haben, die die Produkt-ID, den Eigenschaftsnamen (oder die ID in einer Eigenschaftstabelle) und den Wert enthält. Sie können auch Tabellen hinzufügen, um Vorlagen für jeden Produkttyp zu speichern. Ein Tabellensatz würde Ihnen also für jedes bestimmte Produkt sagen, welche Eigenschaften es haben kann (möglicherweise zusammen mit gültigen Wertebereichen), und ein anderer Tabellensatz würde Ihnen für jedes einzelne Produkt sagen, was die Werte sind.

Ich würde jedoch dringend davor warnen, dieses Modell zu verwenden, da es wie eine wirklich raffinierte Idee erscheint, bis Sie es tatsächlich implementieren müssen.

Wenn die Anzahl Ihrer Produkttypen begrenzt ist, würde ich Ihre zweite Lösung wählen – eine Hauptprodukttabelle mit Basisattributen und dann zusätzliche Tabellen für jeden spezifischen Produkttyp.