Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przedstawienie specyfikacji produktu w bazie
Forum PHP.pl > Forum > Bazy danych > MySQL
tojejo
Witam, mam pytanie dotyczące projektowania bazy danych a mianowicie, mam produkty w sklepie każdy z nich może mieć różne parametry np. Do TV może być to ilość cali a do laptopa typ dysku.
I pytanie jest jak poprawnie zaprojektować taką bazę?

Największy kłopot tutaj mam z różnymi rodzajami parametrów, jedne to są liczby inne tekst itp. a zależy mi na filtrowaniu danych np. TV od 30 do 50 cali.

Z góry dziękuję za pomoc.
phpion
By całość była uniwersalna i elastyczna powinieneś wartości parametrów trzymać w zwykłym polu tekstowym. Każdy parametr natomiast powinien mieć identyfikator typu danych (np. 1 to ciąg znaków, 2 to liczba). By prawidłowo zrealizować wyszukiwanie powinieneś odpowiednio rzutować dane wartości parametru (funkcja CAST) na odpowiedni typ danych i stosować operatory właściwe dla typu danych (np. dla 1 LIKE, dla 2 BETWEEN).

Inny problem to to czy produkt z zestawem parametrów ABC odniesieniu do tego samego produktu z parametrami XYZ to osobny rekord w bazie czy nie. Przykładowo: ubrania czy obuwie można robić jako 1 produkt bo atrybuty (kolor czy rozmiar) nie maja wpływu na cenę, natomiast w przypadku laptopów ten sam sprzęt ale o innych parametrach będzie miał różne ceny. Każde rozwiązanie ma swoje plusy i minusy, nie ma moim zdaniem złotego środka. Można oczywiście połączyć te 2 podejścia ale wtedy robi sie mała rzeźnia smile.gif
tojejo
A czy mogę rzutować wartości w jednym zapytaniu na różne typy w zależności od innego pola w tabeli?
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.