Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cechy produktu, jak zaprojektowac ?
Forum PHP.pl > Forum > Bazy danych > MySQL
grOm
Witam,

mam problem z zaprojektowaniem tabeli product_details, którą chce wyświetlać przy prezentacji produktu.
Ma zawierać product_id, cecha i wartosc np. (1, przekątna, 22 | 1, pobor mocy, 200) itp.

Chciałem sie zapytać czy dobrze myślę jak to będzie wpływało na wydajność
przypuśćmy ze przy dodawaniu produktu wpisze 20 cech, wtedy trzeba dodać 20 rekordów, pózniej żeby to wyświetlić muszę przeszukać tabele po ajdi produktu i wyświetlić to co znajdę,
ale boję się ze jak będę miał 100-200 produktów w sklepie i do każdego 20 cech przeszukiwanie/dodawanie będzie trwało wieki czy się mylę ?

Poza tym drugi problem to napisanie porównywania produktów po tych cechach wtedy dodatkowo musze przeszukiwać bazę żeby znalazła tylko powtarzające się cechy czy tak to po prostu wygląda w dużych aplikacjach czy są jakieś sposoby na to ?
Crozin
1) Produkt: id, nazwa, ...
2) Cecha: id, nazwa, ...
3) Produkt_cecha: produkt_id, cecha_id, wartosc

Ewentualnie możesz to zrobić nawet tak:
1) Produkt: id, nazwa, ...
2) Cecha: id, nazwa, ...
3) Wartosc: id, cecha_id, wartosc
4) Produkt_cecha: produkt_id, cecha_id, wartosc_id

Kolejna relacja, a w przypadku gdy wartościami są opisy (ogólnie jakiś tekst) i dwa pewnej ilości produktów powtarzają się one może ot odciążyć bazę. W dodatku łatwiej jest pobrać wtedy wszystkie istniejące w sklepie wartości co napewno będzie przydatne przy tworzeniu wyszukiwarki po cechach.

I przede wszystkim trzeba założyć poprawne indeksy.

PS. Oczywiście można pomyśleć nad cache
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.