Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> drzewka sqlowe
chmolu
post
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

Ostrzeżenie: (0%)
-----


Witam,

Piszę ten temat bo ogarnęła mnie już całkowita niemoc. Próbuję zaimplementować jakiś sensowny algorytm drzewek do mojego CMFa. Nie chcę korzystać z Nested Sets (left, right), bo to kompletnie nie nadaje się do większych drzew.

Znalazłem coś takiego:
http://fungus.teststation.com/%7Ejon/treeh...reeHandling.htm

Metoda bardzo fajna, ale utknąłem na jednej bardzo istotnej rzeczy - wyświetlaniu drzewa. Teoretycznie, zgodnie z tym co piszą w artykule, by pobrać drzewo (lub daną część drzewa) wystarczy użyć zapytania:

Select Id from Path where AncestorId = 2

Przypuśćmy, że drzewo wygląda tak:
Kod
      rośliny (1)
        / \
      /     \
    /         \
  /             \
owoce(2)  warzywa(3)
    /
  /
banan(4)              


(gdzie cyfry w nawiasach to numery ID elementów -- 'banan' został dodany później niż 'warzywa'). W tym wypadku, używając powyższego zapytania dostanę:

Kod
Rośliny
    Owoce
    Warzywa
       Banan


Czy jest jakiś sensowny sposób, by pobrać odpowiednio posortowane drzewo korzystając z powyższego przykładu?

