![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 3 Dołączył: 31.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Od jakiegoś czasu przybierałem się do pisania małego systemu - "niestety" jak to zwykle bywa projekt trochę się rozrósł. Wymyśliłem, że będzie dostępnych kilka typów "contentu", mianowicie: zwykła strona (tekst z bazy), moduł (moduł to np. księga gości, formularz kontaktowy), widok (renderowanie jakiegoś pliku). Dajmy na to tabela "struktura" porządkująca "content". Z wykorzystaniem nested tree bo to chyba najlepsze rozwiązanie(?). - id elementu - nazwa - typ - lft - rgt W praktyce takie drzewko ma wyglądać tak: Kod root artykuły php oop sql jakaś podstrona - np. zrenderowany widok formularz kontaktowy - no i to jest moduł znów sobie jakas podstrona - tym razem tekst z bazy I dla każdego typu tabela z potrzebnymi informacjami jak np. nazwa modułu, czy plik widoku. Konkretnie chodzi mi o uzyskanie takiej struktury danych jak np. tu na stronie http://www.typolight.org/ . Jak już przy TL jestem to powiem, że chciałem z niego trochę zaczerpnąć, jednak tam jest to dość bardziej rozbudowane od tego, czego potrzebuję, a nie chciałbym przekombinować na początku. Podsumowując, chciałbym się dowiedzieć jakie informacje trzymać w drzewie, a jakie poza nim. Mile widziane jest również wytknięcie wad takiego rozwiązania oraz ciekawe pomysły ![]() Ten post edytował Komunista 1.07.2009, 21:23:43 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Wygooglaj sobie temat mysql drzewka, jest tego troszkę. [;
Cytat Podsumowując, chciałbym się dowiedzieć jakie informacje trzymać w drzewie, A jaśniej? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 3 Dołączył: 31.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie chodzi o ocenę mojej koncepcji bo sam już nie wiem jak to ugryźć
![]() Z samym wdrożeniem nie powinno być problemu, chodzi o to czy idę dobra drogą Ten post edytował Komunista 1.07.2009, 21:32:20 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jest kilka koncepcji drzewek; IMHO najlepszą w implementacji (wydajność) jest struktura z zapisywaniem kolejności oraz zagłębienia danych pozycji.
Fakt, funkcje zarządzające (przenoszenie, kasowanie) wymagają rozpisania, ale poszukiwanie np. rodzica, czy dzieci w takim drzewku jest błyskawiczne. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 3 Dołączył: 31.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Z tym jak wspominałem powinienem sobie poradzić, chcę to najpierw jakoś sensownie zaplanować.
Dodaję element do drzewa, elementy mają wspólne atrybuty takie jak np. layout, i teraz zastanawiam się czy nie utworzyć tabel: struktura - id, położenie elementy - id elementu, typ, atrybuty i osobne tabele dla każdego typu elementów Czy wrzucić typ i atrybuty do struktury. Przeglądając różne źródła widziałem, że i różne typy danych bywały w jednej tabeli, jakoś mi się to nie podobało, jednak całość działała. I stąd te moje rozterki bo przyznam (zresztą to widać), że na projektowaniu baz danych się nie znam. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Dlatego trzeba ogarnąć kilka różnych koncepcji, ja używam np. tej:
http://blog.mwojcik.pl/2008/02/17/drzewa-k...-php-metoda-ip/ |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Korzystam z zagnieżdżonych drzew (ang. nested sets). Zapisuję także ID drzewa nadrzędnego, aby potem odbudować strukturę. Kod odbudowy: http://webcm.pastebin.pl/9744
Ten post edytował WebCM 2.07.2009, 10:10:54 -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ok, ale zobacz, ile zapytań musisz wywołać w celu skonstruowania drzewa.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:51 |