Datenbank

Eine Datenbank ist zunächst einmal eine Sammlung von Daten, die in einem elektronischen Verwaltungssystem digital gespeichert und dargestellt wird. Darum spricht man in diesem Zusammenhang auch häufig von einem Datenbanksystem. Dieses System besteht aus der eigentlichen Datenbank einerseits und einer Software, dem Datenbankmanagementsystem, andererseits.

Die Funktionsweise von Datenbanken

Um eine Datenbank anzulegen, werden unterschiedliche Informationen in Tabellen eingetragen. Bei derlei Informationen kann es sich um Textdaten handeln, um elektronische Daten, Programmieranweisungen oder Verknüpfungen. Diese Tabellen lassen sich in Datensätze und Felder unterteilen, wobei ein Datensatz horizontal (Tabellenzeile) gelesen wird, ein Feld vertikal (Tabellenspalte).

Jeder Datensatz ist absolut einmalig. Damit diese Unverwechselbarkeit gewährleistet bleibt, wird jedem Datensatz eine Kennung zugewiesen. Diese auch Primary Key (Primärschlüssel) genannte Kennzeichnung dient später der Wiedererkennung und der Definition des Datensatzes. Jedem Datensatz können auch mehrere solcher Schlüsselwerte (Fremdschlüssel) zugewiesen werden. Über diese kann er jederzeit unverkennbar im Datenspeicher abgerufen werden.

Um die in solchen Tabellen gespeicherten Daten zu verwalten, benötigt man ein Managementsystem, das besonders große Datensammlungen effizient bereitstellen kann. Nur über ein solches Datenbankmanagementsystem ist es möglich, die gespeicherten Informationen von unterschiedlichen Nutzern und Programmen abrufen, bearbeiten, selektieren und individuell darstellen zu lassen.

Die Softwares, auf denen solche Verwaltungssysteme basieren, reagieren auf sogenannte Datenbanksprachen. Die bekannteste dieser speziellen Programmiersprachen ist die Structured Query Language (SQL), die in den 1970er Jahren von IBM entwickelt wurde, mit der man Befehle und Anweisungen an PHP-Skripte auf dem Server senden kann, auf dem der Datenspeicher hinterlegt ist, die dann auf die Datenbank zugreift.

Die per SQL gesendeten Abfragen können Daten in den Datenbanktabellen anhand der definierten Primär- und Fremdschlüssel aufrufen und gruppieren. Die Datenbanksprache lässt sich in weitere Unterebenen aufschlüsseln, die wiederum für spezifische Befehle angewendet werden. Dazu zählt etwa die

  • Data Manipulation Language (DML, deutsch: Datenmanipulationssprache), mit der Daten oder Datenteile abgefragt, hinzugefügt, geändert oder gar gelöscht werden können,
  • Data Definition Language (DDL, deutsch: Datenbeschreibungssprache), mit der Datenstrukturen bearbeitet oder gelöscht werden können,
  • Data Control Language (DCL, deutsch: Datenaufsichtssprache), mit der Zugriffe auf die Datenbank kontrolliert werden können,
  • Transaction Control Language (TCL, deutsch: Transaktionsaufsichtssprache), mit der Veränderungen an den Datensätzen final bestätigt werden können.


Je nach Art der Datenbank, man spricht dabei von Datenbankmodellen, kommen unterschiedliche Datenbanksprachen zur Anwendung. So wird bei Netzwerkmodellen die Data Storage Description Language (DSDL) verwendet, die sich wiederum in eine Datenbeschreibungssprache (DDL) und eine Datenmanipulationssprache (DML) dreiteilt.

Arten von Datenbanken

Das gebräuchlichste Datenbankmodell ist die sogenannte relationale Datenbank. Dabei werden den Feldern der tabellarisch angelegten Datensammlungen unterschiedliche Attribute zugewiesen, die in der Summe als Spalte den individuellen Datensatz ergeben. Diese Attribute stehen zueinander in Relation, woraus sich die Möglichkeit ergibt, sich Teilmengen kompletter Datenbanken anhand definierter Eigenschaften anzeigen zu lassen. Daneben kommen auch Datenbankmodelle zum Einsatz, deren Relationen vordefiniert sind, etwa bei objektrelationalen Datenbanken. Des weiteren gibt es Datenbanksysteme, die hierarchisch oder netzwerkartig aufgebaut sind, sowie objekt- oder dokumentenorientierte Datenbankmodelle. Oftmals werden solche nicht relationale Datenbanken auch als NoSQL-Datenbanken bezeichnet.[1] Bei In-Memory-Datenbanken und Cloud-Datenbanken handelt es sich um spezielle Formen von Datenbanken, die aber auf den bestehenden Modellen basieren.

Relationales Datenbankmodell