A może znacie jakieś inne efektywne sposoby przechowywania drzew w bazie danych? Zależy mi przede wszystkim na efektywności i elastyczności. Nested Sets odpadają (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bigZbig
post
Post #2





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(Levabul @ 2006-01-17 21:58:50)
Nie rozumiem trochę zastosowań drzewa. Jak w jednej tabeli można przechowywać  zarówno newsy, jak i artykuły i bóg wie co jeszcze ? Przecież każdy z tych przykładów potrzebuje innych danych.


Newsy od artykułów, postów i komentarzy nie różnią się w brew pozorom, aż tak wieloma elementami. Każdy ma tytuł, treść, date dodania, autora itd. Osobiscie nie zdecydowalbym sie na trzymanie artow, newsow i postow w jednej tabeli, ale na przyklad tematy forum i posty jak najbardziej. Nie widze przeciwskazan do tego by zbudowac system newsow z podzialem na kategorie i komentarze i wszystko to trzymac w jednej tabeli.

Ja tam widze wiele zastosowan dla struktur drzewiastych np. artykuły - jak masz prosciutkie teksty to wrzucasz je jako pojedynczy artykuly, ale jakbys chcial opublikowac wieksza prace to podzial na rozdzialy, podrozdzialy, punkty przywoluje automatycznie na mysl strukture drzewiasta. Czym ze jest menu (mowa oczywiscie o bardziej rozbudowanym menu) jak nie struktura drzewiasta?

Cytat(Levabul @ 2006-01-17 21:58:50)
Można by wprawdzie w drzewie dodać pole table mówiąze w jakiej tabeli znajduje się dany news, artykuł itp., ale mija się to z ideą drzewa :/
A dlaczego nie. Tabela z drzewem przechowuje jedynie najwazniejsze informacje wspolne dla wszystkich elementow drzewa, a pozostale informacje przechowywane sa juz w innych tabelach. Najczesciej bedziesz sie do nich odwolywal wybierajac konkretny element bo do przedstawienia drzewa zaleznosci calkowicie wystarcza informacje wspolne takie jak tytul.
Go to the top of the page
+Quote Post

Posty w temacie
- chmolu   drzewka sqlowe   1.09.2005, 20:50:33
- - sf   co zas odpadaja? poprostu trzeba dodac n-level i ...   1.09.2005, 20:58:59
- - hwao   Ja kozystam z "przerobionych" drzewek ip...   1.09.2005, 21:08:02
- - chmolu   Cytatco zas odpadaja? winksmiley.jpg poprostu trze...   1.09.2005, 21:29:39
- - DeyV   Najlepsze znane (przynajmniej mi) drzewko to drzew...   1.09.2005, 21:34:57
- - Ace   DeyV, tez uzywam drzewka depeszy ;] z tym ze na my...   1.09.2005, 23:08:54
- - chmolu   Przyjrzałem się dokładniej rozwiązaniu depesza. Z ...   2.09.2005, 19:05:40
- - aleksander   ja potwierdzam, ze drzewka IP sa dosyc dobre. Nie ...   2.09.2005, 19:37:49
- - chmolu   drzewka IP? co to oznacza? Immediate Parent?   2.09.2005, 19:42:45
- - aleksander   to drzewka, ktorych galezie rpzedzielone sa dzieln...   2.09.2005, 19:44:23
- - Levabul   Nigdy nie wiedziałem w czym tkwi problem z drzewka...   2.09.2005, 19:49:31
- - SongoQ   Cytatto drzewka, ktorych galezie rpzedzielone sa d...   2.09.2005, 20:02:05
- - chmolu   Cytatto drzewka, ktorych galezie rpzedzielone sa d...   2.09.2005, 20:02:35
- - aleksander   ja u siebie jedna funkcja zrzucam drzewka do pliku...   2.09.2005, 20:03:37
- - SongoQ   Cytatja u siebie jedna funkcja zrzucam drzewka do ...   2.09.2005, 20:06:22
- - hwao   Ja mam to tak: http://windforce.strefaphp.net/code...   3.09.2005, 09:20:30
- - aleksander   Cytat(SongoQ @ 2005-09-02 21:06:22)Cytat ja u...   3.09.2005, 09:48:51
- - chmolu   Sprawdźmy, czy dobrze rozumuję: Kod rośliny ...   3.09.2005, 09:52:47
- - hwao   CytatCo do pobierania drzewa, to chyba będzie to c...   3.09.2005, 10:13:20
- - Ociu   Ja się właśnie zastanawiałem którą z metod użyć i ...   3.09.2005, 11:18:33
- - chmolu   CytatTo jest calego drzewka w gore:) Jak to w górę...   3.09.2005, 11:33:46
- - aleksander   no i o to hwao chodzi:)   3.09.2005, 11:48:26
- - kirkor0   A gdyby pobrał path i potem explodem podzielił pr...   3.09.2005, 12:15:24
- - hwao   a ile to bedzie zapytan do bazy danych policz Jak...   3.09.2005, 12:29:00
- - kirkor0   jedno zapytanie, które zwraca wszystkie wiersze j...   3.09.2005, 12:33:20
- - sf   ze sciezka zapisywana jako string jest taki proble...   3.09.2005, 12:52:43
- - kirkor0   Co do przenoszenia to mgłobybyć UPDATE z odpowiedn...   3.09.2005, 13:36:03
- - aleksander   by the way, jezeli chcesz uzystac parenta w drzewk...   3.09.2005, 22:48:02
- - kirkor0   Cytat(aleksander @ 2005-09-03 23:48:02)kirkor...   5.09.2005, 19:51:29
- - Strzałek   zainteresowałem się ostatnio trochę drzewkami i tr...   20.09.2005, 19:20:17
- - Bartech   Osobiście uważam temat drzewka za trudny i zdradli...   23.09.2005, 15:49:32
- - chmolu   A nie lepiej byłoby podzielić się tym ze wszystkim...   23.09.2005, 17:06:59
- - teles   Moja wersja drzewka robi wszystko co trzeba, przes...   24.09.2005, 00:23:08
- - bela_666   teles pełno, wystarczy poszukać   24.09.2005, 00:27:52
- - Bora   Cytat(hwao @ 2005-09-03 10:13:20)CytatCo do p...   29.09.2005, 01:13:33
- - SongoQ   Cytatale wyświetlanie jest rekurencyjnami zapytani...   29.09.2005, 17:03:14
- - hawk   Zamiast Nested Sets polecam Nested Intervals. Odpa...   29.09.2005, 20:43:37
- - bela_666   hawk, link jest w komentarzach do artykułu o drzew...   29.09.2005, 22:07:53
- - bigZbig   Nested sets (zbiory zagnieżdżone) to ciekawy mecha...   11.01.2006, 14:58:57
- - Levabul   Nie rozumiem trochę zastosowań drzewa. Jak w jedne...   17.01.2006, 20:58:50
- - bigZbig   Cytat(Levabul @ 2006-01-17 21:58:50)Nie rozum...   17.01.2006, 21:42:47
- - AxZx   moglbys ktos podrzucic jakas fajna klase do obslug...   24.01.2006, 22:51:24
- - bela_666   Ja publikowałem na forum jakiś szkic na forum.   24.01.2006, 23:21:55
- - NuLL   Czy ktos probowal moze przesuwac wezly drzewka met...   20.04.2006, 15:43:01
- - scanner   @NuLL: tak, ja - pokazywałem nawet działanie na fo...   20.04.2006, 18:43:19
- - ympans   CytatNigdy nie wiedziałem w czym tkwi problem z dr...   8.10.2006, 17:26:20


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 09:17