Struktura bazy-wiele poziomów podkategorii

0

Witam
Jaką strukturę bazy danych wybrać do nastepujacego zadania?
Jest kilka kategorii głównych.Kazda kategoria ma kilka podkategorii, podkategorie mają tez kilka podkataegorii.I tak kilka poziomów w głab.
Dla roznych kategoriI glownych jest rozna liczba kolejnychpoziomów podkategorii.

Jaką konstrukcje bazy danych najlepiej uzyc do tego problemu?

////////////////////
Jakbykogoś kiedys zainteresowało to najlepszym rozwiazaniem jest chyba taka tabelka

id_kat|id_rodzica|nazwa|jakies tam dodatkowe arg

pozdro

0

Tak taka tabelka jest najlepsza i wtedy tylko aby przydzielić kogoś do kategori trzeba wpisać do tabeli id_kat, chyba że jedna rzecz może być w kilku kategoriach w tedy też nie ma problemu tylko zmian wymaga algorytm generujący drzewo...

0
Panczo napisał(a)

Tak taka tabelka jest najlepsza i wtedy tylko aby przydzielić kogoś do kategori trzeba wpisać do tabeli id_kat, chyba że jedna rzecz może być w kilku kategoriach w tedy też nie ma problemu tylko zmian wymaga algorytm generujący drzewo...

Pfff... jest najlatwiejsza, ale bynajmniej nie najlepsza :/. Wierzcie mi - w dwoch projektach sie tak bawie i to jest po prostu masakra jesli chodzi o ilosc wywolywanych zapytan.

Zastanawialem sie dlugo co z tym fantem zrobic, na php.pl jest artykul na ten temat, dosc obszerny, ktory jeszcze skuteczniej tlumaczy niz moje krotkie zdanie, dlaczego to rozwiazanie do optymalnego ma daleka droge. Przedstawiony w nim sposob ejst cholernie kreatywny, jednak dosyc zagmatwany, chociaz powiem szczerze, ze mi sie specjalnie nie chcialo go rozgryzac :).

0
roSzi napisał(a)

Pfff... jest najlatwiejsza, ale bynajmniej nie najlepsza :/. Wierzcie mi - w dwoch projektach sie tak bawie i to jest po prostu masakra jesli chodzi o ilosc wywolywanych zapytan.

Tu sie z Tobą zgodzę, jeżeli chodzi o ilość zapytań przy generowaniu drzewa to jest zatrważająca i z pewnego punktu widzenia bezsensowna bo zawsze w danej jednostce czasu będzie się otrzymywać to samo.
Ja to rozwiązałem w ten sposób, jak robiłem sklep internetowy to było drzewo do 8 poziomów zagłębień, w jednym z nich użyłem TreeMenu bardzo fajnego dostepnego na necie za free nazwy producenta nie pamiętam, napisanego w JavaScriptcie.
Drzewo generowalem bezposrednio z bazy jak klient był w panelu administracyjnym, natomiast użytkownicy widzieli starą strukturę dopuki admin nie wygenerował pliku *.js w którym była najnowża wersja pobrana z bazy.
Dzieki temu odciążyłem serwer a generowanie drzewa zostalo przeniesione całkowicie na stronę klienta.
Jednak w moim rozwiazaniu nie bylo takiej tabelki tylko założenie od razu było takie że klient chce maksymalnie do 8 zagłębień, więc stworzyłem słownik kategori,w tabeli towaru miałem 8 kolumn kat1..kat8 i admin decydowal ile zaglebień drzewa od 1 - 8. i towary mialy sie pokazywać od razu po prawej stronie a zagłębianie sie w drzewo mialo je tylko filtrować...

A artykuł o który mówisz będe musiał przeczytać...

1 użytkowników online, w tym zalogowanych: 0, gości: 1