Grundlage für die Strukturierung der Daten und ihrer Beziehungen zueinander ist das Datenbankmodell, das durch den DBMS-Hersteller festgelegt wird. Je nach Datenbankmodell muss das Datenbankschema an bestimmte Strukturierungsmöglichkeiten angepasst werden.
Hierarchisches Datenbankmodell
Ein Hierarchisches Datenbankmodell ist das älteste Datenbankmodell, es bildet die reale Welt durch eine hierarchische Baumstruktur ab. Jeder Datensatz (Record) hat also genau einen Vorgänger, mit Ausnahme genau eines Satzes, nämlich der Wurzel der so entstehenden Baumstruktur. Die Daten werden in einer Reihe von Datensätzen gespeichert, mit denen verschiedene Felder verknüpft sind. Die Teile 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. Der Nachteil von hierarchischen 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:
- Ein Datensatz (Record) muss die Wurzel darstellen
- Alle anderen Records müssen einmal als Child auftreten
- Es muss einen Record geben, der nicht als Parent auftritt.
Durch diese Bedingungen lassen sich gut 1:1 und 1:n Bziehungen darstellen. Die vielfach benötigten n:m Beziehungen lassen sich nur durch mehrmaliges Auftreten gleicher Daten (Redundanzen) oder über virtuelle Beziehungen dastellen.
Das hierarchische Modell ist im Bereich der Datenbanksysteme heute weitgehend von anderen Datenbankmodellen abgelöst worden.
Netzwerkdatenbankmodell
Das Netzwerk-Modell fordert keine strenge Hierarchie sondern kann auch m:n-Beziehungen abbilden, d. h. ein Datensatz kann mehrere Vorgänger haben. Auch können mehrere Datensätze an oberster Stelle stehen. Es existieren meist unterschiedliche Suchwege, um zu einem bestimmten Datensatz zu kommen. Man kann es als eine Verallgemeinerung des hierarchischen Datenbankmodells sehen.
Datenbanksätze
Eine Netzwerkdatenbank besteht aus Datensätzen (Record), welche aus verschiedenen Feldern (Data Item) bestehen. Ein Feld hat einen Namen und einen Wert. Jeder Satz beschreibt eine Person, ein Objekt oder ein Ereignis (event). Ein Netzwerk-Datenbankmanagementsystem (DBMS) bearbeitet Datensätze. Ein Satz, kann als Ganzes in die Datenbank gespeichert, verändert und wieder gelöscht werden. Sätze einer Satzart (record type), die einen eindeutigen Namen haben müssen, haben die gleiche interne Struktur. Eine Satzart ist also eine allgemeine Beschreibung vieler Datensätze, die Satzarten werden im Datenbankschema, das die Struktur der Datenbank regelt, definiert. Beim Speichern eines Datensatzes wird ihm ein interner, innerhalb der Datenbank eindeutiger, Schlüssel gegeben
Dataset
Beziehungen zwischen Sätzen werden durch eine spezielle, Datenset (oder einfach Set) genannte, Konstruktion bestimmt. Im einfachsten Fall besteht jedes Set aus zwei verschiedenen Satzarten. Ein Daten-Set besteht aus genau einem Mitglied der ersten Satzart, dem Owner des Daten-Set und keinem (leeres Set-Auftreten), einem oder mehreren Sätzen der zweiten Satzart, die Member des Daten-Set. Diese haben eine definierte Sortierfolge. Die eindeutig benannte Set-Art (set type) beschreibt alle Mitglieder der gleichen Beziehung.
Die beiden Strukturtypen, die also das Netzwerkdatenbankmodell beschreiben, sind:
- die Satzart (record type); mehrere Sätze einer Satzart nennt man record occurrence
- Set-Art (set type); mehrere Ausprägungen einer Set-Art nennt man set occurrence
Alle Satzarten und alle Set-Arten müssen im Datenbankschema beschrieben sein. Das Schema einer Datenbank wird grafisch als Bachman-Diagramm (Datenstrukturdiagramm) dargestellt, in dem jede Satzart als Rechteck (mit Satzart und Attributnamen) und jede Set-Art als Pfeil vom Owner zum Member dargestellt ist.