Datenbank/Allgemeine Grundlagen
In diesem Kapitel sollen Grundlagen im Umgang mit Datenbankmanagementsystemen (DBMS) vermittelt und verschiedene Programme dazu vorgestellt werden.
Eine Datenbank, auch Datenbanksystem genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe einer Datenbank ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen. (Wikipedia)
Der Begriff Datenbank wird umgangssprachlich oftmals nicht nur für eine abgegrenzte Einheit innerhalb eines Datenbankmanagementsystems verwendet, sondern auch für das gesamte DBMS. Aus der Sicht eines Programmierers ist eine Datenbank ein Programm, das entsprechende Anfragen beantwortet, um so einen Dienst anzubieten.
Inhaltsverzeichnis
Bestandteile einer Datenbank
Eine Datenbank besteht im Allgemeinen aus zwei Dingen: Datensätzen und Metadaten.
Stellt man sich eine Datenbank als Tabelle vor, so würde jede Zeile einen Datensatz repräsentieren. Die „Spaltenüberschriften“ wären die Bezeichnungen der Attribute der Datensätze und die ausgefüllten Zellen jeder Zeile entsprächen den Attributwerten. Sind in unserer Tabelle Personendaten gespeichert, könnten beispielsweise Name, Vorname und Geburtsdatum die Attribute der Datensätze sein. Ein vollständiger Datensatz wäre dann
Name = „Mustermann“; Vorname = „Max“; Geburtsdatum = „3.1.1970“
Metadaten hingegen beschreiben die Struktur der Datenbank, sind also die Daten über die Daten. Diese sind in so genannten Datenverzeichnissen (englisch: Data Dictionary) gespeichert und enthalten Informationen über die Tabellen, Spalten, Indizes, Bedingungen und ähnliches.
Datenbank-Konzepte
Hierarchische Datenbanken
Hierarchische Datenbanken sind, wie der Name schon besagt, streng in einer Rangordnung strukturiert. Anschaulich erhält man eine Baumstruktur, Beispiele wären ein Stammbaum oder eine Ordnerstruktur auf einem Datenträger.
Der Vorteil einer hierarchischen Struktur ist, dass man sehr schnell und mit wenig Aufwand auf die Daten zugreifen kann. Weil es jedoch in einer hierarchischen Datenbank immer nur einen Baum geben kann und auch Verknüpfungen zwischen verschiedenen Ästen nicht möglich sind, müssen bei komplexeren Strukturen Daten mehrfach, d. h. an verschiedenen Stellen, gespeichert werden (Redundanz). Dies wiederum bedeutet einen hohen Wartungsaufwand, da man dieselbe Änderung ggf. an mehreren Stellen vornehmen muss. Ebenso ist die Struktur der Datenbank selbst nur schwer änderbar.
Aus diesen Gründen spielen hierarchische Strukturen heute kaum noch eine Rolle.
Netzwerk-Struktur
Das Netzwerkdatenbankmodell kann als Verallgemeinerung des hierarchischen Datenbankmodells angesehen werden, anschaulich wird aus dem Baum ein Spinnennetz. Die Nutzer eines sozialen Netzwerkes und ihre Beziehungen untereinander oder die Verlinkungen im WWW ließen sich als Beispiel für Netzwerkdatenbanken ansehen.
Diese maximale Verknüpfung sorgt für minimale Redundanzen. Dadurch wird jedoch die Struktur sehr komplex und die Bedienung und Pflege komplexerer Datenbanken erfordert eine lange Einarbeitungszeit.
Aufgrund dessen ist die Bedeutung dieser Datenbanken weiter zurückgegangen.
Relationale Datenbanken
Relationale Datenbanken bestehen aus mehreren Einzeltabellen, welche über sogenannte Schlüsselspalten miteinander verknüpft sind. Im Beispiel werden 2 Tabellen miteinander verknüpft; die Spalte „Wohnort“ in der Tabelle „Personen“ enthält nur Werte aus der Spalte „ID“ der Tabelle „Orte“.
Personen | ||||
---|---|---|---|---|
ID | Vorname | Nachname | Straße | Wohnort |
1 | Hans | Meier | Hauptstraße 5 | 1 |
2 | Max | Mustermann | Nebenstraße 19 | 1 |
3 | Gunter | Müller | Dorfstraße 2 | 2 |
Orte | |
---|---|
ID | Name |
1 | Musterstadt |
2 | Kleindorf |
Personen.Wohnort = Orte.ID
Auf diese Weise erhält man eine Datenbank, die die Vorteile von hierarchischer und Netzwerkdatenbank vereint: keine Redundanzen und eine trotzdem recht wenig komplexe Datenbank. Zudem sind solche Datenbanken in der Lage, Eingabefehler zu verhindern; es gibt beispielsweise eine Fehlermeldung wenn versucht wird, einer Person einen Wohnort zuzuweisen, den es in der Datenbank (noch) nicht gibt.
Viele moderne Datenbankmanagementsysteme sind wegen dieser Vorteile in dieser Struktur aufgebaut.
Objekt-bezogen
Objektbezogene Datenbanken sind die neueste Struktur. Hier werden „Objekte“ gebildet, welche in den wesentlichen Parametern der Realität möglichst gleichen und in einer Datenbank gespeichert und verwaltet werden sollen. Außerdem gibt es noch objektrelationale Datenbanken, also Hybride zwischen den zuletzt genannten Typen.
Weblinks
- Wikibooks: Computerkurs: Datenbank
- Wikibooks: Einführung in SQL