Projektowanie tabeli atrybut-jednostka-wartość

Obecnie projektuję strukturę bazy danych dla sekcji produktów platformy e-commerce. Musi być zaprojektowany w taki sposób, aby umożliwić sprzedaż nieskończonej liczby różnych typów produktów o nieskończonej liczbie różnych atrybutów.

Na przykład. Atrybuty laptopa to RAM, rozmiar ekranu, waga itp. Atrybuty książki to Autor, ISBN, Wydawca itp.

Wygląda na to, że struktura EAV byłaby najbardziej odpowiednia.

Wybierz produktProdukt należy do zestawu atrybutówZestaw atrybutów zawiera atrybuty x i yAtrybut x to typ danych datetime (wartości przechowywane w attribute_values_datetime)Atrybut y to typ danych int (wartości przechowywane w atrybut_values_int)Każda definicja atrybutu oznacza typ (i, e, x ma typ kolumny -> typ danych)

Zakładając powyższe, czy mogę dołączyć wybór do tabeli attribute_values_datetime, aby uzyskać właściwe dane bez pobierania zestawu wyników i budowania drugiego zapytania teraz, gdy tabela jest znana? Czy pojawiłoby się duże uderzenie wydajności w konstruowaniu zapytania tego typu lub czy poniżej byłoby bardziej odpowiednie (choć mniej funkcjonalne)

Wybierz produktProdukt należy do zestawu atrybutówZestaw atrybutów zawiera atrybuty x i yAtrybut x to typ danych datetime, ale przechowywany jako TEXT w wartości_atrybutuAtrybut y to typ danych int, ale przechowywany jako TEXT w wartości_atrybutu

questionAnswers(3)

yourAnswerToTheQuestion