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).