Co to jest model zestawu zagnieżdżonego?
Model zestawu zagnieżdżonego jest również znany jako zmodyfikowany algorytm przechodzenia przez drzewo zamówień przedpremierowych i jest sposobem przechowywania danych hierarchicznych w relacyjnych bazach danych. Model ten ma tę zaletę, że zapewnia bardzo szybki dostęp i najlepiej jest go implementować w hierarchiach, które są odczytywane częściej niż zapisywane. Każdy węzeł w modelu informacyjnym ma przypisane dwie liczby, które są przechowywane jako atrybuty. Zapytanie o model zestawu zagnieżdżonego jest dość łatwe, ponieważ obie wartości można wykorzystać do pobrania niezbędnych danych. Wprowadzanie, usuwanie, przenoszenie i aktualizowanie jest jednak znacznie bardziej kłopotliwe, ponieważ może wymagać zmiany numeracji węzłów.
Zazwyczaj używany do reprezentowania zestawów zagnieżdżonych lub informacji hierarchicznych w postaci drzew, model zestawu zagnieżdżonego został wprowadzony przez Joe Celko. Drzewo, w tym przypadku, jest strukturą danych, która zawiera wiele połączonych węzłów. Na przykład węzeł nadrzędny może łączyć się z kilkoma węzłami podrzędnymi, a ta struktura jest powtarzana przez drzewo na kilku poziomach.
Drzewa to świetny sposób przechowywania informacji w określonej kolejności w relacyjnej bazie danych, która jest zestawem danych przechowującym dane w zależności od wspólnych cech. Na przykład informacje o produkcie w dziale żywności w sklepie mogą zaczynać się od jedzenia, rozgałęzienia na owoce, warzywa i mięso. Owoce można dalej podzielić na jagody, melony, jabłka i warzywa na bulwy, warzywa i inne, a mięso na wieprzowinę, baraninę i cielęcinę.
Relacyjna baza danych przechowuje wszystkie te informacje w łatwej do zrozumienia formie, a model zestawu zagnieżdżonego umożliwia wydajne zarządzanie strukturą drzewa. W powyższym przykładzie węzłem głównym byłby pokarm, który jest reprezentowany przez dwie wartości. Biorąc pod uwagę lewą wartość żywności jako 1, pozostałe pozycje w drzewie mają przypisany numer po lewej stronie. Owoce miałyby wartość 2 po lewej, jagody 3, i tak dalej. Wartości są następnie przypisywane po prawej stronie, przebiegając przez drzewo, od dołu do góry, przez każdą gałąź, aż ostatnia wartość zostanie przypisana do żywności po prawej stronie.
Każdy element w drzewie kończy się na dwóch wartościach, np. Lft dla lewej i rgt dla prawej, których można użyć do ich identyfikacji i wskazania ich związku z innymi elementami. Na przykład, jeśli owoce mają wartość 2 i 15, wówczas wszystkie węzły, które mają lewe wartości większe niż 2 i prawe wartości mniejsze niż 15, są potomkami drzewa owocowego 2–15. Łatwo jest wyciągnąć informacje o wszystkich owocach za jednym razem, ponieważ te wartości można określić w jednym zapytaniu do bazy danych.
Ten model doskonale nadaje się do przechowywania często używanych informacji, ale wstawianie, usuwanie i zmiana kolejności informacji w modelu zestawu zagnieżdżonego stają się bardzo uciążliwe. Przepisywanie indeksów i zmiana numeracji informacji może spowodować awarię bazy danych, szczególnie jeśli drzewo rośnie i obejmuje setki tysięcy węzłów. Model zestawu zagnieżdżonego jest najlepszy dla systemów zarządzania treścią, które mają minimalne wstawienia i zmiany. Wstawianie może być wykonywane znacznie szybciej w zagnieżdżonym modelu interwałowym, ponieważ przechowuje pozycję każdego węzła w drzewie za pomocą liczb dziesiętnych zmiennoprzecinkowych, a także koduje informacje o ścieżce.