Eine Tabellen basierte Datenbank, bei der sowohl Datensätze innerhalb einer Tabelle, als auch unterschiedliche Tabellen zueinander in Relation gesetzt werden können. Die Filterung, Kategorisierung und Verknüpfung von Daten wird bei dieser Art Datenbank durch den Einsatz relationaler Algebra möglich. Es handelt sich bei diesem Datenbankmodell folglich um die mathematische Beschreibung einer Tabelle.

Hierarchisches Datenbankmodell

Sie war der Vorläufer aller modernen Datenbanken. Die Beziehung der Daten untereinander erfolgt ausschließlich vertikal, woraus sich eine Baumstruktur ergibt. Dadurch kann jeder Datensatz nur einem Attribut zugewiesen werden. Darum wird bei der streng hierarchischen Darstellung von Datenbanken auch von Eltern-Kind-Beziehungen gesprochen. Hierarchisch höher gestellte Eltern (Attribute) können zwar mehrere Kinder (Daten) haben und so einen Datensatz ausgeben. Doch Kinder können immer nur einen Elternteil haben. Daraus ergibt sich eine reine 1:1-Beziehung. Verbindungen über mehrere Ebenen hinweg oder zwischen unterschiedlichen Hierarchiebäumen sind nicht möglich. Ein aktuelles Anwendungsbeispiel für ein hierarchisches Datenbankmodell ist XML (Extensible Markup Language).

Netzwerkdatenbankmodell

Bei einem Netzwerkdatenbankmodell handelt es sich um eine etwas aufgeweichte Form des hierarchischen Modells. Wobei bei einer netzwerkartigen Datenbank besonders die strenge 1:1-Beziehung zwischen Eltern und Kind aufgebrochen wurde, wodurch jeder Datensatz mehrere Eltern besitzen kann. So können alle Informationen in der Datenbank über verschiedene Suchwege und Zugriffe gefunden, bearbeitet und verwaltet werden. Im Zuge der Weiterentwicklung des Semantic Webs könnten Netzwerk basierte Datenbanken in Form moderner Graphdatenbanken künftig wieder mehr an Bedeutung gewinnen.

Objektorientiertes Datenbankmodell

Bei einer objektorientierten Datenbank (auch: Objektdatenbank) werden Informationen gemeinsam mit den ihnen zugewiesenen Attributen in sogenannten Objekten gespeichert. Zugriff auf diese Daten wird über Methoden gewährt, die ihrerseits Bestandteil der als Objekt gespeicherten Daten sind. Einzelne Objekte werden mit einer eindeutigen Identifikationsnummer versehen und als Objektklassen zusammengelegt. Auf diese Weise entsteht eine hierarchische Klassenstruktur, die jedoch flexibler ist, als das veraltete hierarchische Modell, da mit verschieden Methoden sowohl auf unterschiedliche Objekte zugegriffen werden kann, als auch über den Zugriff auf diese Objekte die einzelnen Objektklassen erreicht werden können. Anwendungen dieser Art sind nicht sehr weit verbreitet und kommen vor allem bei Inventursoftwares zum Einsatz.

Dokumentenorientiertes Datenbankmodell

Analog zur objektorientierten Datenbank, werden bei diesem Modell Daten als Dokumente gespeichert, denen jeweils eine individuelle Identifikationsnummer zugewiesen wird. Ein Dokument besteht aus einem Schlüssel und einem Wert und entspricht dem, was in der tabellarischen, relationalen Datenbank ein Datensatz ist. Diese Sätze umfassen zusammenhängende Daten, wodurch sich das Modell sowohl vom relationalen, als auch vom objektorientierten Datenbanksystem unterscheidet. Die Dokumente können sehr gezielt abgerufen werden und ihre Formate müssen nicht einheitlich sein. Dadurch ist diese Art Datenbank unter anderem für Webanwendungen eine interessante Alternative.

In-Memory-Datenbank

Eine besondere Form der Datenbank ist die In-Memory-Datenbank, die den RAM eines Computers als Speicherort nutzt. Da im Arbeitsspeicher abgelegte Daten nicht dauerhaft gespeichert werden, erfüllt die In-Memory-Datenbank nicht alle eigentlichen Eigenschaften eines Datenbanksystems.

Cloud-Datenbank

Cloud-Datenbanken funktionieren auf Basis der erwähnten Datenbankmodelle. Allerdings werden sie in eine virtuelle Umgebung ausgelagert, wodurch man vorhandene Datenbanken von einem Speicherort zu einem anderen verschieben kann. Der Zugriff kann Endgeräte unabhängig erfolgen und die Server- bzw. Speicherressourcen optimiert werden.

Datenbankmanagementsystem

