Aufbau von Datenbanken

Ein Datenbanksystem (DBS) ist eine selbständige und auf Dauer ausgelegte Datenorganisation. 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. Eine Datenbank besteht aus zwei Teilen: der Verwaltungssoftware, genannt Datenbankmanagementsystem (DBMS), und der Menge der zu verwaltenden Daten, der Datenbank (DB) im engeren Sinn. Die Datenbank besteht aus mehreren Dateien zur Sammlung und Auswertung von Daten. Die Daten in den Dateien besitzen jeweils die gleiche Struktur. Die Verwaltungssoftware (DBMS) organisiert intern die strukturierte Speicherung der Daten und kontrolliert alle lesenden und schreibenden Zugriffe auf die Datenbank. Zur Abfrage und Verwaltung der Daten bietet ein Datenbanksystem eine Datenbanksprache an wie zum Beispiel SQL, Prolog oder TOQL.. Die gebräuchlichste Form einer Datenbank ist eine relationale Datenbank. Die Struktur der Daten wird durch ein Datenbankmodell festgelegt. Zu unterscheiden ist der hier beschriebene Begriff der Datenbank (bestehend aus DBMS und Daten) von Datenbankanwendungen: Letztere sind (häufig zur Anwendungssoftware gehörende) Computerprogramme, die ihre jeweils individuell erforderlichen Daten unter Nutzung eines Datenbanksystems verwalten und speichern. Beispiele sind Auftragsverwaltung, Bestellwesen, Kunden- und Adressverwaltung.

Datenbankmodelle

Das hierarchische Datenbankmodell

Die dem hierarchischen Datenbankmodell zugrunde liegende Struktur ist der Baum. Dieses Modell kann sehr komplexe Strukturen aufweisen und somit komplexe Informationsgebilde auf dem Rechner umsetzen.

Vorteile:
- relativ einfache Struktur
- effiziente Arbeitsweise
- schnelles Auffinden von Daten
Nachteile:
- nur eine Zugriffsrichtung auf die Information möglich
- "reale Welt" häufig nicht in einer Hierarchie darstellbar
- unflexibel bei Änderungen der Struktur

Das Netzwerk-Datenbankmodell

Dieses Modell erlaubt kompliziertere Beziehungen zwischen den Objekten. Objekte können wie bei einem Netzwerk miteinander verknüpft werden. Damit soll vor allem eine Doppelspeicherung von Daten vermieden wer-den. Das Netzwerkdatenbankmodell ist gut für komplexere Datenbanken geeignet, wenn die Struktur über längere Zeit erhalten bleibt.

Vorteile:
- speicher- und laufzeiteffizienter als relationale Modelle
- effektiver Zugriff auf die Informationen mittels Adressverweisen (Pointer) möglich
- Minimierung der Redundanz
Nachteile:
- hoher Einarbeitungsaufwand für den Nutzer bei der Arbeit mit Zeigern (Pointern)
- enthalten in der Regel keine Abfragesprache
- unflexibel bei Änderungen der Struktur

Das relationale Datenbankmodell

In diesem Modell sind die Daten in Tabellen (Relationen) angeordnet. Zusammenhängende Daten (z. B. Adressen) werden in elementare Beziehungen (z. B. Name, Straße, Nummer, PLZ, Ort) aufgelöst. Letztendlich bleiben einfache Tabellen, die über Schlüsselelemente miteinander verbunden werden können.

Beispiel: Bibliothek (extreme Kurzform):

Tabelle Buch

BUCH-ID AUTOR VERLAG JAHR TITEL
1 J.Gutenberg Eigenverlag 1452 Die Bibel
2 G.I.Caesar SPQR 44 Der gallische Krieg
3 Galileo Galilei Inquisition International 1640 Und sie dreht sich doch
4 Charles Darwin Vatikan-Verlag 1860 Der Stärkere setzt sich durch
5 Willi Müller Musterverlag 2016 SQL

Tabelle Nutzer

BENUTZER ID Vorname Nachname
1 Karl Marx
2 Karl May
3 Johann Wolfgang Goethe
4 Angela Merkel
5 Irmgard Musterfrau

Tabelle Entliehen

Ausleih-Nr Nutzer-ID Buch-ID
1 1 1
2 2 2
3 4 4
4 2 5
5 3 2

Für die Elemente der Tabelle werden folgende Bezeichnungen verwendet:
Spaltenüberschrift: Attribut
Zeile: Tupel (Datensatz, Record)
Schnittpunkt Zeile/Spalte: Attributwert
- Um sich in der Tabelle zu orientieren, wird üblicherweise ein Attribut ausgewählt, dessen Wertebelegung die eindeutige Identifikation des Tupels und damit seine Unterscheidung von anderen gestattet.
- Dieses Attribut wird Primärschlüssel genannt.
- Bietet der Sachverhalt kein derartiges Attribut, wird meist ein "künstlicher" Schlüssel eingeführt (z. B. durchgehende Nummerierung)
Vorteile:
- einfache, übersichtliche Handhabung
- Verknüpfung mehrerer Tabellen leicht möglich
- einfache Implementierung
Nachteile:
- kein schneller Suchalgorithmus
- hohe Redundanz teilweise unumgänglich
- Verknüpfung von Attributen aus verschiedenen Tabellen nur über Schlüssel möglich
Ein Primärschlüssel kann als sekundärer Schlüssel vererbt werden. Dann wird er in der abhängigen Tabelle zum Fremdschlüssel (Sekundärschlüssel).