Radzio84
6.02.2008, 09:18:34
Muszę stworzyć tabelę dla produktów w sklepie internetowym, ale mam problem, ponieważ produkty mają różne cechy, np.
torebki:
-kolor
-szerokość
-wysokość
-długość
paski:
-kolor
-szerokość
-dł. całkowita
-szerokość klamerki
Zastanawiam się w jaki sposób to najlepiej rozwiązać. Czy dać jedną dużą tabelę z wszystkimi polami i wpisywać tylko te wartości, które są dla danego produktu, czy stworzyć jakąś dodatkową tabelę? Proszę o jakieś sugestie. :-)
Maciekbjw
6.02.2008, 09:36:41
Wg mnie, powinieneś stworzyć dwie tabele, ale to też zależy od tego, ile rekordów będziesz tam przechowywał.
Jeśli nie miliony, to dwie spokojnie możesz zrobić, a jeśli więcej, to lepiej zrobić jedną. Dlaczego? Ponieważ przy ~1 milionie rekordów widoczna będzie już różnica pomiędzy jednym a dwoma zapytaniami.
Poczytaj o normalizacji baz danych:
http://pl.wikipedia.org/wiki/Normalizacja_bazy_danych
specialplan
6.02.2008, 10:10:29
Ja tu widze dwie tabelki. Jedna z torebkami, druga z paskami.
Kicok
6.02.2008, 14:36:15
A ja tu widzę 2 tabelki. Jedna z produktami ( id_produktu, nazwa, cena, itd ), a druga z cechami produktu ( id_produktu, cecha_nazwa, cecha_wartość )
Radzio84
6.02.2008, 20:12:11
Dziękuję za odpowiedzi. Prawdopodobnie stworzę jedno pole w tabeli PRODUKTY i bedę tam wrzucał string z cechami produktów. Później funkcją explode powyciągam poszczególne atrybuty. Trochę przekombinowany sposób, ale niestety rodzaje produktów będą dodawane do tabeli, więc nie będę tworzył osobnych tabel dla każdego rodzaju produktu.
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.