Entity-Attribute-Value Table Design

Derzeit entwerfe ich eine Datenbankstruktur für den Produktbereich einer E-Commerce-Plattform. Es muss so gestaltet sein, dass es möglich ist, unendlich viele verschiedene Arten von Produkten mit unendlich vielen verschiedenen Attributen zu verkaufen.

Z.B. Die Attribute eines Laptops wären RAM, Bildschirmgröße, Gewicht usw. Die Attribute eines Buches wären Autor, ISBN, Verlag usw.

Es scheint, als wäre eine EAV-Struktur am besten geeignet.

Wähle ein ProduktProdukt gehört zum Attribut-SetDer Attributsatz enthält die Attribute x und yAttribut x ist der Datentyp datetime (in attribute_values_datetime gespeicherte Werte)Attribut y ist der Datentyp int (Werte in attribute_values_int gespeichert)Jede Attributdefinition bezeichnet den Typ (i, e, x hat Spaltentyp -> Datentyp)

Unter der Annahme des Obigen könnte ich die Auswahl mit der Tabelle attribute_values_datetime verknüpfen, um die richtigen Daten abzurufen, ohne die Ergebnismenge abzurufen und eine zweite Abfrage zu erstellen, sobald die Tabelle bekannt ist? Wäre es ein großer Leistungstreffer, wenn eine Abfrage dieses Typs erstellt würde, oder wäre das Folgende geeigneter (obwohl weniger funktional)?

Wähle ein ProduktProdukt gehört zum Attribut-SetDer Attributsatz enthält die Attribute x und yAttribut x ist der Datentyp datetime, wird jedoch in attribute_values ​​als TEXT gespeichertDas Attribut y ist vom Datentyp int, wird jedoch in attribute_values ​​als TEXT gespeichert

Antworten auf die Frage(3)

Ihre Antwort auf die Frage