Datenbank/Allgemeine Grundlagen

Aus SELFHTML-Wiki
< Datenbank(Weitergeleitet von Relationale Datenbank)
Wechseln zu: Navigation, Suche

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.

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