drzewa w sql’u – ltree

uwaga – ta metoda jest tylko i wyłącznie dla postgresql’a, gdyż wykorzystuje niestandarodwy typ danych obecny (jako moduł w contribie) jedynie w postgresie. jak ltree działa nie będę opisywał bo od tego jest manual do ltree. baza do ltree jest trywialna, przykładowo, oryginalne, testowe drzewo: zapisujemy tak: # create table tree_ltree ( id int4 primary … Continue reading “drzewa w sql’u – ltree”

drzewa w sql’u – metoda pełnych ścieżek (metoda nr. 5 w/g starego tekstu)

oj. od ostatniego tekstu nt. drzew już trochę czasu minęło. czas więc dokończyć tę serię 🙂 metodę tę wymyśliliśmy ze znajomymi z firmy w której kiedyś pracowałem. jest mocno prawdopodobne, że ktoś jeszcze wpadł na taki pomysł, natomiast wiem, że gdy ją wymyślaliśmy – nie korzystaliśmy z niczyich prac. na czym ona polega? w skrócie … Continue reading “drzewa w sql’u – metoda pełnych ścieżek (metoda nr. 5 w/g starego tekstu)”

drzewa w sql’u – metoda “zagnieżdżonych zbiorów”

metodę zagnieżdżonych zbiorów poznałem po raz pierwszy po przeczytaniu którejś z książek joe celko. chyba tej: Advanced SQL Programming, ale na 100% nie jestem pewien. zagnieżdżone zbiory (nested sets) polegają w duzym skrócie na tym, że każdy element drzewa jest opisany nie jednym id, ale parą liczb. są to w miarę dowolne liczby, z założeniem … Continue reading “drzewa w sql’u – metoda “zagnieżdżonych zbiorów””

drzewa w sql’u – metoda “śledzenie rodzica”

jest to zdecydowanie najbardziej rozpowszechniona metoda przechowywania drzew w bazach. zakłada ona (zgodnie z naszymy podstawowymi założeniami), że każdy element ma tylko 1 element nadrzędny (lub go nie ma – gdy jest to element główny). dzięki temu całość można zapisać w jednej tabeli : $ CREATE TABLE categories ( id BIGSERIAL, parent_id INT8 REFERENCES categories … Continue reading “drzewa w sql’u – metoda “śledzenie rodzica””

drzewa w sql’u – metoda wielu tabel

tak naprawdę to nazwa "metoda wielu tabel" nie oddaje w pełni tego o co chodzi, natomiast jest pewnym przybliżeniem. zgodnie z tą metodą należy stworzyć dla każdego poziomu zagnieżdżenia tabelę. w oparciu o nasze dane testowe należy stworzyć system tabel: CREATE TABLE categories_1 (    id       BIGSERIAL PRIMARY KEY,    codename TEXT NOT NULL DEFAULT ”);CREATE UNIQUE … Continue reading “drzewa w sql’u – metoda wielu tabel”

drzewa w sql’u – wstęp

jakiś czas temu zainteresowała mnie metoda przechowywania wszelkiego rodzaju struktur drzewiastych w bazach danych. dla wyjaśnienia – struktura drzewiasta jest to taki uporządkowany zbiór danych gdzie każdy element ma swój element nadrzędny, chyba, że jest elementem najwyższego rzędu. dając przykłady z życia – drzewami są opisane wszelkiego rodzaju hierarchie – służbowe, kategorie (np. w sklepie … Continue reading “drzewa w sql’u – wstęp”