![]() |
![]() |
![]() ![]()
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. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 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 ![]() |
|
|
![]()
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: 14.08.2025 - 09:12 |