Was ist das verschachtelte Mengenmodell?
Das verschachtelte Mengenmodell ist auch als modifizierter Vorbestellungsbaum-Durchquerungsalgorithmus bekannt und dient zum Speichern hierarchischer Daten in relationalen Datenbanken. Dieses Modell bietet den Vorteil eines sehr schnellen Zugriffs und lässt sich am besten in Hierarchien implementieren, in die häufiger gelesen als geschrieben wird. Jedem Knoten innerhalb des Informationsmodells werden zwei Nummern zugewiesen, die als Attribute gespeichert werden. Das Abfragen des verschachtelten Mengenmodells ist relativ einfach, da beide Werte zum Abrufen der erforderlichen Daten verwendet werden können. Einfügungen, Löschungen, Verschiebungen und Aktualisierungen sind jedoch weitaus umständlicher, da die Knoten möglicherweise neu nummeriert werden müssen.
Das Modell der verschachtelten Mengen wurde von Joe Celko eingeführt und wird normalerweise zur Darstellung verschachtelter Mengen oder hierarchischer Informationen in Form von Bäumen verwendet. Ein Baum ist in diesem Fall eine Datenstruktur, die mehrere verknüpfte Knoten enthält. Beispielsweise kann ein Elternknoten eine Verbindung zu mehreren Kindknoten herstellen, und diese Struktur wird durch den Baum über mehrere Ebenen wiederholt.
Bäume sind eine großartige Möglichkeit, Informationen in einer bestimmten Reihenfolge in einer relationalen Datenbank zu speichern. Hierbei handelt es sich um einen Datensatz, in dem Daten in Abhängigkeit von gemeinsamen Merkmalen gespeichert werden. Beispielsweise können Produktinformationen im Lebensmittelbereich eines Geschäfts mit Lebensmitteln beginnen und sich in Obst, Gemüse und Fleisch verzweigen. Früchte können ferner in Beeren, Melonen und Äpfel und Gemüse in Knollen, Gemüse und andere unterteilt werden, und Fleisch in Schweinefleisch, Hammelfleisch und Kalbfleisch.
In einer relationalen Datenbank werden alle diese Informationen in einer leicht verständlichen Form gespeichert, und ein verschachteltes Mengenmodell ermöglicht die effiziente Verwaltung der Baumstruktur. Unter Verwendung des obigen Beispiels wäre der Wurzelknoten Nahrung, was durch zwei Werte dargestellt wird. Wenn der linke Wert für Lebensmittel 1 ist, wird den anderen Elementen im Baum in der angegebenen Reihenfolge links eine Nummer zugewiesen. Früchte würden links einen Wert von 2 erhalten, Beeren 3 und so weiter. Die Werte werden dann auf der rechten Seite zugewiesen und durchlaufen den gesamten Baum von unten nach oben durch jeden Zweig, bis der letzte Wert der Nahrung auf der rechten Seite zugewiesen wird.
Jedes Element in der Baumstruktur hat zwei Werte, z. B. lft für left und rgt für right, mit denen sie identifiziert und ihre Beziehung zu anderen Elementen angegeben werden können. Wenn beispielsweise Früchte einen Wert von 2 und 15 haben, sind alle Knoten, deren linke Werte größer als 2 und rechte Werte kleiner als 15 sind, Nachkommen des Obstbaums 2–15. Es wird einfach, Informationen zu allen Früchten auf einmal abzurufen, da diese Werte in einer einzigen Abfrage an die Datenbank angegeben werden können.
Dieses Modell eignet sich hervorragend zum Speichern von Informationen, auf die häufig zugegriffen wird, aber das Einfügen, Löschen und Neuanordnen von Informationen im verschachtelten Mengenmodell wird sehr mühsam. Das Umschreiben von Indizes und das Umnummerieren der Informationen können zum Absturz der Datenbank führen, insbesondere wenn der Baum auf Hunderttausende von Knoten erweitert wird. Das verschachtelte Set-Modell eignet sich am besten für einfache Content-Management-Systeme mit minimalen Einfügungen und Änderungen. Das Einfügen in das verschachtelte Intervallmodell kann erheblich beschleunigt werden, da die Position jedes Knotens im Baum unter Verwendung von Gleitkommadezimalzahlen gespeichert und gleichzeitig die Pfadinformationen codiert werden.