Kiedy pisze się aplikacje oparte na takich frameworkach jak web2py jest wiele rzeczy o które programista nie musi się martwić, szczególnie jeśli korzysta w pełni z wbudowanych mechanizmów, takich jak choćby smartgrid. To one odpowiadają na przykład za wczytanie danych z bazy i ich prezentację. Ostatnio jednak przyszło mi zrobić coś nieco ambitniejszego. Jeden z naszych klientów potrzebuje przesłać dane ze swojej bazy do systemu RaksSQL, a jednym z lepszych na to sposobów jest przygotowanie odpowiedniego pliku XML. I tu zaczynają się problemy z kodowaniem znaków w bazie i pliku jaki chcemy wyprodukować.
SQL
Wszystko o zapytaniach, tabelach, indeksach i takie tam.
Struktura drzewiasta w bazie danych Odc. 6 Nested set – przenoszenie gałęzi
W przypadku najprostszej implementacji struktury drzewiastej w bazie, jaką opisałam w pierwszym artykule tej serii, przeniesienie całej gałęzi do nowej lokalizacji jest zagadnieniem trywialnym. Wystarczy zmienić wartość parametru ‘parentID’ odpowiedniego rekordu i już. Jeśli chodzi o drzewo typu nested set, nie jest to już takie proste. Przeniesienie gałęzi wymaga przeliczenia parametrów ‘lft’ i ‘rgt’ wielu rekordów. Przypomina to trochę znaną zabawę w przesuwane puzzle.
Czytaj dalejStruktura drzewiasta w bazie danych Odc. 6 Nested set – przenoszenie gałęzi
Struktura drzewiasta w bazie danych Odc. 5 Nested set – dodawanie rekordu
Skoro pokazałam już jak wygląda struktura drzewa nested set oraz jak wczytać całe drzewo a także jak pobrać wybraną gałąź, pora zająć się dodawaniem rekordów do omawianej struktury.
Czytaj dalejStruktura drzewiasta w bazie danych Odc. 5 Nested set – dodawanie rekordu
Struktura drzewiasta w bazie danych Odc. 4 Nested set – odczytywanie gałęzi
W poprzednich artykułach tej serii pokazałam jak wygląda konstrukcja drzewa typu nested set a także jak wczytać zawartość drzewa tego typu. W tym odcinku pokażę, że wystarczą niewielkie modyfikacje omówionych wcześniej zapytań, by bez trudu odczytać dowolnie wybraną gałąź naszej struktury.
Czytaj dalejStruktura drzewiasta w bazie danych Odc. 4 Nested set – odczytywanie gałęzi
Struktura drzewiasta w bazie danych Odc. 3 Nested set – odczytywanie struktury drzewa
Skoro już wyjaśniłam na czym polega konstrukcja drzewa typu nested set, pora pokazać w jaki sposób, za pomocą niezbyt skomplikowanych zapytań, można wyciągnąć różne informacje. Na początek zajmiemy się zapytaniami, które pozwolą nam wczytać strukturę drzewa.
Czytaj dalejStruktura drzewiasta w bazie danych Odc. 3 Nested set – odczytywanie struktury drzewa
Struktura drzewiasta w bazie danych Odc. 2 Konstrukcja drzewa typu nested set
Jak pisałam w poprzednim odcinku dotyczącym drzewek w bazie danych bardzo mi się spodobała idea drzewka typu Nested set, choć niektórzy namawiali mnie do zainteresowania się drzewami Depesza. Może kiedyś. Tymczasem porządkując swoją świeżo nabytą wiedzę i przemyślenia napiszę kilka słów o idei i typu Nested set.
Czytaj dalejStruktura drzewiasta w bazie danych Odc. 2 Konstrukcja drzewa typu nested set