| Inhaltsverzeichnis | 6 |
|---|
| Vorwort | 12 |
|---|
| Aufbau und Struktur | 12 |
| Inhalt nach Kapiteln | 15 |
| Autoren | 16 |
| 1. Einführung | 19 |
|---|
| 1. 1. Beispieldatenbank | 19 |
| 1. 1. 1. Entitäten | 19 |
| 1. 1. 2. Szenario | 20 |
| 1. 1. 3. Tabellen und Beziehungen | 23 |
| 1. 2. Einrichtung der Umgebung | 26 |
| 1. 2. 1. Oracle Database 10g Express Edition | 26 |
| 1. 2. 2. Oracle Database 11g Express Edition | 29 |
| 1. 2. 3. Entwicklungsumgebung | 33 |
| 1. 3. Einrichtung der Beispiel-Datenbank | 36 |
| 1. 3. 1. Dateien | 37 |
| 1. 3. 2. Tabellen und Daten aufspielen | 38 |
| 2. SQL und relationale Datenbanken | 41 |
|---|
| 2. 1. Das relationale Datenbank-System | 41 |
| 2. 1. 1. Zentrale Begriffe | 41 |
| 2. 1. 2. Sichten auf ein relationales Datenbanksystem | 43 |
| 2. 1. 3. Anforderungen an ein DBMS | 45 |
| 2. 1. 4. Bestandteile einer Tabelle | 46 |
| 2. 1. 5. Inhalte einer relationalen Datenbank | 47 |
| 2. 1. 6. Architektur-Muster beim Einsatz relationaler Datenbanken | 49 |
| 2. 2. Das relationale Modell | 52 |
| 2. 2. 1. Grundbegriffe des relationalen Modells | 53 |
| 2. 2. 2. Semantisches Modell | 53 |
| 2. 2. 3. Eigenschaften von Daten | 55 |
| 2. 2. 4. Klassifikation von Datentypen | 58 |
| 2. 2. 5. Beziehungen zwischen Daten | 59 |
| 2. 2. 6. Entity-Relationship-Modell | 63 |
| 2. 2. 7. Normalisierung mit Normalformen | 66 |
| 2. 2. 8. DB-Anomalien | 74 |
| 2. 3. Einführung in SQL | 76 |
| 2. 3. 1. Eigenschaften und Ursprünge der Sprache | 76 |
| 2. 3. 2. Sprachbereiche und Verwendungsdimensionen | 77 |
| 2. 3. 3. Anwendungsbereiche und Grundkonzeption | 79 |
| 2. 3. 4. Erscheinungsformen von SQL | 81 |
| 2. 3. 5. Mengenkonzepte von SQL bzw. relationale Sprachen | 82 |
| 3. Einfache Abfragen | 90 |
|---|
| 3. 1. Grundstrukturen von Abfragen | 90 |
| 3. 1. 1. Basisform einer Abfrage | 90 |
| 3. 1. 2. Formulierung von Ergebnisrelationen | 92 |
| 3. 2. Filter mit der WHERE-Klausel | 103 |
| 3. 2. 1. Funktionsweise eines Filters | 104 |
| 3. 2. 2. Einfache Operatoren in Bedingungen | 107 |
| 3. 2. 3. Spezielle Operatoren | 112 |
| 3. 3. Operatoren für Zahlen, Zeichenketten und Mengen | 119 |
| 3. 3. 1. Arithmetische Operatoren | 120 |
| 3. 3. 2. Verkettungsoperator für Zeichenketten | 122 |
| 3. 3. 3. Mengen-Operatoren | 124 |
| 3. 4. Sortierung mit ORDER BY | 130 |
| 3. 4. 1. Einfache Sortierung | 131 |
| 3. 4. 2. Mehrstufige Sortierung | 131 |
| 3. 5. Gruppierungen mit GROUP BY | 133 |
| 3. 5. 1. Standard-Aggregatfunktionen | 133 |
| 3. 5. 2. Einfache Gruppierung | 135 |
| 3. 5. 3. Gruppen mit mehreren Spalten | 137 |
| 3. 5. 4. Gruppierungen mit unterschiedlichen Aggregatfunktionen | 138 |
| 4. Fortgeschrittene Abfragen | 141 |
|---|
| 4. 1. Abfragen mit mehreren Tabellen | 141 |
| 4. 1. 1. Prinzip der Abfrage über mehrere Tabellen | 141 |
| 4. 1. 2. Manuelle Verknüpfungen | 143 |
| 4. 1. 3. ANSI-SQL-Verknüpfungen | 148 |
| 4. 2. Unterabfragen | 164 |
| 4. 2. 1. Ersatz von Wertvorgaben | 164 |
| 4. 2. 2. Unterabfragen in der Spaltenliste | 169 |
| 4. 2. 3. Korrelierte Unterabfragen | 176 |
| 4. 2. 4. Abgeleitete Tabellen | 182 |
| 4. 2. 5. Prädikate bei Unterabfragen | 184 |
| 4. 3. Fortgeschrittene Techniken in SQL | 188 |
| 4. 3. 1. Fallunterscheidungen | 189 |
| 4. 3. 2. Zugriff auf Pseudospalten | 205 |
| 4. 3. 3. Hierarchische Untersuchungen | 217 |
| 5. SQL Funktionen | 223 |
|---|
| 5. 1. Zeichenkettenfunktionen | 223 |
| 5. 1. 1. Konversionsfunktionen | 224 |
| 5. 1. 2. Groß- und Kleinschreibung | 229 |
| 5. 1. 3. Mustervergleiche und Chiffrierung | 230 |
| 5. 1. 4. Bearbeitung von Leerzeichen | 231 |
| 5. 1. 5. Andere Zeichenfunktionen | 233 |
| 5. 2. Mathematische Funktionen | 233 |
| 5. 2. 1. Winkelfunktionen | 234 |
| 5. 2. 2. Rundungsfunktionen | 234 |
| 5. 3. Datums- und Zeitfunktionen | 237 |
| 5. 3. 1. Zeiterzeugung und Abruf von Zeiten und Daten | 237 |
| 5. 3. 2. Zeitberechnung | 238 |
| 5. 3. 3. Zeitformatierung | 241 |
| 5. 3. 4. Systemfunktionen für Zeit und globale Informationen | 244 |
| 5. 4. Aggregatfunktionen | 248 |
| 5. 4. 1. Standardaggregate | 248 |
| 5. 4. 2. Streuungsmaße | 249 |
| 5. 4. 3. Quantitativer Zusammenhang: Korrelationsmaße | 251 |
| 5. 4. 4. Funktionaler Zusammenhang: Lineare Regressionsmaße | 252 |
| 6. Abfragen und Analysen | 257 |
|---|
| 6. 1. Erweiterte Gruppierungen | 257 |
| 6. 1. 1. Sinn und Zweck von erweiterten Gruppierungen | 258 |
| 6. 1. 2. GROUPING SETS | 261 |
| 6. 1. 3. ROLLUP | 270 |
| 6. 1. 4. CUBE | 272 |
| 6. 1. 5. GROUPING-Funktionen | 274 |
| 6. 2. Rangordnungen erstellen | 280 |
| 6. 2. 1. Rangfolgen
|