Różne produkty, różne cechy

0

Muszę utworzyć bazę danych dla różnych produktów przy czym każdy produkt może należeć do wybranej grupy i w zależności od tej grupy może mieć różne cechy (za pomocą nich będą mogły być filtrowane produkty). Mam taki pomysł, żeby utworzyć do tego takie dwie tabele (połączone z resztą odpowiednimi relacjami)

cechy
id|wartosci

wartosci
id|wartosc

gdzie wartosci bedzie oznaczalo mozliwe wartosci (informacja, czy to jest lista, liczba, czy tekst) natomiast wartosc będzie już odpowiednią wartością. Ta dwa pola byłyby typu tekstowego, ale nie wydaje mi się to najlepszym rozwiązaniem. Macie jakieś sugestie?

0

W większości baz danych przechowywanie list jest nieefektywne. Zamiast tego należy przechowywać poszczególne wartości w osobnych krotkach.

0

Czyli mam utworzyć tyle pól ile maksymalnie produkt mieć cech i te, które będą niepotrzebne zostawiać puste?

0

Krotka to inaczej rekord, a nie pole. Tworzenie pól dla każdej cechy to zdecydowanie złe rozwiązanie.

0

No dobrze, ale bardziej mnie zastanawia jak efektywnie przechowywać cechy, a nie ich opis. Masz jakieś sugestie?

0

Tabela Cechy: id, nazwa
Tabela WartosciCech: id, id_cechy, id_produktu, wartosc

Dla listy wartości dla jednej cechy i jednego produktu proponuję umieścić każdą wartość z listy w osobnym rekordzie. Następnie po pobraniu wartości sprawdzamy czy dostaliśmy jeden rekord czy wiele i dostosowujemy sposób prezentacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1