Einleitung 13
1.1 Aufbau des Buches 13
1.2 Das durchgehende Datenbankbeispiel 14
1.3 Die SQL-Übungen 15
1.4 Übungssoftware SQL-Teacher 15
1.5 Notationen 20
2 Datenbankentwurf 21
2.1 Was ist SQL? 21
2.2 Phasen der Datenbankentwicklung 23
3 Datenbankdefinition 39
3.1 Einführung 39
3.2 Tabellen und Datentypen 41
3.3 Tabellen anlegen (CREATE TABLE) 51
3.4 Integritätsregeln 52
3.5 Domänen 69
3.6 Tabellendefinitionen verändern (ALTER TABLE) 78
3.7 Tabellen löschen (DROP TABLE) 82
3.8 Indices 84
4 Datensätze einfügen (INSERT INTO) 91
5 Daten abfragen (SELECT) 95
5.1 Aufbau des SELECT-Befehls 98
5.2 SELECT mit Bedingung (WHERE) 102
5.3 Ausgabe sortieren (ORDER BY) 108
5.4 SELECT mit Gruppenbildung (GROUP BY) 113
5.5 Mengenoperationen (UNION, INTERSECT, EXCEPT/MINUS) 117
5.6 Funktionen für SELECT-Befehle 121
5.7 NULL-Werte in Abfragen 136
6 Daten aus mehreren Tabellen abfragen (JOIN) 139
6.1 Relationenalgebra 142
6.2 Der innere Verbund (INNER JOIN) 143
6.3 Der äußere Verbund (LEFT JOIN/RIGHT JOIN) 149
7 Unterabfragen (Sub-Selects) 151
7.1 Unterabfragen, die eine Zeile zurückgeben 153
7.2 Unterabfragen, die mehr als eine Zeile zurückgeben 156
7.3 Regeln für die Verwendung von Unterabfragen 161
8 Datensätze ändern (UPDATE) 163
8.1 Unterabfragen in UPDATE-Befehlen 166
9 Datensätze löschen (DELETE FROM) 169
9.1 Unterabfragen in DELETE-Befehlen 172
10 Datensichten 175
10.1 Datensicht erstellen (CREATE VIEW) 175
10.2 Verhalten von Datensichten beim Aktualisieren 178
10.3 Aktualisieren mit Prüfoption 181
10.4 Views ändern und löschen (DROP VIEW) 182
11 Transaktionen 185
11.1 Eigenschaften von Transaktionen 186
11.2 Isolationsebenen bei Transaktionen 192
12 Routinen und Trigger 195
12.1 Funktionen und Prozeduren 195
12.2 Trigger (CREATE TRIGGER) 199
13 Zeichensätze und Lokalisierung 205
14 Benutzer, Privilegien und Sicherheit 211
14.1 Überblick 211
14.2 Benutzer und Rollen 212
14.3 Benutzerprivilegien einrichten (GRANT) 213
14.4 Benutzerrechte und Views 216
14.5 Benutzerprivilegien löschen (REVOKE) 217
15 Systemkatalog 219
15.1 Aufbau 219
15.2 Informationen des Systemkatalogs abfragen 220
16 Lösungen zu den Aufgaben 223
16.1 Lösungen zu Kapitel 2 223
16.2 Lösungen zu Kapitel 3 224
16.3 Lösungen zu Kapitel 4 232
16.4 Lösungen zu Kapitel 5 233
16.5 Lösungen zu Kapitel 6 239
16.6 Lösungen zu Kapitel 7 241
16.7 Lösungen zu Kapitel 8 242
16.8 Lösungen zu Kapitel 9 242
16.9 Lösungen zu Kapitel 10 243
16.10 Lösungen zu Kapitel 12 244
16.11 Lösungen zu Kapitel 13 245
16.12 Lösungen zu Kapitel 14 245
16.13 Lösungen zu Kapitel 15 248
17 Beispieldatenbank 251
18 SQL-Syntax gängiger Datenbanken 259
18.1 Die ausgewählten Datenbanken 259
18.2 Datentypen 260
18.3 Tabellen anlegen, ändern, löschen 262
18.4 Domänen anlegen, ändern, löschen 268
18.5 Indices anlegen, ändern, löschen 269
18.6 Datensätze einfügen, ändern, löschen 271
18.7 Daten abfragen (SELECT) 273
18.8 Datensichten (VIEWS) 277
18.9 Transaktionen 278
18.10 Prozeduren/Funktionen/Trigger 279
18.11 Benutzer, Privilegien, Sicherheit 283
19 Inhalt der CD-ROM 285
Index 287