Przedstawienie specyfikacji produktu w bazie |
Przedstawienie specyfikacji produktu w bazie |
15.01.2017, 20:39:51
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 15.01.2017 Ostrzeżenie: (0%) |
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. |
|
|
15.01.2017, 20:49:14
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
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 |
|
|
15.01.2017, 20:56:21
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 15.01.2017 Ostrzeżenie: (0%) |
A czy mogę rzutować wartości w jednym zapytaniu na różne typy w zależności od innego pola w tabeli?
|
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 23:00 |