Inhaltsverzeichnis - Wiley-VCH

Werbung
Inhaltsverzeichnis
Einleitung
19
Über dieses Buch
Konventionen in diesem Buch
Was Sie nicht lesen müssen
Törichte Annahmen über den Leser
Wie dieses Buch aufgebaut ist
Teil I: Einführung in Datenbanksysteme
Teil II: Von der Aufgabenstellung zur relationalen Datenbank
Teil III: Zugriff auf relationale Datenbanken mit SQL
Teil IV: Die Verwaltung einer relationalen Datenbank
Teil V: Objektrelationale Datenbanksysteme
Teil VI: Grundlagen von Datenbankanwendungen
Teil VII: Der Top-10-Teil
Symbole, die in diesem Buch verwendet werden
Wie es weitergeht
19
20
21
21
22
22
22
22
22
23
23
23
23
24
Teil I
Einführung in Datenbanksysteme
25
Kapitel 1
Wozu Datenbanksysteme da sind
27
Daten und ihre Speicherung
Ein einführendes Beispiel
Aufgaben
Vertiefungsfragen
Übungen
27
30
36
36
36
Kapitel 2
Definition und Architektur von Datenbanksystemen
37
Dateiverarbeitung: Ein Überblick
Merkmale von Anwendungen mit Dateizugriff
Datenbanksysteme: Architektur und Definition
Eigenschaften von Datenbanksystemen
Datenbank- und Informationssysteme
Wer macht was
Gesellschaftliche Auswirkungen großer Datenbanken
37
37
41
42
44
44
45
9
Datenbanksysteme für Dummies
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Kapitel 3
Überblick über Datenmodelle
Klassifikation von Daten
Datenmodelle
Ein historischer Überblick
Das netzwerkartige Datenmodell
Das relationale Datenmodell
Tabellen
Beziehungen
Datenbankschema
Beispiel
NoSQL-Datenmodelle
Spaltenorientierte Datenbanken
Dokumentenorientierte Datenbanken
Vergleich von NoSQL- und relationalen Systemen
Benutzungsschnittstellen
Übersicht über Datenbanksysteme
Aufgaben
Übungsaufgaben
Vertiefungsfragen
Übungen
Kapitel 4
Vorgehensweise bei der Datenbankentwicklung
Ein einfacher Software-Entwicklungsprozess
Wie schreibt man Programme
Überblick über aktuelle Vorgehensweisen
Phasenmodell der Datenbankentwicklung
Die Datenbank kommt ins Spiel
Von der Anforderungsanalyse zu Betrieb und Wartung
Die Anforderungsanalyse im Detail
Erhebungstechniken
Ergebnis der Anforderungsanalyse
Der Datenbankentwurf im Detail
Semantischer Entwurf
Logischer Entwurf
Physischer Entwurf
Beispiel
Ein Beispiel mit Anforderungsanalyse und Entwurf
10
46
46
46
47
47
48
50
51
54
54
55
56
56
57
57
58
59
59
61
62
62
62
62
63
63
63
65
66
66
67
70
70
71
71
72
72
73
73
74
Inhaltsverzeichnis
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
78
78
79
79
Teil II
Von der Aufgabenstellung zur relationalen Datenbank
81
Kapitel 5
Semantische Modellierung einer Datenbank
83
Entitätstypen, Attribute und Beziehungen
Entitätstypen
Attribute
Beziehungen
Beziehung oder Attribut
Die Entity-Relationship-Modellierung
Entitätstypen und Attribute
Beziehungen
Erweiterung des klassischen ER-Modells: die MC-Notation
Beispiele
Weitere Notationsformen
Semantische Modellierung mit UML-Klassendiagrammen
Klassendiagramme
Beziehungen in UML-Klassendiagrammen
Constraints bei Beziehungen
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
83
83
85
86
89
90
90
91
93
95
99
100
101
101
103
104
104
104
104
Kapitel 6
Das relationale Datenbankmodell im Detail
107
Erläuterungen zum Begriff »Relation«
Relationen sind Mengen
Konstruktionsregeln für Relationen
Primär- und Fremdschlüssel
3-Ebenen-Architektur
Datenunabhängigkeit
Sichten und Schemata
Merkmale relationaler Datenbanken
107
107
109
110
112
112
112
115
11
Datenbanksysteme für Dummies
Integritätsaspekte relationaler Datenbanken
Schlüsselintegrität
Typintegrität
Referenzielle Integrität
Transaktionsintegrität
Relationenalgebra im Überblick
Mengenoperationen der Relationenalgebra
Das kartesische Produkt
Spezielle Operationen der Relationenalgebra
Beispiele für Datenbankabfragen mit der Relationenalgebra
Aufgaben
Wiederholungsfragen
Übungen
Kapitel 7
Entwurf und Implementierung des Datenbankschemas
Umsetzung eines Entity-Relationship-Diagramms in ein Datenbankschema
Entitätstypen und Attribute
Beziehungen
Tabellen und ihre Attribute
Woran erkennt man gut strukturierte Tabellen?
Das Anomalie-Problem
Kriterien einer guten Zerlegung von Tabellen
Normalisierung
Die erste Normalform
Die zweite Normalform
Die dritte Normalform
Die Boyce-Codd-Normalform
Zusammenfassung
Erzeugen der Tabellen mit SQL
Syntax der SQL-Definitionen
Der Befehl CREATE TABLE
Datentypen
Integritätsbedingungen (Constraints)
Automatische Schlüsselgenerierung
Änderung der Tabellenstruktur
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
12
117
118
120
120
121
125
125
127
128
131
132
132
132
135
135
135
136
140
141
141
142
145
145
146
148
150
150
151
151
152
153
154
158
159
160
160
161
161
Inhaltsverzeichnis
Teil III
Zugriff auf relationale Datenbanken mit SQL
165
Kapitel 8
Die DML-Befehle von SQL
167
SQL und relationale Datenbanksysteme
Der SELECT-Befehl im Überblick
Der INSERT-Befehl
Einzelne Tupel speichern
Mehrere Tupel speichern
Attribute mit automatisch vergebenen Werten
Der UPDATE-Befehl
Der DELETE-Befehl
DML-Befehle und Fremdschlüssel
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
167
168
172
173
173
174
175
176
176
178
178
178
178
Kapitel 9
Der SELECT-Befehl im Detail
179
Datenbankschema für die Beispiele
Abfrage einer einzelnen Tabelle
Zählen und Sortieren
Numerische Operatoren
String-Operatoren
Logische Operatoren
Mengenwertige Filter
Behandlung von NULL-Werten
Abfragen über mehrere Tabellen
Mengenoperatoren
Join in der Where-Klausel
Der Join-Operator
Der EXISTS-Quantor
Gruppierung mit »GROUP BY«
Unterabfragen
Subselect in der Where-Klausel
Subselect in der From-Klausel
Subselect in der Select-Klausel
Aufgaben
Wiederholungsfragen
Übungen
179
180
180
182
184
185
186
186
189
189
190
193
195
197
199
200
201
202
204
204
204
13
Datenbanksysteme für Dummies
Teil IV
Die Verwaltung einer relationalen Datenbank
207
Kapitel 10
Benutzersichten
209
Was sind Benutzersichten?
Definition von Views
Beispiele für Views
Vorteile von Views
Datenunabhängigkeit
Datenschutz durch Views
Vordefinition von SQL-Abfragen
Views und die Generalisierung/Spezialisierung
Untertypen als View
Obertyp als View
DML-Operationen bei Views
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
Kapitel 11
Datensicherheit und Zugriffsrechte bei Datenbanken
Datensicherheit und Datenschutz
Was bedeutet das?
Schutzziele und Schutzmechanismen bei Datenbanken
Benutzer und ihre Zugriffsrechte
Benutzer
Rollen
Vergabe von Zugriffsrechten
Zurücknahme von Rechten
Aufgaben
Vertiefungsfragen
Übungen
Kapitel 12
Datenbankoptimierung
Einflussmöglichkeiten bei SQL-Abfragen
Übersetzung und Optimierung
Transaktionsverarbeitung
Speicherverwaltung
Ansatzpunkte für Tuning-Möglichkeiten
14
209
209
210
212
212
212
213
213
214
215
216
218
218
218
218
221
221
221
222
224
224
224
225
227
228
228
228
229
229
230
232
232
232
Inhaltsverzeichnis
Indizes als Zugriffspfade
Klassischer Index
Bitmap-Index
Der Ausführungsplan
Partitionierung
Range-Partitionierung
List-Partitionierung
Hash-Partitionierung
Optimierung des Datenbankschemas
Zusammenfassung von Relationen
Einführung redundanter Daten
Zerlegung einer Relation in mehrere kleinere
Spaltenorientierte Speicherung
Hardware und Systemumgebung
Einige Tipps zur Performance-Steigerung
Das sollten Sie beachten
Ein Beispiel
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
233
234
236
237
238
239
240
241
241
242
242
243
243
245
245
245
246
247
247
247
247
Teil V
Objektrelationale Datenbanksysteme
249
Kapitel 13
Objektorientierung und relationale Datenbanksysteme
251
Objektorientierte Softwareentwicklung
Eigenschaften von Objekten
Beziehungen zwischen Klassen
Die Generalisierung/Spezialisierung
Übertragung objektorientierter Konstrukte in die relationale Datenbankwelt
Schachtelung von Objekten
Assoziation, Aggregation und Komposition bei relationalen Datenbanken
Generalisierung/Spezialisierung und relationale Datenbanken
Der Begriff »Impedance Mismatch«
Das objektrelationale Datenbankmodell
Relationale Datenbanken und Objektorientierung
Merkmale des objektrelationalen Datenbankmodells
Beispiele für objektrelationale Strukturen
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
251
251
252
252
253
253
254
254
255
256
256
257
259
260
260
260
260
15
Datenbanksysteme für Dummies
Kapitel 14
Arbeiten mit objektrelationalen Tabellen
Einige objektrelationale Strukturen
Tabellen mit UDT als Attribut
Tabellen mit Listen als Attribut
Tabellen mit Tabellen als Attribut
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
263
263
264
267
269
272
272
272
272
Teil VI
Grundlagen zur Erstellung von Datenbanksystemen
273
Kapitel 15
Trigger und Stored Procedures
275
Architektur von Datenbank-Anwendungsprogrammen
PL/SQL
Grundlagen
Cursor-Verarbeitung
Trigger
Arten von Triggern
Syntax
Beispiele
Stored Procedures
Beispiele
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
Kapitel 16
Programmieren oder Generieren von Datenbankanwendungen
JDBC
Architektur und Funktionalität
PDO: PHP und MySQL
Generieren von Web-Anwendungen
APEX-Grundlagen
Beurteilung
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
16
275
277
277
278
279
279
280
282
285
285
286
286
286
287
289
289
289
294
296
296
297
298
298
298
298
Inhaltsverzeichnis
Kapitel 17
Anwendungsbereiche relationaler Datenbanken
299
Informationssysteme in Unternehmen
Relationale Datenbanken als Basis von Data-Warehouse-Systemen
Definition und Grundlagen
Relationale Datenbank als Data Warehouse
Geo-Datenbanken als Anwendung objektrelationaler Systeme
Einführung
Oracle Spatial (Locator)
Aufgaben
Wiederholungsfragen
Vertiefungsfragen
Übungen
299
300
300
303
305
305
306
309
309
309
310
Kapitel 18
SQL oder nicht SQL
311
Zusammenfassung
Merkmale relationaler Datenbanksysteme
Welche Datenbank für welches Problem?
Aufgaben
Vertiefungsfragen
311
312
312
313
313
Teil VII
Der Top-10-Teil
315
Kapitel 19
Die 10 größten Fehler beim Entwurf relationaler Datenbanken
317
Verletzung der Normalformen
Schlecht gewählte Variablennamen und Datentypen
Keine Check-Klauseln für Attribute
Keine Fremdschlüsseldefinitionen
Redundante Daten
Datenbankdateien und deren Kopien auf demselben Laufwerk
Keine vollständige und korrekte Abbildung des semantischen Modells
Zu wenig Absprache mit dem Anwender
Glossar nicht überprüft bzw. angepasst
Nicht genügend Testdaten
317
318
318
318
318
319
319
320
320
320
Kapitel 20
Die 10 wichtigsten SQL-Befehle und ihre Varianten
323
SELECT mit einer Tabelle
SELECT mit mehreren Tabellen (Join)
SELECT mit Gruppierung
323
324
324
17
Datenbanksysteme für Dummies
SELECT mit Unterabfrage
INSERT
UPDATE
DELETE
CREATE
DROP
COMMIT und ROLLBACK
Kapitel 21
10 Fragen bei der Entity-Relationship-Modellierung
ER-Modellierung oder UML?
Welche Schreibweise?
Sind die Entitätstypen korrekt gebildet?
Sind alle notwendigen Beziehungen erkannt?
Redundante Beziehungen oder nicht?
Gibt es existenzabhängige Entitätstypen?
1:1-Beziehung: muss das sein?
Stimmen die Kardinalitäten?
Ist das ER-Diagramm mit dem Anwender abgesprochen?
Ist das Glossar korrekt?
325
325
325
326
326
327
327
329
329
330
330
330
331
331
332
332
332
332
Anhang
333
Lösungen zu den Übungen
335
Übungen zu Kapitel 1
Übungen zu Kapitel 3
Übungen zu Kapitel 4
Übungen zu Kapitel 5
Übungen zu Kapitel 6
Übungen zu Kapitel 7
Übungen zu Kapitel 8
Übungen zu Kapitel 9
Übungen zu Kapitel 10
Übungen zu Kapitel 11
Übungen zu Kapitel 12
Übungen zu Kapitel 13
Übungen zu Kapitel 14
Übungen zu Kapitel 15
Übungen zu Kapitel 16
Übungen zu Kapitel 17
335
336
337
337
339
341
344
344
348
351
351
352
355
356
358
360
Literaturverzeichnis
363
Stichwortverzeichnis
367
18
Herunterladen