Hierarchisches Datenbankmodell
# Hierarchisches Datenbankmodell

Ein Hierarchisches Datenbankmodell ist das älteste Datenbankmodell; es bildet die reale Welt durch eine hierarchische Baumstruktur ab. Jeder Satz (engl. Record) hat also genau einen übergeordneten Vorgänger, mit Ausnahme genau eines Satzes, nämlich der Wurzel der so entstehenden Baumstruktur.

## Bedeutung

Aufgrund der unten genannten Schwächen ist das hierarchische Datenbankmodell heute weitgehend von anderen Datenbankmodellen abgelöst worden. Eine Renaissance erlebt die hierarchische Datenspeicherung jedoch mit XML. Auch die meisten Verzeichnisdienste wie LDAP basieren nach wie vor auf einer hierarchischen Datenbank.
Außerdem benutzen diverse ältere Anwendungen bei Banken und Versicherungen noch heute hierarchische Datenbanken. Das bekannteste hierarchisch organisierte Datenbanksystem ist IMS/DB der Firma IBM.

### Dateisysteme

Dateisysteme vieler Betriebssysteme sind „näherungsweise“ hierarchische Datenbanken: Dateien entsprechen Blättern (s. u.), Verzeichnisse/Ordner entsprechen den Knoten mit Kindern.
Diese Ähnlichkeit ist allerdings unvollständig, weil
* Verzeichnisse ohne Dateien darin trotzdem keine Blätter (einfache Dateien) sind; real enthalten sie z. B. Verweise auf sich selbst („.“) und den übergeordneten Knoten („..“)
* die Verwendung von Softlinks oder Hardlinks die Baumstruktur nicht erhält.

## Aufbau

Die Daten werden in einer Reihe von Datensätzen gespeichert, mit denen verschiedene Felder verknüpft sind. Die Instanzen eines bestimmten Datensatzes werden als Datensatzabbild zusammengefasst. Diese Datensatzabbilder sind vergleichbar mit den Tabellen einer relationalen Datenbank.
Verknüpfungen zwischen den Datensatzabbildern werden in hierarchischen Datenbanken als Eltern-Kind-Beziehungen (Parent-Child Relationships, PCR) realisiert, die in einer Baumstruktur abgebildet werden.
Ein Nachteil hierarchischer Datenbanken ist, dass sie nur mit einem solchen Baum umgehen können; Verknüpfungen zwischen verschiedenen Bäumen oder über mehrere Ebenen innerhalb eines Baumes sind nicht möglich.
Mit den beiden Strukturelementen (Record-Typen und PCR-Typen) lassen sich folgende minimale Bedingungen an ein hierarchisches Datenbankmodell stellen:
* Genau ein Record-Typ muss das Wurzelelement darstellen und tritt somit nicht als „Child“ in einer PCR-Beziehung auf.
* Jeder andere Record-Typ tritt genau einmal als „Child“ auf.
* Ein Record-Typ, der nicht als „Parent“ in einem PCR-Typen auftritt, wird „Blatt“ genannt.
Ein weiterer Nachteil der hierarchischen Datenbanken ist, dass sich aufgrund der beschriebenen Baumstruktur eigentlich nur 1:1- und 1:n-Beziehungen darstellen lassen (vgl. Grafik). Die vielfach notwendigen n:m-Beziehungen können einerseits über Redundanzen dargestellt werden, besser aber über virtuelle Parent-Child-Relationships (VPCR).