Vorwort 11
1 Einleitung 15
1.1 Aufbau des Buches 15
1.2 Das durchgehende Datenbankbeispiel 16
1.3 Die SQL-Übungen 17
1.4 Übungssoftware SQL-Teacher 17
1.5 Notationen 22
2 Datenbankentwurf 23
2.1 Was ist SQL? 23
2.2 Phasen der Datenbankentwicklung 25
3 Datenbankdefinition 43
3.1 Einführung 43
3.2 Tabellen und Datentypen 45
3.3 Tabellen anlegen (CREATE TABLE) 54
3.4 Integritätsregeln 55
3.5 Domänen 72
3.6 Tabellendefinitionen verändern (ALTER TABLE) 82
3.7 Tabellen löschen (DROP TABLE) 86
3.8 Indices 88
4 Datensätze einfügen (INSERT INTO) 95
5 Daten abfragen (SELECT) 99
5.1 Aufbau des SELECT-Befehls 102
5.2 SELECT mit Bedingung (WHERE) 106
5.3 Ausgabe sortieren (ORDER BY) 112
5.4 SELECT mit Gruppenbildung (GROUP BY) 117
5.5 Mengenoperationen (UNION, INTERSECT, EXCEPT/MINUS) 121
5.6 Funktionen für SELECT-Befehle 125
5.7 NULL-Werte in Abfragen 140
6 Daten aus mehreren Tabellen abfragen (JOIN) 143
6.1 Relationenalgebra 146
6.2 Der innere Verbund (INNER JOIN) 147
6.3 Der äußere Verbund (LEFT JOIN/RIGHT JOIN) 153
7 Unterabfragen (Subselects) 155
7.1 Unterabfragen, die eine Zeile zurückgeben 157
7.2 Unterabfragen, die mehr als eine Zeile zurückgeben 160
7.3 Regeln für die Verwendung von Unterabfragen 165
8 Datensätze ändern (UPDATE) 167
8.1 Unterabfragen in UPDATE-Befehlen 170
9 Datensätze löschen (DELETE FROM) 173
9.1 Unterabfragen in DELETE-Befehlen 176
10 Datensichten 179
10.1 Datensicht erstellen (CREATE VIEW) 179
10.2 Verhalten von Datensichten beim Aktualisieren 182
10.3 Aktualisieren mit Prüfoption 185
10.4 Views ändern und löschen (DROP VIEW) 186
11 Transaktionen 189
11.1 Eigenschaften von Transaktionen 190
11.2 Isolationsebenen bei Transaktionen 196
12 Routinen und Trigger 197
12.1 Funktionen und Prozeduren 197
12.2 Trigger (CREATE TRIGGER) 201
13 Zeichensätze und Lokalisierung 207
14 Benutzer, Privilegien und Sicherheit 213
14.1 Überblick 213
14.2 Benutzer und Rollen 214
14.3 Benutzerprivilegien einrichten (GRANT) 215
14.4 Benutzerrechte und Views 218
14.5 Benutzerprivilegien löschen (REVOKE) 219
15 Systemkatalog 221
15.1 Aufbau 221
15.2 Informationen des Systemkatalogs abfragen 222
16 SQL/XML 225
16.1 Was ist XML 225
16.2 Der XML-Datentyp 228
16.3 XML-Funktionen 229
16.4 Export der Datenbank als XML 231
17 Lösungen zu den Aufgaben 233
17.1 Lösungen zu Kapitel 2 233
17.2 Lösungen zu Kapitel 3 235
17.3 Lösungen zu Kapitel 4 247
17.4 Lösungen zu Kapitel 5 248
17.5 Lösungen zu Kapitel 6 257
17.6 Lösungen zu Kapitel 7 260
17.7 Lösungen zu Kapitel 8 261
17.8 Lösungen zu Kapitel 9 262
17.9 Lösungen zu Kapitel 10 263
17.10 Lösungen zu Kapitel 12 264
17.11 Lösungen zu Kapitel 13 265
17.12 Lösungen zu Kapitel 14 266
17.13 Lösungen zu Kapitel 15 270
18 Beispieldatenbank 271
19 SQL-Syntax gängiger Datenbanken 279
19.1 Die ausgewählten Datenbanken 279
19.2 Datentypen 280
19.3 Tabellen anlegen, ändern, löschen 283
19.4 Domänen anlegen, ändern, löschen 289
19.5 Indices anlegen, ändern, löschen 291
19.6 Datensätze einfügen, ändern, löschen 293
19.7 Daten abfragen (SELECT) 295
19.8 Datensichten (VIEWS) 301
19.9 Transaktionen 302
19.10 Prozeduren/Funktionen/Trigger 303
19.11 Benutzer, Privilegien, Sicherheit 307
19.12 Unterstützung von XML in Datenbanken 309
20 Inhalt der CD-ROM 311
Index 313