Relationales Modell
Das am häufigsten verwendete Modell ist das relationale. Dabei werden Daten in Tabellen, auch Relationen genannt, sortiert; jede besteht aus Spalten und Zeilen. In jeder Spalte ist das Attribut der jeweiligen Entität aufgeführt, zum Beispiel Preis, Postleitzahl oder Geburtsdatum. Zusammen werden die Attribute in einer Relation als Domäne bezeichnet. Ein bestimmtes Attribut oder eine Kombination von Attributen wird als Primärschlüssel ausgewählt, auf den in anderen Tabellen verwiesen werden kann (in diesem Fall ist es ein Fremdschlüssel).
Jede Zeile, die auch als Tupel bezeichnet wird, enthält Daten über eine bestimmte Instanz der jeweiligen Entität, zum Beispiel eine spezielle Mitarbeiterin oder einen speziellen Mitarbeiter.
Das Modell berücksichtigt auch die Arten von Relationen zwischen diesen Tabellen, einschließlich Eins zu Eins, Eins zu Viele und Viele zu Viele Relationen. Hier ist ein Beispiel:
Innerhalb der Datenbank können Tabellen normalisiert oder zur Erfüllung von Normalisierungsregeln gebracht werden, durch welche die Datenbank flexibel, anpassungsfähig und skalierbar wird. Nach der Normalisierung ist jedes Datenstück atomar, d. h. auf die kleinste nützliche Einheit reduziert.
Relationale Datenbanken werden üblicherweise in SQL (Structured Query Language) geschrieben. Das Modell wurde 1970 von E. F. Codd vorgestellt.
Hierarchisches Modell
Das hierarchische Modell organisiert Daten in einer baumähnlichen Struktur, in der jeder Eintrag eine einzige übergeordnete Einheit oder einen Stamm hat. Geschwistereinträge werden in einer bestimmten Reihenfolge sortiert, welche als physische Reihenfolge zum Speichern der Datenbank dient. Dieses Modell eignet sich gut zur Beschreibung vieler Beziehungen aus der Praxis.
Das Modell wurde hauptsächlich in den 60er und 70er Jahren von den Informationsmanagement Systemen von IBM verwendet, kommt aber heute aufgrund von operativen Ineffizienzen nur noch selten zum Einsatz.
Netzwerkmodell
Das Netzwerkmodell baut auf das hierarchische Modell auf und ermöglicht Viele zu viele Beziehungen zwischen verknüpften Einträgen, was mehrere übergeordnete Einträge impliziert. Anhand der mathematischen Mengentheorie wird das Modell mit Mengen verwandter Einträge konstruiert. Jede Menge besteht aus einem Eigentümer oder übergeordneten Eintrag und einem oder mehreren Mitgliedern oder untergeordneten Einträgen. Ein Eintrag kann Mitglied mehrerer Mengen bzw. mehreren Mengen untergeordnet sein, sodass mit diesem Modell auch komplexe Beziehungen dargestellt werden können.
Es war in den 70er Jahren sehr beliebt, nachdem es von der CODASYL (Conference on Data Systems Languages; deutsch Konferenz zu Datensystemsprachen) definiert wurde.
Objektorientiertes Datenbankmodell
Dieses Modell definiert eine Datenbank als eine Sammlung von Objekten oder wiederverwendbaren Softwareelementen mit zugehörigen Funktionen und Methoden. Es gibt verschiedene Arten objektorientierter Datenbanken:
Eine Multimedia Datenbank enthält Medien, wie Bilder, die in einer relationalen Datenbank nicht gespeichert werden könnten.
Eine Hypertext Datenbank ermöglicht das Verweisen von Objekten auf andere Objekte. Sie eignet sich zum Organisieren vieler isolierter Daten, ist aber nicht ideal für die numerische Analyse.
Das objektorientierte Datenbankmodell ist das bekannteste postrelationale Datenbankmodell, da es Tabellen einschließt, aber nicht auf sie beschränkt ist. Diese Modelle werden auch als hybride Datenbankmodelle bezeichnet.
Objektrelationales Modell
Dieses hybride Datenbankmodell kombiniert die Einfachheit des relationalen Modells mit einigen erweiterten Funktionen des objektorientierten Datenbankmodells. Es erlaubt Designerinnen und Designern im Prinzip, Objekte in die vertraute Tabellenstruktur einzubinden.
Die unterstützten Sprachen und Aufrufschnittstellen umfassen SQL3, herstellerspezifische Sprachen, ODBC, JDBC und patentierte Aufrufschnittstellen als Erweiterungen der Sprachen und Schnittstellen, die im relationalen Modell verwendet werden.
Entity Relationship Modell
Dieses Modell erfasst die Beziehungen zwischen realen Entitäten auf ähnliche Weise wie ein Netzwerkmodell, ist aber nicht so direkt an die physische Datenbankstruktur gebunden. Stattdessen wird es oft für das konzeptionelle Datenbankdesign verwendet.
Hier werden die Personen, Orte und Dinge, zu denen Datenpunkte gespeichert werden, als Entitäten bezeichnet. Jede davon hat bestimmte Attribute, die zusammen ihre Domäne bilden. Die Kardinalität bzw. die Beziehungen zwischen den Entitäten werden ebenfalls dargestellt.
Eine häufig verwendete Form des ER Diagramms ist das Sternschema, in dem eine zentrale Faktentabelle mit mehreren Dimensionstabellen verbunden ist.
Andere Datenbankmodelle
Heute werden immer noch zahlreiche andere Datenbankmodelle verwendet.
Invertiertes Dateimodell
Eine Datenbank auf Grundlage der invertierten Dateistruktur soll Volltextsuchen beschleunigen. In diesem Modell werden die Dateninhalte als eine Reihe von Schlüsseln in einer Nachschlagetabelle indexiert, sodass die Werte auf den Speicherort der verknüpften Dateien verweisen. Diese Struktur bietet bei Big Data und Analysen zum Beispiel nahezu unmittelbare Berichtsmöglichkeiten.
Dieses Modell wird vom Datenbank Managementsystem ADABAS der Software AG seit 1970 verwendet und immer noch unterstützt.
Flaches Modell
Das flache Modell ist das früheste und einfachste Datenmodell. Es führt schlicht alle Daten in einer einzigen Tabelle aus Spalten und Zeilen auf. Um auf die Daten zuzugreifen oder diese zu bearbeiten, muss der Computer die gesamte flache Datei in den Speicher einlesen, sodass dieses Modell außer für kleinste Datenmengen unbrauchbar ist.
Multidimensionales Modell
Dies ist eine Variante des relationalen Modells, das die analytische Verarbeitung erleichtern und verbessern soll. Das relationale Modell ist für OLTP (Online Transaktionsverarbeitung) optimiert, dieses Modell jedoch ist auf OLAP (Online Analyseverarbeitung) ausgelegt.
Jede Zelle in einer mehrdimensionalen Datenbank enthält Daten zu den von der Datenbank verfolgten Dimensionen. Visuell können Sie sie sich als Ansammlung von Würfeln im Gegensatz zu zweidimensionalen Tabellen vorstellen.
Semistrukturiertes Modell
In diesem Modell werden die Strukturdaten, die üblicherweise im Datenbankschema enthalten sind, in die Daten selbst integriert. Hier ist die Unterscheidung zwischen Daten und Schema bestenfalls undeutlich. Dieses Modell wird zur Beschreibung von Systemen (wie z. B. webbasierten Datenquellen) verwendet, die wir als Datenbanken behandeln, aber nicht in ein Schema zwingen können. Außerdem ist es nützlich zur Beschreibung von Interaktionen zwischen Datenbanken, die nicht auf demselben Schema basieren.
Kontextmodell
Dieses Modell kann Elemente aus anderen Datenbankmodellen nach Bedarf einbinden. Es kombiniert Elemente aus objektorientierten, semistrukturierten und Netzwerkmodellen.
Assoziatives Modell
Dieses Modell teilt alle Datenpunkte auf Grundlage dessen ein, ob sie eine Entität oder eine Assoziation beschreiben. In diesem Modell ist eine Entität alles, was unabhängig existiert. Eine Assoziation ist dagegen etwas, was nur in Beziehung zu etwas anderem existiert.
Das assoziative Modell strukturiert die Daten in zwei Mengen:
- Eine Menge von Elementen, jedes mit einer eindeutigen ID, einem Namen und einem Typ
- Eine Menge von Verknüpfungen, die jeweils eine eindeutige Kennung und eindeutige Kennungen von Quelle, Verb und Ziel haben. Die gespeicherte Information bezieht sich auf die Quelle, und jede der drei Kennungen kann entweder auf eine Verknüpfung oder ein Element verweisen.
Weitere, weniger verbreitete Datenbankmodelle sind:
- Semantisches Modell, das Informationen darüber enthält, wie die gespeicherten Daten mit der realen Welt zusammenhängen
- XML Datenbank, die es ermöglicht, Daten zu spezifizieren und sogar im XML Format zu speichern
- Benannter Graph
- Triplestore
NoSQL Datenbankmodelle
Neben dem Objektdatenbankmodell sind weitere Nicht SQL Modelle entstanden, die dem relationalen Modell entgegentreten:
Das Graphdatenbankmodell ist sogar noch flexibler als ein Netzwerkmodell. Hierbei kann jeder Knoten mit jedem beliebigen anderen Knoten verknüpft werden.
Das Mehrwertmodell, das sich vom relationalen Modell dadurch unterscheidet, dass es Attributen das Enthalten einer Datenliste anstelle eines einzelnen Datenpunkts ermöglicht.
Das Dokumentmodell, das auf das Speichern und Verwalten von Dokumenten oder halbstrukturierten Daten anstelle von atomaren Daten ausgelegt ist.
Datenbanken im Web
Die meisten Websites nutzen eine Datenbank, um Daten zu organisieren und den Nutzenden zu präsentieren. Bei der Verwendung der Suchfunktionen werden die Suchbegriffe in Anfragen an einen Datenbankserver umgewandelt. Üblicherweise wird der Webserver über Middleware mit der Datenbank verbunden.
Die starke Präsenz von Datenbanken ermöglicht deren Nutzung in fast jedem Bereich, vom Online Shopping bis zum Micro Targeting von Wählerinnen und Wählern bei einer Wahlkampagne. Viele Branchen von der Luftfahrt bis zur Fahrzeugfertigung haben ihre eigenen Normen für das Datenbankdesign entwickelt.