Datenbankmodell
# Datenbankmodell

Ein Datenbankmodell ist die theoretische Grundlage für eine Datenbank und bestimmt, in welcher Struktur Daten in einem Datenbanksystem gespeichert werden. Das bekannteste und meistverbreitete Datenbankmodell ist das relationale Datenbankmodell, das tabellenbasiert ist.

## Definition

Nach Edgar F. Codd definiert sich ein Datenbankmodell aus drei Eigenschaften:

* einer generischen Datenstruktur, die die Struktur einer Datenbank beschreibt. Beispiel: eine relationale Datenbank besteht aus Relationen mit eindeutigen Namen, jede Relation ist eine Menge von Tupeln (Datensätzen) gleichen Typs. Die Struktur ist insofern generisch, als die Relationen und ihre Attribute (Spalten) beliebig gewählt werden können bzw. beim Einrichten der Datenbank angegeben werden müssen. Diese anwendungsspezifischen Strukturen bilden den wichtigsten Teil des Schemas der Datenbank.
* Einer Menge von generischen Operatoren, die man bei beliebigen Schemata auf die Datenstrukturen unter 1. anwenden kann, um Daten einzutragen, zu ändern, abzufragen oder abzuleiten.
* Einer Menge von Integritätsbedingungen, mit denen man die zulässigen Datenbankinhalte über die Grundstrukturen unter 1. hinaus weiter einschränken kann. Beim relationalen Datenbankmodell kann z. B. jedes Attribut einer Relation als eindeutig bestimmt werden; dann dürfen nicht zwei Tupel dieser Relation den gleichen Wert in diesem Attribut haben. Veränderungen in der Datenbank, die Integritätsbedingungen verletzen würden, werden mit einer Fehlermeldung zurückgewiesen.

## Beispiele

Bekannte Datenbankmodelle, die sich hauptsächlich an der angewendeten Methodik der Softwareentwicklung (z. B. dem objektorientierten Paradigma) und der vorgesehenen Datenbank-Technologie orientieren, sind:

* Hierarchisches Datenbankmodell
* Netzwerkdatenbankmodell
* Relationales Datenbankmodell
* Objektrelationales Datenbankmodell
* Objektorientiertes Datenbankmodell
* Dokumentenorientiertes Datenbankmodell
