![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 17.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki problem: chcialbym dac userowi mozliwosc porownywania produktow, co niesie za soba rozbicie wlasciwosci produktow na pola. Wszystko jest ok do momentu, gdy sa to 2 produkty z roznymi wlasciwosciami. Chcialbym dodatkowo dynamicznie dodawac kolejne wlasciwosci produktu. Pomyslalem ze zrobie tak: id_prod | id_kat | nazwa - tabela z postawowymi informacjami wspolnymi dla wsyzstkich produktow id_wlasciwosci | wlasciwoscie_dla_kategorii | wymiary | pojemnosc | zoom itd. - tabela ze wzroem wlasciwosci dla danej kategorii id_prod | id_wlasciwosci | pole1 | pole2 | pole3 itd. - powiazanie produktu z wlasciwosciami oraz dane dla wlasciwosci Na 1 rzut oka wydaje mi sie to najsensowniejsze, problem z dodaniem nowej wlasciwosci do produktu - zawsze musi byc stala liczba pol. Jak to rozsadnie rozwiazac? Ten post edytował m.b 27.04.2007, 15:54:43 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
potrzebujesz 3 tabel: 1) PRODUKT (z podstawowym opisem bez właściwości) 2) WŁAŚCIWOŚCI (słownik właściwości dostępnych w systemie -> [ID_WŁAŚCIWOŚCI, NAZWA] ) 3) POWIĄZANIE (określa jaki produkt posiada jakie właściwości -> [ID_PRODUKT, ID_WŁAŚCIWOŚCI, WARTOŚĆ_WŁAŚCIWOŚCI] w ten sposób nie ograniczasz sobie w żaden sposób ilości właściwości dla produktów. Pozdrawiam, VALHARD |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 17.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki wielkie, widze ze na okolo podchodzilem do problemu, a rozwiazanie jest banalne.
Pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Sorry, że odkopuje stary temat, ale on najbardziej pasuje do mojego problemu.
Mam podobną sytuację jak kolega, z tym że u mnie właściwości mogą mieć postać np. boola, liczby integer, double, krótkiej czy długiej wartości tekstowej, w przyszłości np. większego bloba. Czy efektywne z punktu widzenia silnika bazy danych jest przechowywanie wartości tych właściwości powiedzmy w varchar(4096)? Czy może porobić w jednej tabeli kolumny int_val, string_val, double_var w odpowiednich typach i tylko jedną wypełniać w zależności od typu właściwości, czy wreszcie może zastosować takie rozwiązanie jak na rysunku poniżej. ![]() ![]() Załóżmy że w bazie będzie 100.000 produktów, każdy średnio po 10 różnych właściwości, a samych właściwości w sumie koło 200. Z góry dzięki za opinie która wersja lepsza:) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:10 |