Speicherung von Baumstrukturen in einer relationalen Datenbank

von Thomas Eses       3. November 2025

Baumstrukturen in Datenbanken. Das Leid von Eltern, Kindern, Geschwister, …

Das Speichern von Baumstrukturen in einer relationalen Datenbank kann man mit verschiedenen Methoden bewerkstelligen. Einige davon sind sehr einfach, aber bei großen Datenmengen nicht sehr effizient und für einige Arten von Bäumen nicht einmal geeignet. Einige Methoden sind hingegen sehr effizient, es gestaltet sich aber etwas komplizierter, wenn man den Baum dann manipulieren will. Dafür muss man in den meisten Fällen den kompletten Baum in der Datenbank neu organisieren.

Folgende Methoden kann man verwenden:

  1. Adjacency List Model - Jeder Knoten speichert die ID seines Elternknotens (Parent-ID
  2. Nested Sets - Verschachtelte Mengen

Parent ID Tree / Adjacency List Model

Das Adjacency List Model ist eine einfache Methode, hierarchische Daten (z. B. Kategorien, Menüs, Ordnerstrukturen) in einer relationalen Datenbank zu speichern. Die Grundidee ist, dass jeder Eintrag seinen direkten übergeordneten Knoten kennt (Parent).

Weblinks:

Nested Sets

Die Speicherung und Organisation eines Nested Sets Baum sowie die Darstellung kann sich als sehr kompliziert herausstellen.  Besonders bei der Ausgabe von geschachtelten Strukturen wie z.B. UL/LI-Listen.

Weblinks:

Begriffsklärung

  • Root - Wurzel
  • Leaf - Blatt
  • Branch - Zweig
  • Node - Knoten
  • Ancestry - Vorfahre
  • Descendant - Nachfahre
  • Parent - Eltern
  • Child - Kind
  • Siblings - Geschwister
  • Path - Pfad über die Knoten

Weblinks Allgemein

Über den Autor

Profilbild: Thomas Eses
geschrieben am 3. November 2025 von
Thomas Eses

Anwendungsentwickler, IT-Dozent und Ausbilder für Fachinformatiker*innen

Mehr Erfahren...

Schreibe einen Kommentar

Erforderliche Felder sind mit * markiert
https://

Artikel Schlagwörter

Werbung

Ähnliche Beiträge

Der "::" Operator in UML

In UML bedeutet der :: Operator folgendes: Das ist der sogenannte Namensraum-/Qualifikationsoperator (engl. Scope Resolution). Damit wird angegeben, zu welchem...

1. Februar 2026

Aria Tabellen bei einer MariaDB Installation crashen regelmäßig

Aria-Tabellen, die unter MariaDB auf Windows 11 häufiger crashen, sind leider ein bekanntes Problem. Diesmal tritt es bei mir bei...

19. November 2025

MySQL Datentyp ENUM oder SET? Unterschiede kurz und knackig.

Datentyp ENUM Eine Liste von max. 65535 Werten kann definiert werden. Speichert nichts oder nur einen der definierten Werte. Beim...

3. November 2025

Einiges zum Thema JavaScript Performance

Damit die eigene Javascript Anwendung effizient läuft und eine gute Performance hat, muss man bei der Programmierung schon auf gewisse...

23. Juni 2024

Design Patterns in JavaScript - Von der Idee zum sauberen Code

Design Patterns gehören zu den wichtigsten Grundlagen der Softwareentwicklung. Auch wenn JavaScript lange Zeit eher als flexible Skriptsprache galt, ist...

21. September 2022

Pentaho - ETL-Software für Datenintegration

Pentaho ist ein umfassendes Softwarepaket für Business-Intelligence-Anwendungen. Eine Anwendung davon ist die "Pentaho Data Integration" (PDI) und war unter dem...

22. Juni 2020

ASCII Arts - UTF-8 Zeichensatz spielereien

Das deutsche Alphabet z.B. mit anderen Zeichen darstellen.. Beispiele: vєɾʅɪєɾє ɲɪcɦƭ dɪє ɲєɾvєɲ... uǝʌɹǝu ǝıp ʇɥɔıu ǝɹǝı❘ɹǝʌ   Ziffern 0123...

10. April 2020

🦊 Besondere Zeichen im UTF-8 Zeichensatz

Brüche: ½ ⅓ ¼ ⅕ ⅙ ⅐ ⅛ ⅑ ⅒ ⅔ ⅖⅗ ¾ ⅜ ⅘ ⅚ ⅝ ⅞ ⅟↉ ‰  Römische Ziffern: ⅠⅡ...

3. Dezember 2019