Das Datenbankmanagementsystem (DBMS) ist dafür verantwortlich, dass die Daten in der Datenbank verwaltet werden können. Mit dem DBMS werden sie organisiert, strukturiert und kontrolliert. Das Verwaltungssystem ermöglicht die Bearbeitung, Sicherung und den Schutz von Daten und ihrer Metadaten, die es in einem Data Dictionary hinterlegt. Außerdem trifft es Vorkehrungen zur Datenintegrität, reguliert die Zugriffe auf die Informationen in der Datenbank, auch die, die parallel stattfinden.

Mittels dem Datenbankmanagementsystem werden Daten, Datenschemata und Benutzerrechte am festgelegten Speicherort gespeichert. Um die Datenbank zu sichern, können Managementsystems auch Backups erstellen. Dies ist längst durch eine Automatisierung in regelmäßigen Abständen ohne Zutun von außen möglich.

Durch die Zuweisung und Limitierung bestimmter Zugriffsrechte verhindert das DBMS unter anderem, dass mehrere User gleichzeitig auf den gleichen Datensatz zugreifen. So wird verhindert, dass Daten von verschiedenen Nutzern zeitgleich geändert und damit verfälscht werden. Dafür ist das sogenannte Transaktionssystem zuständig, das jede Änderung in der Datenbank protokolliert und eine Historie über die vorgenommenen Datenbankein- und -zugriffe anlegt.

Bestimmte, definierte Regeln in der Managementsoftware legen fest, welche Daten wie oder ob überhaupt verändert werden dürfen. Durch sogenannte Constraints, Bedingungen, die eine Variable erfüllen muss, damit ein Wert in die Datenbank übernommen werden darf, wird die Zulässigkeit der geplanten Datenänderungen mittels eines Fremdschlüssel überprüft, bevor sie durchgeführt wird. Wird eine bestimmte Änderung vorgenommen, kann dies einen Datenbanktrigger auslösen, der den User vor der Konsequenz der Aktion, die er durchführen möchte, warnt oder davon abhält. Dieses Verfahren dient der Datenintegrität und garantiert konsistente, korrekte und vollständige Datenbanken.

Die Software zur Verwaltung von Datenbanken verfügt außerdem über Möglichkeiten zur Optimierung von Anfragen, mit denen sich die Effizienz des Datenbanksystems verbessern lässt. Dazu muss zunächst im Datenbankschema definiert werden, welche Daten einen Index erhalten, anhand dessen sie später schnell abgerufen werden können. Zur Abfrageoptimierung zählen unter anderem auch Stored Procedures (gespeicherte Prozeduren, bei dem im Client der Datenbank wiederkehrende Abläufe in Form von Befehlsabfolgen gespeichert werden. Diese Befehlsabfolgen können etwa zu einem Aufruf zusammengefasst werden, sodass ein Aufruf genügt, um eine Reihe von Prozeduren nach dem gleichen Schema durchzuführen. Durch diese Verknappung diverser Befehle auf einen einzigen, wird der Datenaustausch zwischen Client und System reduziert, wodurch unter anderem die Leistungsfähigkeit und Reaktionszeit des Datenbanksystems optimiert werden kann.

Einsatzgebiete für Datenbanken

Datenbanken diene dazu wichtige und viele Informationen in Form von Daten zu speichern. Sie dienen der Übersichtlichkeit, Ordnung und Verfügbarkeit von Daten zu unterschiedlichen Zwecken.[2]

  • In Informationssystemen: Als solche finden sie besonders in der Wirtschaft, Wissenschaft und Verwaltung zur Speicherung von Statistiken Anwendung.
  • Bei Anwendungsprogrammen: Darüber können etwa im Rechnungswesen, im Controlling oder Human Resources Unterlagen und Formulare erstellt und ausgefüllt werden.
  • Als Auskunftsdateien oder Abfrageregister: Hier kommen Datenbanksysteme in Form von Warenwirtschaftssystemen, Kundendateien oder digitalen Archiven zum Einsatz.
  • Im Internet: Suchmaschinen, Wikis und diverse Webanwendungen basieren auf hinterlegten Datenbanksystemen, die sie als Reaktion auf die Eingabe von Suchbefehlen durchsuchen.


Die zunehmende Relevanz von Daten in verschiedenen Bereichen macht es notwendig, dass die gesammelten Datenmengen an einem sicheren Ort hinterlegt werden. Eine zentrale Speicherung aller Daten in Datenbanken macht die moderne Datenverarbeitung überhaupt erst möglich. Vor allem aber macht sie sie effizient, sicher und flexibel.

Einzelnachweise

  1. Einsatz von Datenbanken datenbanken-verstehen.de. Abgerufen am 03.04.2019.
  2. Datenbanken im Alltag datenbanken-verstehen.de. Abgerufen am 03.04.2019.

Weblinks