![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 14.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z zaprojektowaniem bazy danych. Mianowicie mamy standardowy pomysł (tabele: kategorie, produkty, kategorie-produkty - do relacji wiele do wielu). I przykładowo kategorie wyglądają tak: Obraz > Monitory > LCD > 17 cali Obraz > Monitory > LCD > 19 cali Obraz > Monitory > CRT > 15 cali Obraz > Monitory > CRT > 17 cali Obraz > Karty graficzne Użytkownik klika na, powiedzmy, 17 cali (z LCD) i wyświetlają mu się produkty powiązane z tą kategorią. Tylko pytanie, co zrobić (jak wyglądają sprawdzone rozwiązania), żeby optymalnie wyświetlać produkty należące do jakiejkolwiek podkategorii należącej do wybranej np. LCD, Monitorów, czy Obrazu (czyli klikam na Obraz i mają wyświetlić się monitory LCD 17 calowe, karty graficzne, itd.). Na myśl przychodzą mi na razie 2 rozwiązania: a) rekurencyjne zapytania bezpośrednio w PHP - wadą dużą jest niedopuszczalne multum zapytań, jeśli kategorii jest sporo albo po prostu wybrano jedną z głównych kategorii, która obejmuje wiele podkategorii B) stworzyć pomocniczą tabelę uzupełnianą przy każdej edycji drzewa kategorii / zmiany położenia produktu, która będzie wiązać każdy produkt na ścieżce od kategorii, do której produkt należy do korzenia drzewa kategorii (czyli monitor 17 calowy powiąże dodatkowo z kategoriami: 17 cali, LCD, Monitory, Obraz) - wadą tutaj jest multum rekordów przy większym sklepie i sporo babrania, żeby zapewnić spójność i poprawność bazy przy edycji drzewa kategorii czy zmiany kategorii produktów Co o tym myślicie? Jakieś doświadczenia z tym związane? A może macie jakieś sprawdzone rozwiązania? Z góry dziękuję za odpowiedzi. Ten post edytował Thomashek 5.02.2009, 11:17:29 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 3.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
polecam zapoznać się z tymi dwoma artykułami:
http://blog.mwojcik.pl/2008/02/17/drzewa-k...toda-ip/#header http://www.depesz.com/various/various-sqltrees.php i wybrać metodę, która najbardziej Ci odpowiada pzdr |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:25 |