![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cześć. Wycinek prostego sklepu internetowego. W bazie są 3 rodzaje produktów: DVD, książki, meble. Dla wybranego produktu inne są pola je definiujące: dla DVD - MB, dla książki - ilość stron, dla mebli - wysokość, szerokość, głębokość. Jak najlepiej to przedstawić w bazie?
1) Tabela PRODUKTY i w niej kolumny typu: ID, nazwa, typ (DVD, książka, mebel), MB, ilość stron, szerokość, wysokość, głębokość. czy 2) Tabela PRODUKTY i oddzielne tabele na dany typ produktu: tabela PRODUKTY_DVD, PRODUKTY_KSIAZKI, PRODUKTY_MEBLE. Opcja druga wydaje mi się bez sensu i trudna w implementacji - poruszanie się po różnych pod tabelach...? Chyba niee. Ale za to opcja pierwsza wydaje się nieoptymalna, bo zawsze będą puste pola w tabeli. Pomóżcie to wymyśleć. Dzięki. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Obydwa zaproponowane przez ciebie rozwiazania sa zle.
Mniej wiecej tak to ma wygladac, pisane z palca PRODUKT id nazwa typ - kluczowe pole bo po typie bedziesz laczyl to z innymi tabelami inne podstawowe dane produktu WLASCIWOSC (w tej tabeli trzymasz jakie dodatkowe wlasciwosc ma dany typ) id typ wlasciwosc PRODUKT_WLASCIWOSC (tutaj beda trzymane konkretne wartosci wlasciwosci dla danego produktu) produkt_id wlasciwosc_id value To tylko pogladowe tabele (IMG:style_emoticons/default/smile.gif) Ale ten typ tabel jest w miare uniwersalny, pozwla ci dodawac nowe typy produktow, nowe wlasciwosci bez dodawania nowych tabel czy kolumn |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 21:37 |