[eine Zusammenfassung von Christian Rausch nach Schicker: Datenbanken und SQL, 1999]
Vereinfacht ausgedrckt bestehen relationale Datenbanken aus Tabellen, in denen Daten
gespeichert sind. blicherweise stehen die Tabellen in Beziehungen zueinander, d. h. manche
Eintrge sind Verweise auf andere Eintrge in anderen Tabellen.
Wichtige Anforderungen an eine Datenbank:
geringe Redundanz,
gute Handhabbarkeit,
einfache Zugriffe ber mglichst wenige
Tabellen
Sicherstellung von Konsistenz und Integritt Datenbeziehungen bleiben in sich logisch und
stimmig. Keine Gefahr von Datenverlust z. B. bei
Updates oder Lschungen.
PLZ
80075
80075
80075
70038
70038
10183
Verk_Adresse
Mnchen
Mnchen
Mnchen
Stuttgart
Stuttgart
Berlin
Produktname
Waschmaschine
Herd
Khlschrank
Herd
Khlschrank
Staubsauger
Umsatz
11000
5000
1000
4000
3000
1000
Zeilen, die den Produktnamen Staubsauger enthalten, entfernt werden, da sonst auch alle
Informationen zu Verkufer Mller aus der Datenbank entfernt werden!
E. F. Codd untersuchte ab 1970 den optimalen Aufbau von Tabellen und legte die Grundlage zu
mathematisch-fundierten Theorien (relationale Algebra, Relationenkall, Normalformenlehre).
Es wurde theoretisch belegt, dass Tabellen so aufgebaut werden knnen, dass sowohl Redundanzen
in den Daten vermieden als auch Einzeldaten isoliert gelscht werden knnen.
Informelle Ausdrucksweise
Tabelle
eine Zeile (Reihe) einer Tabelle
Anzahl der Zeilen einer Tabelle
eine Spalte (Feld) einer Tabelle
Anzahl der Spalten einer Tabelle
eindeutiger Bezeichner einer Zeile (eines Tupels)
Menge aller mglichen Werte
L#
Lname
Stadt
PLZ
L1
Mller
Mnchen
81724
Schmidt
Regensburg
93055
L3
Maier
Hamburg
20543
L4
Schwarz
Kln
50087
L5
Wei
Berlin
11168
Relation L2
Kopf(zeile)
Rumpf
Tupel
Attribute
Grad
Abb. 1 Relationale Begriffe am Beispiel: L1-L5 Primrschlssel; die Kardinalitt ist die Zeilenzahl
(=Tupelzahl)
Der Kopf besteht aus einer festen Anzahl von Attributen:
{(A1; D1), (A2; D2), ... , (An; Dn)}, wobei jedes Attribut Ai genau mit einem Gebiet korrespondiert
(1 i n)
Der Rumpf besteht aus einer variablen Anzahl von Tupeln.
2/13
Der Grad einer Relation R (d. h. die Spaltenzahl = Attributszahl) wird beim Erzeugen der Relation
festgelegt (beim Hinzufgen einer Spalte (Attribut) handelt es sich genaugenommen um die
berfhrung der Relation in eine andere). Die Kardinalitt ist beim Erzeugen der Relation gleich
Null und erhht sich mit jedem Einfgen eines neuen Tupels.
Definition (Relation)
Eine Relation ist eine Tabelle obiger Gestalt, bestehend aus einem Kopf und einem Rumpf, mit
folgenden 4 Eigenschaften:
Es gibt keine doppelten Tupel.
Tupel sind nicht geordnet (etwa von oben nach unten).
Attribute sind nicht geordnet (etwa von links nach rechts).
Alle Attribute sind atomar, d. h. jedes Attribut (Tabellenelement) enthlt nur ein Element.
(Handhabung wird vereinfacht, Speicherbedarf kann besser geplant werden.)
Definition (Relationale Datenbank)
= eine Ansammlung von normalisierten Relationen,
die zeitlich variieren (knnen).
die einen (geeigneten) Grad haben.
die Relationen stehen zueinander in einer bestimmten Beziehung und
werden von einem Verwaltungssystem gemeinsam verwaltet.
Eine Datenbank, die ausschlielich mit SQL Befehlen verwaltet und auf die ausschlielich mit
SQL Befehlen zugegriffen wird, ist bereits eine relationale Datenbank, da SQL nur Relationen
kennt.
Unterscheidung
eigentliche Relationen <---> von eigentl. Relationen abgeleitete Relationen
Basisrelationen (am wichtigsten, da eigentliche Relation)
existieren tatschlich (real) in der DB, haben Namen und sind dauerhaft gespeichert.
Sichten (Views)
virtuell und nicht real
erscheinen dem Benutzer wie normale Relationen
aus Basisrelationen abgeleitet
geeignet, um Benutzer mit eingeschrnkten Rechten z.B. nur Teilsicht auf eine best.
Relation zu gewhren.
Abfrageergebnisse (Query-Results)
sind auch Relationen
existieren nur temporr als Abfrageergebnisse auf Bildschirm oder Drucker
Temporre Relationen
existieren wie Abfrageergebnisse nur temporr
werden aber erst durch best. Aktionen z.B. Beenden einer Transaktion zerstrt
dienen v.a. zum Abspeichern von Zwischenergebnissen.
3/13
In SQL:
CREATE TABLE ...;
CREATE VIEW ...;
SELECT ...;
CREATE TEMPORARY TABLE ...;
Definition (Primrschlssel)
der Primrschlssel ist ein besonderes Attribut, durch das jeder Tupel eindeutig beschrieben wird.
Primrschlssel kann aus mehreren Einzelattributen zusammengesetzt sein.
Wegen der Def. der Relation (einmaliges Auftauchen eines Tupels) besitzt jede Relation einen
Primrschlssel. Im ungnstigsten Fall erstreckt sich dieser ber mehrere oder sogar alle Attribute!
Bsp. Primrschlssel Tab. 3
Tab. 3 Relation Lagerbestand mit zusammengesetztem Primrschlssel
Produktname
Produkttyp
Bestand
Preis
Staubsauger
T06
25
498
Staubsauger
T17
17
219
...
...
...
...
Herd
T04
10
1598
1998
Herd
T06
<--- Primrschlssel ------------->
4/13
1. Integrittsregel (Entitts-Integrittsregel)
Keine Komponente des Primrschlssels einer Basisrelation darf nichts enthalten.
Definition (Schlsselkandidat)
Ein eventuell aus mehreren einzelnen Attributen zusammengesetztes Attribut heit
Schlsselkandidat, falls es
eindeutig jedes Tupel identifiziert und
minimal ist, d.h. bei Weglassen eines einzelnen Attributs die Eindeutigkeit verloren geht.
Definition (Primrschlssel, alternativer Schlssel)
Besitzt eine Relation mehrere Schlsselkandidaten, so wird davon einer als Primrschlssel
ausgewhlt; alle anderen heien alternative Schlssel. Der Primrschlssel soll minimal sein.
Teilattribute des alternativen Schlssels drfen leer sein.
Bsp. fr Auftreten von Primrschlssel und alternativen Schlsseln in Tab. 4:
Tab. 4 Tabelle der chemischen Elemente
Protonen
Atomgewicht
Name
Symbol
1,0079
Wasserstoff
4,0026
Helium
He
6,9410
Lithium
Li
...
...
...
...
NB: Protonenzahl, Namen und Symbol des Elements sind Schlsselkandidaten.
1.3.2 Referenz-Integrittsregel
Diese regelt Verweise der Relationen untereinander. Allgemein gesprochen sind Relationen
einzelne Objekte ohne zwingenden Bezug. blicherweise gibt es aber einen Bezug, da in
Datenbanken zusammengehrige Dinge verwaltet werden. Der Bezug zwischen zwei Relationen
wird durch einen weiteren Schlssel, den sog. Fremdschlssel hergestellt. Fremdschlssel sind der
Kitt, der die einzelnen Relationen zu einem gemeinsamen Datenbestand zusammenfgt.
Definition (Fremdschlssel)
Ein (mglicherweise zusammengesetztes) Attribut einer Basisrelation heit Fremdschlssel, falls
das ganze Attribut entweder nichts oder einen definierten Inhalt enthlt,
eine Basisrelation mit einem Primrschlssel existiert, so dass jeder definierte Wert des
Fremdschlssels zum Wert jenes Primrschlssels identisch ist.
Beispiel fr die Relationen Personal, Kunde und Auftrag (Tab. 5) (nchste Seite)
5/13
6/13
2. Integrittsregel (Referenz-Integrittsregel)
Eine relationale Datenbank enthlt keinen Fremdschlssel (ungleich NULL), der auf einen nichtexistenten Primrschlssel verweist.
Problem: Falls ein Tupel mit Primrschlssel gelscht werden soll, auf den Fremdschlssel
verweisen, so kann dieses nicht einfach gelscht werden, da sonst der Fremdschlssel ins Leere
verweist wodurch die 2. Integrittsregel verletzt wre.
Lsungsmglichkeiten:
Lschen bzw. ndern nicht durchfhren
ON DELETE NO ACTION bzw. ON UPDATE NO ACTION
Lschen bzw. ndern rekursiv aller darauf verweisender Tupel
ON DELETE CASCADE bzw. ON UPDTATE CASCADE
Nullsetzen aller darauf verweisender Fremdschlssel
ON DELETE SET NULL bzw. ON UPDTATE SET NULL
7/13
(Natrliche) Verbindung
R1 JOIN R2
alle mgl. Kombinationen der Tupel aus R1 u. R2.
gemeinsame Attribute dienen als Verknpfung, Verknpfung bei gemeinsamen Attributen ist
ber Fremdschlssel -> Primrschlssel gegeben.
Division
R1 DEVIDEBY R2
R1 muss mindestens alle Att. von R2 enthalten (R2 ist Teilmenge von R1).
Die neue Relation
enthlt nur die Attribute, die R1 zustzlich zu R2 hat
enthlt nur die Tupel von R2 deren Attribute Att mit denen von R1 bereinstimmen.
nur die neuen Attribute werden gewhlt (d.h. nur in R1 enthalten)
nur die Tupel werden gewhlt, wo fr die Attribute gilt, die in R1 und R2 vorhanden sind:
die Attribute stimmen in ihren Werten berein
Graphische Verdeutlichung (Abb. 2):
Abb 2.1: Natrliche Verbindung (JOIN) der Relationen Personal und Auftrag
8/13
2 Datenbankdesign
2.1 Normalformenlehre
Die Normalformenlehre betrachtet immer Relationen fr sich.
Das Entity-Relationship-Modell ist ein Gesamt-Design mit allen Beziehungen zwischen den
Relationen.
Die Normalformenlehre beschreibt, wie Relationen aufgebaut werden sollen, um Redundanzen zu
vermeiden. Codd stellte 1970 3 Normalformen auf, heute gibt es insg. 5 Normalformen.
Die 1. - 3. finden am meisten Anwendung.
Die Normalformen bauen aufeinander auf, d.h. befindet sich eine Datenbank in der m.ten
Normalform, so befindet sie sich auch in der n.ten (m n).
Definition (erste Normalform)
Eine Relation ist in der ersten Normalform, wenn alle zugrundeliegenden Gebiede nur atomatre
Werte anthalten.
Definition (funktionale Abhhngigkeit)
Ein Attrbut Y einer Relation R hei funktional abhngig vom Attirbut X derselben Relation, wenn
zu jedem X-Wert hchsten ein Y-Wert mglich ist.
Ist Y von X funktional abhngig so schreiben wir:
X->Y
Definition (volle funktionale Abhngigkeit)
Ein Attribut Y einer Relation R heit voll funktional abhngig vom Attribut X derselben Relation,
wenn es funktional abhngig von X ist, nicht aber funktional abhngig von beliebigen Teilattributen
von X.
Ist Y von X voll funktional abhngig so schreiben wir:
X=>Y
Definition (zweite Normalform)
Eine Relation ist in der zweiten Normalform, wenn sie in der ersten Normalform ist, und jedes
Nichtschlsselattribut voll funktional abhngig vom Primrschlssel ist.
(Ein Nichtschlsselattribut ist jedes (auch zusammengesetzte) Attribut, das kein Schlsselkandidat
ist.)
Bemerkung:
Eine normalisierte Relation mit einem nicht zusammengesetzten Primrschlssel befindet sich
immer in der zweiten Normalform. Umgekehrt besitzt eine Relation, die sich nicht in der zweiten
Normalform befindet, einen zusammengesetzten Primrschlssel.
Definition (Determinante)
Eine Determinante ist ein (eventuell zusammengesetztes) Attribut, von dem ein anderes voll
funktional abhngig ist.
Diese Definition besagt nur, dass jedes Attribut, von dem ein Doppelpfeil ausgeht, als Determinante
bezeichnet wird. In der zweiten Normalform sind also mindestens alle Schlsselkandidaten
Determinanten. Die dritte Normalform geht noch einen Schritt weiter:
9/13
2.2 Entity-Relationship-Modell
Nachdem geklrt wurde, wie einzelne Relationen aufgebaut werden sollten, wird nun beschrieben,
wie die Beziehungen zwischen den Relationen gestaltet werden sollen.
2.2.1 Entitten
Tab. 5 Begriffe zu relationalen Datenbanken
Entit
ein unterscheidbares Objekt (im Sinne der betrachteten Objekte in der
Datenbank), im mathematischen Sinne ein Element
Eigenschaft
Beziehung
Subtyp
Supertyp
Beispiele
Entitt
Eigenschaft
Beziehung
Subtyp
Supertyp
10/13
PLZ
Verk_Adresse
V1
Meier
80075
Mnchen
V2
Schneider
70038
Stuttgart
V3
Mller
50083
Kln
Produktname
P1
Waschmaschine
P2
Herd
P3
Khlschrank
P4
Staubsauger
Umsatz
V1
P1
11000
V1
P2
5000
V1
P3
1000
V2
P2
4000
V2
P3
3000
V3
P4
1000
11/13
12/13
REFERENCES Verkaeufer,
REFERENCES Produkt,
13/13