Relationale Datenbanken

Werbung
Herrmann Sauer
Relationale
Datenbanken
Theorie und Praxis
ADDISON-WESLEY PUBLISHING COMPANY
Bonn • München • Reading, Massachusetts • Menlo Park, California • New York
Don Mills, Ontario • Wokingham, England • Amsterdam • Sydney • Singapore
Tokyo • Madrid • San Juan
Inhaltsverzeichnis
Einleitung
Zum Inhalt dieses Buches
1 Einführung in Datenbank-Management-Systeme
1.1
1.2
1.3
1.4
Von der Realwelt zum Modell
Vom Modell zur Datenbank
Das Dreischichtenmodell nach ANSI/SPARC
Datenbank vs. Dateisystem
2 Relationale Grundlagen
7
9
12
13
17
2.1 Das Relationale Modell
19
2.2 Relationale Objekte
20
2.2.1 Domäne
21
2.2.2 Relation/Degree/Attribut/Tupel
24
2.2.3 Candidate-Key
24
2.2.4 Primary-Key, Alternate-Key, Foreign-Key
25
2.3 Relationale Integritätsregeln
" •
27
2.3.1 Entity-Integrität
28
2.3.2 Referenzielle-Integrität
28
2.4 Relationale Algebra
30
2J4.1 RESTRICTION
./
x^30
2.4.2 PROJECTION
,"'
30
2.4.3 PRODUCT
31
2.4.4 UNION
^
31
2.4.5 INTERSECTION
.-^
32
2.4.6 DIFFERENCE
32
2.4.7 JOIN
32
2.4.8 DIVISION
•
36
2.4.9 Anwendungsbeispiele der relationalen Algebra
36
2.4.10 Degree - und Kardinalitätsveränderungen durch relationale Operatoren 38
VIII Inhaltsverzeichnis
3 Einführung in SQL
39
3.1 Etwas SQL-Geschichte
3.2 Der SQL-Markt
3.3 Einführung
3.3.1 SQL - Befehlsübersicht
3.3.2 EBNF als Hilfsmittel zur Sprachbeschreibung
3.4 DDL Daten-Definitions-Anweisungen
3.4.1 CREATE TABLE - Tabellen erstellen
3.4.2 GRANT - Benutzer berechtigen
3.4.3 CREATE VIEW - Definieren einer logischen Tabelle
3.4.3.1 Einschränkungen bei der Definition von VIEWs
3.4.3.2 Einschränkungen bezüglich Updates auf VIEWs
3.4.3.3 Anwendungsmöglichkeiten von VIEWs
3.5 DML Daten-Manipulations-Anweisungen
3.5.1 Die SELECT-Anweisung (Daten aus der Datenbank lesen)
3.5.1.1 SELECT-Spezifikation
3.5.1.2 Spalten-Ausdruck
3.5.1.3 Funktionen
3.5.1.4 Tabellen-Ausdruck
3.5.1.5 Such-Bedingung
3.5.1.6 DasATL-OR-ANY-Prädikat
3.5.1.7 DasEXISTS-Prädikat
3.5.2 Die DELETE-Anweisung (Zeilen löschen)
3.5.3 Die UPDATE-Anweisung (Zeilen ändern)
3.5.4 Die INSERT-Anweisung (Zeilen einfügen)
3.6 SQL-Kritik
42
43
44
45
46
47
47
48
50
51
52
53
54
54
55
56
58
59
61
62
63
64
65
66
66
4 Datenbankinternas und Performance
69
4.1 Der physische Zugriff auf Daten ^
4.2 Adressierung mit der Record-ID
4.3 Speicherstrukturen
4.3.1 Der Binär-Baum
^
4.3.2 Der B-Baum
^
4.3.3 Hashing
"
4.3.4 Heap
4.3.5 Zusammenfassung
4.4 Die Abarbeitung von SQL-Statements
4.4.1 Der semantische Level einer Programmiersprache
4.4.2 Umsetzung von SQL-Ausdrücken in relationale Algebra
4.4.3 Optimierung durch frühzeitige Restriktion
7\s
74
75
75
82
82
85
86
86
87
90
92
Inhaltsverzeichnis IX
4.4.4 Optimierung durch JOIN
4.4.5 Realisierung des JOINJOIN-Realisierung
4.4.6 Der Query-Optimierer
4.4.7 Testen der Qualität des Query-Optimierers
4.5 Datenbank-Rechner
4.6 Zusammenfassung
94
95
100
103
106
112
5 Recovery und Parallelverarbeitung
113
5.1 Recovery
5.1.1 Logging
5.1.2 Transaktion
5.1.3 Transaktionsabrüche
5.1.4 ROLLBACK (Undo) Logik
5.2 Parallelverarbeitung
5.2.1 Datenbank Lock (Sperrung)
5.2.2 Exklusive Locks
5.2.3 Deadlocks
5.2.4 Shared Locks
5.3 Transaktionsverarbeitung unter SQL
5.4 Performance in der,Multiuser Umgebung
115
116
116
119
120
120
122
123
126
129
131
133
6 Verteilte Datenbanken
135
6.1
6.2
6.3
6.4
6.5
6.6
6.7
Was versteht man unter einem VDBMS
Die zwölf Regeln von C.J. Date;
Die speziellen Anforderungen an den Optimierer im VDBMS
Transaktionsverwaltung im VDBMS
Synchronisation im VDBMS
Recovery im VDBMS
Aktuelle Produkte
/
7 Datenbank-Design
'
7.1 Normalisierung
7.1.1 Normalisierungsgründe
7.1.2 Abhängigkeiten von Attributen
7.1.3 Erste Normalform
7.1.4 Zweite Normalform
7.1.5 Dritte Normalform
7.1.6 Boyce/Codd (BCNF) Normalform
7.1.7 Vierte Normalform
^
"
-
138
140
145
151
152
153
153
-^
155
158
159
161
163
164
165
166
166
X Inhaltsverzeichnis
7.1.8 Fünfte Normalform
,
7.2 Entity Relationenship Modell (ER-Modell)
7.2.1 Entity Relationenship Diagramme
7.2.2 Degree eines Relationenship (Grad einer Beziehung)
7.2.3 Mitgliedsklassen
7.2.4 Auflösung des ER-Modells in Relationen
7.3 Zusammenfassung
167
169
170
171
172
174
179
8 Die zwölf Regeln zur Bestimmung der Relationalität eines DBMS
181
8.1 Einführung
8.2 Die zwölf RDBMS Regeln
8.3 Schlußfolgerung
183
184
192
9 Datenbankauswahl
193
9.1
9.2
9.3
9.4
9.5
9.6
196
197
198
200
209
209
Allgemeine Vorgehensweise
K.O.-Kriterien
Strategische Kriterien, die sich nur schwer rein technisch beurteilen lassen
Technische Kriterien
Gewichtung des Anforderungskatalogs
Ermitteln der Funktionalität eines DBMS
Anhänge
211
A
B
211
221
227
Glossar
Literaturverzeichnis
Index
Herunterladen