Dekorationsartikel gehören nicht zum Leistungsumfang.
Sprache:
Deutsch
69,90 €*
Versandkostenfrei per Post / DHL
Aktuell nicht verfügbar
Kategorien:
Beschreibung
Wenn Sie sich professionell mit Oracle beschäftigen, sind umfassende Kenntnisse des entsprechenden SQL-Dialekts unverzichtbar. Jürgen Sieben, vielen bereits bekannt durch seine Bücher zu Oracle PL/SQL und Oracle APEX, hat nun auch sein Buch zu Oracle SQL aktualisiert. Er zeigt Ihnen darin, wie Oracle und SQL zusammenspielen und welche Strategien Sie nutzen können, um Daten in der Datenbank zu speichern, zu analysieren oder auch zu löschen. Neu in der 3. Auflage: Änderungen in der Datenbankversion 12.2. sowie ein Abschnitt zu analytischen Views.
Aus dem Inhalt:
- Konzept einer relationalen Datenbank
- Grundlagen: Auswahl und Projektion
- Daten aus mehreren Tabellen lesen: Joins
- Zeilenfunktionen, Gruppenfunktionen, analytische Funktionen
- Unterabfragen
- Datenmanipulation
- Views, Tabellen und Indizes erstellen
- Einführung in die Rechteverwaltung von Oracle
- Hierarchische Abfragen und XML-Abfragen
- Die Model-Klausel
- Row Pattern Matching
- Pivotierung und Abfragetabellen
- Arbeit mit großen Datenstrukturen
- Performanzoptimierung von SQL-Abfragen
- Normalisierung von Datenmodellen
- Häufige Fehler der Datenmodellierung
- Parameter verwalten
- Multilinguale Daten
Wenn Sie sich professionell mit Oracle beschäftigen, sind umfassende Kenntnisse des entsprechenden SQL-Dialekts unverzichtbar. Jürgen Sieben, vielen bereits bekannt durch seine Bücher zu Oracle PL/SQL und Oracle APEX, hat nun auch sein Buch zu Oracle SQL aktualisiert. Er zeigt Ihnen darin, wie Oracle und SQL zusammenspielen und welche Strategien Sie nutzen können, um Daten in der Datenbank zu speichern, zu analysieren oder auch zu löschen. Neu in der 3. Auflage: Änderungen in der Datenbankversion 12.2. sowie ein Abschnitt zu analytischen Views.
Aus dem Inhalt:
- Konzept einer relationalen Datenbank
- Grundlagen: Auswahl und Projektion
- Daten aus mehreren Tabellen lesen: Joins
- Zeilenfunktionen, Gruppenfunktionen, analytische Funktionen
- Unterabfragen
- Datenmanipulation
- Views, Tabellen und Indizes erstellen
- Einführung in die Rechteverwaltung von Oracle
- Hierarchische Abfragen und XML-Abfragen
- Die Model-Klausel
- Row Pattern Matching
- Pivotierung und Abfragetabellen
- Arbeit mit großen Datenstrukturen
- Performanzoptimierung von SQL-Abfragen
- Normalisierung von Datenmodellen
- Häufige Fehler der Datenmodellierung
- Parameter verwalten
- Multilinguale Daten
Inhaltsverzeichnis
Materialien zum Buch ... 21
1. Einführung ... 23
1.1 ... Für wen ist dieses Buch geschrieben? ... 23
1.2 ... Aufbau des Buches ... 24
1.3 ... Anmerkung zur dritten Auflage ... 33
1.4 ... Anmerkung zur zweiten Auflage ... 34
1.5 ... Danksagung ... 35
Teil I Einführung und Grundlagen ... 37
2. Verwendete Werkzeuge und Skripte ... 39
2.1 ... Aufsetzen einer Beispieldatenbank ... 39
2.2 ... Die Datenbankbenutzer ... 53
2.3 ... SQL Developer ... 55
2.4 ... Online-Dokumentation und weiterführende Literatur ... 60
3. Konzept einer relationalen Datenbank ... 65
3.1 ... Die Idee der relationalen Speicherung ... 65
3.2 ... SQL - die »Lingua franca« der Datenbank ... 82
3.3 ... Analyse vorhandener Datenmodelle ... 89
Teil II Die SELECT-Anweisung ... 97
4. Grundlagen: Auswahl und Projektion ... 99
4.1 ... Projektion ... 99
4.2 ... Auswahl ... 113
4.3 ... Sortieren von Zeilenmengen ... 129
4.4 ... Fallunterscheidungen ... 133
4.5 ... Die Klausel ROW LIMITING ... 140
4.6 ... Pseudospalten ... 143
4.7 ... Kommentare ... 149
4.8 ... Der NULL-Wert ... 151
4.9 ... Übungen ... 159
5. Daten aus mehreren Tabellen lesen: Joins ... 161
5.1 ... Einführung in Joins ... 162
5.2 ... Inner Join ... 163
5.3 ... Outer Join ... 176
5.4 ... Anti-Join, Semi-Join, Self-Join und Natural Join ... 185
5.5 ... Mengenoperationen mit UNION, MINUS und INTERSECT ... 191
5.6 ... Übungen ... 197
5.7 ... Zusatz: Weiterführende Join-Konzepte ... 198
6. Zeilenfunktionen ... 205
6.1 ... Grundsätzliches zu Funktionen ... 206
6.2 ... Zeichenfunktionen ... 209
6.3 ... Datumsfunktionen ... 233
6.4 ... Mathematische Funktionen ... 255
6.5 ... Allgemeine Funktionen ... 271
6.6 ... Eigene Funktionen erstellen: Berechnung der Fakultät ... 291
7. Gruppenfunktionen ... 297
7.1 ... Die Standardgruppenfunktionen ... 298
7.2 ... Gruppierung von Gruppenfunktionen ... 303
7.3 ... Spezielle Gruppenfunktionen ... 317
7.4 ... Wenn ungefähr ausreicht ... 324
7.5 ... Übungen ... 326
8. Unterabfragen ... 327
8.1 ... Die Unterabfrage in der WHERE-Klausel ... 327
8.2 ... Die Unterabfrage in der FROM-Klausel (Inner View) ... 339
8.3 ... Die Unterabfrage in der SELECT-Klausel (skalare Unterabfrage) ... 346
8.4 ... Unterabfragen und Joins ... 349
8.5 ... Funktionen in der WITH-Klausel ... 352
8.6 ... Übungen ... 354
Teil III Datenmanipulation und Erzeugung von Datenbankobjekten ... 355
9. Datenmanipulation ... 357
9.1 ... Die INSERT-Anweisung ... 357
9.2 ... Die UPDATE-Anweisung ... 363
9.3 ... Die DELETE-Anweisung ... 373
9.4 ... Die MERGE-Anweisung ... 374
9.5 ... Exkurs: Flashback ... 385
9.6 ... Sequenzen und Trigger ... 386
9.7 ... Ihr Sicherheitsnetz - die Transaktion ... 392
9.8 ... Erweiterung: Fehlerbehandlung während der Datenmanipulation ... 395
9.9 ... Erweiterung: Multi-Table-Insert ... 402
10. Views erstellen ... 413
10.1 ... »Normale« Views ... 413
10.2 ... Einsatzbereiche von Views ... 426
10.3 ... Wer sollte Views verwenden? ... 429
10.4 ... Materialized View ... 431
11. Tabellen erstellen ... 447
11.1 ... Einfache Tabellen erstellen ... 448
11.2 ... Weitere Tabellentypen ... 464
11.3 ... Erweiterung zur »aktiven Tabelle« ... 475
12. Indizes erstellen ... 483
12.1 ... Was ist ein Index? ... 484
12.2 ... Indextypen bei Oracle ... 490
12.3 ... Spezielle Indextypen ... 495
13. Aufbau einer Oracle-Datenbank ... 511
13.1 ... Wie arbeitet eine Oracle-Datenbank? ... 511
13.2 ... Datensicherheit ... 523
13.3 ... Erstellung eines Datenbankbenutzers ... 526
13.4 ... System- und Objektprivilegien ... 531
13.5 ... Rollen ... 537
13.6 ... Passwort- und Ressourcenrechte ... 538
13.7 ... Datentypen ... 539
13.8 ... Zeichensatzcodierung ... 552
Teil IV Spezielle Abfragetechniken ... 557
14. Analytische Funktionen ... 559
14.1 ... Die Idee der analytischen Funktionen ... 559
14.2 ... Gruppenfunktionen als analytische Funktionen ... 567
14.3 ... Analytische Rangfunktionen ... 586
14.4 ... Zusammenfassung ... 601
14.5 ... Übungen ... 603
15. Hierarchische Abfragen ... 605
15.1 ... Das Problem ... 605
15.2 ... Lösung mit der Abfrage CONNECT BY ... 607
15.3 ... Erweiterungen zur Abfrage CONNECT BY ... 615
15.4 ... Hierarchische Abfragen nach ISO-Standard ... 627
16. Arbeiten mit XML ... 637
16.1 ... XML-Instanzen mit SQL/XML erzeugen ... 640
16.2 ... Bearbeitung von XML-Instanzen in SQL/XML ... 651
16.3 ... Speicherung von XML in der Datenbank ... 665
16.4 ... Der Datentyp »XMLType« ... 675
17. JSON ... 685
17.1 ... Übersicht über JSON ... 685
17.2 ... Oracles JSON-Unterstützung ... 687
17.3 ... Abfragen gegen JSON-Instanzen ... 692
17.4 ... JSON-Funktionen und -Operatoren ... 694
17.5 ... Relationale Daten aus JSON extrahieren ... 702
17.6 ... Erzeugung von JSON aus relationalen Daten ... 705
17.7 ... JSON Data Guide ... 711
17.8 ... Beurteilung ... 715
18. Pivotieren von Daten ... 717
18.1 ... Pivotierung mit Gruppenfunktionen ... 718
18.2 ... Pivotierung mit der PIVOT-Klausel ... 720
18.3 ... Unpivotierung mit Gruppenfunktionen ... 729
18.4 ... Unpivotierung mit der UNPIVOT-Klausel ... 734
19. Row Pattern Matching ... 737
19.1 ... Die Grundlagen ... 737
19.2 ... Syntaktische Grundlagen ... 739
19.3 ... Erweiterungen zur Grundsyntax ... 746
19.4 ... Zusammenfassung ... 760
20. Die MODEL-Klausel ... 763
20.1 ... Lösung des Problems mit der MODEL-Klausel ... 767
20.2 ... Partitionierung, Dimension und Messung ... 770
20.3 ... Regeln ... 773
20.4 ... Weiterführende Konzepte ... 784
20.5 ... Bewertung der MODEL-Klausel ... 791
21. Umgang mit Datum und Zeit ... 793
21.1 ... Erzeugung von Datumstypen ... 793
21.2 ... Erzeugung von Intervallen ... 800
21.3 ... Konvertierung von Zeichenketten in Datumstypen ... 804
21.4 ... Zeilenfunktionen für Zeitstempel mit Zeitzonen ... 810
21.5 ... Abfragen über die Zeit: Flashback ... 814
22. Objektorientierung in der Oracle-Datenbank ... 821
22.1 ... Einführung in die Objektorientierung ... 822
22.2 ... SQL-Typen ... 830
22.3 ... Objektorientierte Tabellen ... 846
22.4 ... Objekttabellen als Speichermechanismus ... 855
22.5 ... Beurteilung ... 860
23. Datenwarenhaus ... 863
23.1 ... Star-Schema ... 866
23.2 ... Dimensionen ... 869
23.3 ... Arbeiten mit dem Star-Schema ... 873
23.4 ... Zusammenfassung ... 889
24. Performanzoptimierung von SQL ... 891
24.1 ... Sagen Sie der Datenbank, was Sie wollen! ... 891
24.2 ... Nutzen Sie alle verfügbaren Optionen von SQL ... 895
24.3 ... Vermeiden Sie Umgebungswechsel ... 899
24.4 ... Die Verwendung von Indizes ... 907
Teil V Datenbankmodellierung ... 921
25. Die Grundlagen der Datenmodellierung ... 923
25.1 ... Normalisierung ... 923
25.2 ... Tabellendesign ... 927
25.3 ... Primärschlüssel ... 930
25.4 ... Fremdschlüssel ... 935
25.5 ... Überlegungen zu Datentypen und zur Namenskonvention in Tabellen ... 936
25.6 ... Zusammenfassung ... 944
26. Datenmodellierung von Datum und Zeit ... 947
26.1 ... Datumsbereiche ... 947
26.2 ... Historisierung und Logging ... 965
27. Speicherung hierarchischer Daten ... 985
27.1 ... Hierarchie mittels zusätzlicher Hierarchietabelle ... 985
27.2 ... Closure Table ... 989
27.3 ... Weitere Modelle ... 993
27.4 ... Zusammenfassung ... 995
28. Abbildung objektorientierter Strukturen ... 997
28.1 ... Vererbung ... 998
28.2 ... Kollektionen ... 1003
28.3 ... Alternative Lösungsansätze ... 1004
28.4 ... Zusammenfassung ... 1006
29. Internationalisierung ... 1007
29.1 ... Oracle im multilingualen Kontext ... 1007
29.2 ... Datenmodelle zur Übersetzung von Stammdaten ... 1014
Index ... 1031
1. Einführung ... 23
1.1 ... Für wen ist dieses Buch geschrieben? ... 23
1.2 ... Aufbau des Buches ... 24
1.3 ... Anmerkung zur dritten Auflage ... 33
1.4 ... Anmerkung zur zweiten Auflage ... 34
1.5 ... Danksagung ... 35
Teil I Einführung und Grundlagen ... 37
2. Verwendete Werkzeuge und Skripte ... 39
2.1 ... Aufsetzen einer Beispieldatenbank ... 39
2.2 ... Die Datenbankbenutzer ... 53
2.3 ... SQL Developer ... 55
2.4 ... Online-Dokumentation und weiterführende Literatur ... 60
3. Konzept einer relationalen Datenbank ... 65
3.1 ... Die Idee der relationalen Speicherung ... 65
3.2 ... SQL - die »Lingua franca« der Datenbank ... 82
3.3 ... Analyse vorhandener Datenmodelle ... 89
Teil II Die SELECT-Anweisung ... 97
4. Grundlagen: Auswahl und Projektion ... 99
4.1 ... Projektion ... 99
4.2 ... Auswahl ... 113
4.3 ... Sortieren von Zeilenmengen ... 129
4.4 ... Fallunterscheidungen ... 133
4.5 ... Die Klausel ROW LIMITING ... 140
4.6 ... Pseudospalten ... 143
4.7 ... Kommentare ... 149
4.8 ... Der NULL-Wert ... 151
4.9 ... Übungen ... 159
5. Daten aus mehreren Tabellen lesen: Joins ... 161
5.1 ... Einführung in Joins ... 162
5.2 ... Inner Join ... 163
5.3 ... Outer Join ... 176
5.4 ... Anti-Join, Semi-Join, Self-Join und Natural Join ... 185
5.5 ... Mengenoperationen mit UNION, MINUS und INTERSECT ... 191
5.6 ... Übungen ... 197
5.7 ... Zusatz: Weiterführende Join-Konzepte ... 198
6. Zeilenfunktionen ... 205
6.1 ... Grundsätzliches zu Funktionen ... 206
6.2 ... Zeichenfunktionen ... 209
6.3 ... Datumsfunktionen ... 233
6.4 ... Mathematische Funktionen ... 255
6.5 ... Allgemeine Funktionen ... 271
6.6 ... Eigene Funktionen erstellen: Berechnung der Fakultät ... 291
7. Gruppenfunktionen ... 297
7.1 ... Die Standardgruppenfunktionen ... 298
7.2 ... Gruppierung von Gruppenfunktionen ... 303
7.3 ... Spezielle Gruppenfunktionen ... 317
7.4 ... Wenn ungefähr ausreicht ... 324
7.5 ... Übungen ... 326
8. Unterabfragen ... 327
8.1 ... Die Unterabfrage in der WHERE-Klausel ... 327
8.2 ... Die Unterabfrage in der FROM-Klausel (Inner View) ... 339
8.3 ... Die Unterabfrage in der SELECT-Klausel (skalare Unterabfrage) ... 346
8.4 ... Unterabfragen und Joins ... 349
8.5 ... Funktionen in der WITH-Klausel ... 352
8.6 ... Übungen ... 354
Teil III Datenmanipulation und Erzeugung von Datenbankobjekten ... 355
9. Datenmanipulation ... 357
9.1 ... Die INSERT-Anweisung ... 357
9.2 ... Die UPDATE-Anweisung ... 363
9.3 ... Die DELETE-Anweisung ... 373
9.4 ... Die MERGE-Anweisung ... 374
9.5 ... Exkurs: Flashback ... 385
9.6 ... Sequenzen und Trigger ... 386
9.7 ... Ihr Sicherheitsnetz - die Transaktion ... 392
9.8 ... Erweiterung: Fehlerbehandlung während der Datenmanipulation ... 395
9.9 ... Erweiterung: Multi-Table-Insert ... 402
10. Views erstellen ... 413
10.1 ... »Normale« Views ... 413
10.2 ... Einsatzbereiche von Views ... 426
10.3 ... Wer sollte Views verwenden? ... 429
10.4 ... Materialized View ... 431
11. Tabellen erstellen ... 447
11.1 ... Einfache Tabellen erstellen ... 448
11.2 ... Weitere Tabellentypen ... 464
11.3 ... Erweiterung zur »aktiven Tabelle« ... 475
12. Indizes erstellen ... 483
12.1 ... Was ist ein Index? ... 484
12.2 ... Indextypen bei Oracle ... 490
12.3 ... Spezielle Indextypen ... 495
13. Aufbau einer Oracle-Datenbank ... 511
13.1 ... Wie arbeitet eine Oracle-Datenbank? ... 511
13.2 ... Datensicherheit ... 523
13.3 ... Erstellung eines Datenbankbenutzers ... 526
13.4 ... System- und Objektprivilegien ... 531
13.5 ... Rollen ... 537
13.6 ... Passwort- und Ressourcenrechte ... 538
13.7 ... Datentypen ... 539
13.8 ... Zeichensatzcodierung ... 552
Teil IV Spezielle Abfragetechniken ... 557
14. Analytische Funktionen ... 559
14.1 ... Die Idee der analytischen Funktionen ... 559
14.2 ... Gruppenfunktionen als analytische Funktionen ... 567
14.3 ... Analytische Rangfunktionen ... 586
14.4 ... Zusammenfassung ... 601
14.5 ... Übungen ... 603
15. Hierarchische Abfragen ... 605
15.1 ... Das Problem ... 605
15.2 ... Lösung mit der Abfrage CONNECT BY ... 607
15.3 ... Erweiterungen zur Abfrage CONNECT BY ... 615
15.4 ... Hierarchische Abfragen nach ISO-Standard ... 627
16. Arbeiten mit XML ... 637
16.1 ... XML-Instanzen mit SQL/XML erzeugen ... 640
16.2 ... Bearbeitung von XML-Instanzen in SQL/XML ... 651
16.3 ... Speicherung von XML in der Datenbank ... 665
16.4 ... Der Datentyp »XMLType« ... 675
17. JSON ... 685
17.1 ... Übersicht über JSON ... 685
17.2 ... Oracles JSON-Unterstützung ... 687
17.3 ... Abfragen gegen JSON-Instanzen ... 692
17.4 ... JSON-Funktionen und -Operatoren ... 694
17.5 ... Relationale Daten aus JSON extrahieren ... 702
17.6 ... Erzeugung von JSON aus relationalen Daten ... 705
17.7 ... JSON Data Guide ... 711
17.8 ... Beurteilung ... 715
18. Pivotieren von Daten ... 717
18.1 ... Pivotierung mit Gruppenfunktionen ... 718
18.2 ... Pivotierung mit der PIVOT-Klausel ... 720
18.3 ... Unpivotierung mit Gruppenfunktionen ... 729
18.4 ... Unpivotierung mit der UNPIVOT-Klausel ... 734
19. Row Pattern Matching ... 737
19.1 ... Die Grundlagen ... 737
19.2 ... Syntaktische Grundlagen ... 739
19.3 ... Erweiterungen zur Grundsyntax ... 746
19.4 ... Zusammenfassung ... 760
20. Die MODEL-Klausel ... 763
20.1 ... Lösung des Problems mit der MODEL-Klausel ... 767
20.2 ... Partitionierung, Dimension und Messung ... 770
20.3 ... Regeln ... 773
20.4 ... Weiterführende Konzepte ... 784
20.5 ... Bewertung der MODEL-Klausel ... 791
21. Umgang mit Datum und Zeit ... 793
21.1 ... Erzeugung von Datumstypen ... 793
21.2 ... Erzeugung von Intervallen ... 800
21.3 ... Konvertierung von Zeichenketten in Datumstypen ... 804
21.4 ... Zeilenfunktionen für Zeitstempel mit Zeitzonen ... 810
21.5 ... Abfragen über die Zeit: Flashback ... 814
22. Objektorientierung in der Oracle-Datenbank ... 821
22.1 ... Einführung in die Objektorientierung ... 822
22.2 ... SQL-Typen ... 830
22.3 ... Objektorientierte Tabellen ... 846
22.4 ... Objekttabellen als Speichermechanismus ... 855
22.5 ... Beurteilung ... 860
23. Datenwarenhaus ... 863
23.1 ... Star-Schema ... 866
23.2 ... Dimensionen ... 869
23.3 ... Arbeiten mit dem Star-Schema ... 873
23.4 ... Zusammenfassung ... 889
24. Performanzoptimierung von SQL ... 891
24.1 ... Sagen Sie der Datenbank, was Sie wollen! ... 891
24.2 ... Nutzen Sie alle verfügbaren Optionen von SQL ... 895
24.3 ... Vermeiden Sie Umgebungswechsel ... 899
24.4 ... Die Verwendung von Indizes ... 907
Teil V Datenbankmodellierung ... 921
25. Die Grundlagen der Datenmodellierung ... 923
25.1 ... Normalisierung ... 923
25.2 ... Tabellendesign ... 927
25.3 ... Primärschlüssel ... 930
25.4 ... Fremdschlüssel ... 935
25.5 ... Überlegungen zu Datentypen und zur Namenskonvention in Tabellen ... 936
25.6 ... Zusammenfassung ... 944
26. Datenmodellierung von Datum und Zeit ... 947
26.1 ... Datumsbereiche ... 947
26.2 ... Historisierung und Logging ... 965
27. Speicherung hierarchischer Daten ... 985
27.1 ... Hierarchie mittels zusätzlicher Hierarchietabelle ... 985
27.2 ... Closure Table ... 989
27.3 ... Weitere Modelle ... 993
27.4 ... Zusammenfassung ... 995
28. Abbildung objektorientierter Strukturen ... 997
28.1 ... Vererbung ... 998
28.2 ... Kollektionen ... 1003
28.3 ... Alternative Lösungsansätze ... 1004
28.4 ... Zusammenfassung ... 1006
29. Internationalisierung ... 1007
29.1 ... Oracle im multilingualen Kontext ... 1007
29.2 ... Datenmodelle zur Übersetzung von Stammdaten ... 1014
Index ... 1031
Details
Erscheinungsjahr: | 2018 |
---|---|
Medium: | Buch |
Titelzusatz: | Das umfassende Handbuch für den effizienten Einsatz von Oracle SQL. Mit vielen Aufgaben und Beispielen. Einführung, Grundlagen, Referenz. Inkl. Transaktionen, Indizierung, Rechtevergabe, Optimierung. Erweiterte SQL-Funtionalität: SQL/XML, analytische Funktionen, Datenbank-Modellierung u.v.m. |
Inhalt: | 1047 S. |
ISBN-13: | 9783836262422 |
ISBN-10: | 3836262428 |
Sprache: | Deutsch |
Herstellernummer: | 459/06242 |
Autor: | Sieben, Jürgen |
Auflage: | 3., aktualis. u. erw. Aufl. |
Hersteller: | Rheinwerk Verlag |
Maße: | 243 x 180 x 63 mm |
Von/Mit: | Jürgen Sieben |
Erscheinungsdatum: | 11.06.2018 |
Gewicht: | 2,075 kg |
Inhaltsverzeichnis
Materialien zum Buch ... 21
1. Einführung ... 23
1.1 ... Für wen ist dieses Buch geschrieben? ... 23
1.2 ... Aufbau des Buches ... 24
1.3 ... Anmerkung zur dritten Auflage ... 33
1.4 ... Anmerkung zur zweiten Auflage ... 34
1.5 ... Danksagung ... 35
Teil I Einführung und Grundlagen ... 37
2. Verwendete Werkzeuge und Skripte ... 39
2.1 ... Aufsetzen einer Beispieldatenbank ... 39
2.2 ... Die Datenbankbenutzer ... 53
2.3 ... SQL Developer ... 55
2.4 ... Online-Dokumentation und weiterführende Literatur ... 60
3. Konzept einer relationalen Datenbank ... 65
3.1 ... Die Idee der relationalen Speicherung ... 65
3.2 ... SQL - die »Lingua franca« der Datenbank ... 82
3.3 ... Analyse vorhandener Datenmodelle ... 89
Teil II Die SELECT-Anweisung ... 97
4. Grundlagen: Auswahl und Projektion ... 99
4.1 ... Projektion ... 99
4.2 ... Auswahl ... 113
4.3 ... Sortieren von Zeilenmengen ... 129
4.4 ... Fallunterscheidungen ... 133
4.5 ... Die Klausel ROW LIMITING ... 140
4.6 ... Pseudospalten ... 143
4.7 ... Kommentare ... 149
4.8 ... Der NULL-Wert ... 151
4.9 ... Übungen ... 159
5. Daten aus mehreren Tabellen lesen: Joins ... 161
5.1 ... Einführung in Joins ... 162
5.2 ... Inner Join ... 163
5.3 ... Outer Join ... 176
5.4 ... Anti-Join, Semi-Join, Self-Join und Natural Join ... 185
5.5 ... Mengenoperationen mit UNION, MINUS und INTERSECT ... 191
5.6 ... Übungen ... 197
5.7 ... Zusatz: Weiterführende Join-Konzepte ... 198
6. Zeilenfunktionen ... 205
6.1 ... Grundsätzliches zu Funktionen ... 206
6.2 ... Zeichenfunktionen ... 209
6.3 ... Datumsfunktionen ... 233
6.4 ... Mathematische Funktionen ... 255
6.5 ... Allgemeine Funktionen ... 271
6.6 ... Eigene Funktionen erstellen: Berechnung der Fakultät ... 291
7. Gruppenfunktionen ... 297
7.1 ... Die Standardgruppenfunktionen ... 298
7.2 ... Gruppierung von Gruppenfunktionen ... 303
7.3 ... Spezielle Gruppenfunktionen ... 317
7.4 ... Wenn ungefähr ausreicht ... 324
7.5 ... Übungen ... 326
8. Unterabfragen ... 327
8.1 ... Die Unterabfrage in der WHERE-Klausel ... 327
8.2 ... Die Unterabfrage in der FROM-Klausel (Inner View) ... 339
8.3 ... Die Unterabfrage in der SELECT-Klausel (skalare Unterabfrage) ... 346
8.4 ... Unterabfragen und Joins ... 349
8.5 ... Funktionen in der WITH-Klausel ... 352
8.6 ... Übungen ... 354
Teil III Datenmanipulation und Erzeugung von Datenbankobjekten ... 355
9. Datenmanipulation ... 357
9.1 ... Die INSERT-Anweisung ... 357
9.2 ... Die UPDATE-Anweisung ... 363
9.3 ... Die DELETE-Anweisung ... 373
9.4 ... Die MERGE-Anweisung ... 374
9.5 ... Exkurs: Flashback ... 385
9.6 ... Sequenzen und Trigger ... 386
9.7 ... Ihr Sicherheitsnetz - die Transaktion ... 392
9.8 ... Erweiterung: Fehlerbehandlung während der Datenmanipulation ... 395
9.9 ... Erweiterung: Multi-Table-Insert ... 402
10. Views erstellen ... 413
10.1 ... »Normale« Views ... 413
10.2 ... Einsatzbereiche von Views ... 426
10.3 ... Wer sollte Views verwenden? ... 429
10.4 ... Materialized View ... 431
11. Tabellen erstellen ... 447
11.1 ... Einfache Tabellen erstellen ... 448
11.2 ... Weitere Tabellentypen ... 464
11.3 ... Erweiterung zur »aktiven Tabelle« ... 475
12. Indizes erstellen ... 483
12.1 ... Was ist ein Index? ... 484
12.2 ... Indextypen bei Oracle ... 490
12.3 ... Spezielle Indextypen ... 495
13. Aufbau einer Oracle-Datenbank ... 511
13.1 ... Wie arbeitet eine Oracle-Datenbank? ... 511
13.2 ... Datensicherheit ... 523
13.3 ... Erstellung eines Datenbankbenutzers ... 526
13.4 ... System- und Objektprivilegien ... 531
13.5 ... Rollen ... 537
13.6 ... Passwort- und Ressourcenrechte ... 538
13.7 ... Datentypen ... 539
13.8 ... Zeichensatzcodierung ... 552
Teil IV Spezielle Abfragetechniken ... 557
14. Analytische Funktionen ... 559
14.1 ... Die Idee der analytischen Funktionen ... 559
14.2 ... Gruppenfunktionen als analytische Funktionen ... 567
14.3 ... Analytische Rangfunktionen ... 586
14.4 ... Zusammenfassung ... 601
14.5 ... Übungen ... 603
15. Hierarchische Abfragen ... 605
15.1 ... Das Problem ... 605
15.2 ... Lösung mit der Abfrage CONNECT BY ... 607
15.3 ... Erweiterungen zur Abfrage CONNECT BY ... 615
15.4 ... Hierarchische Abfragen nach ISO-Standard ... 627
16. Arbeiten mit XML ... 637
16.1 ... XML-Instanzen mit SQL/XML erzeugen ... 640
16.2 ... Bearbeitung von XML-Instanzen in SQL/XML ... 651
16.3 ... Speicherung von XML in der Datenbank ... 665
16.4 ... Der Datentyp »XMLType« ... 675
17. JSON ... 685
17.1 ... Übersicht über JSON ... 685
17.2 ... Oracles JSON-Unterstützung ... 687
17.3 ... Abfragen gegen JSON-Instanzen ... 692
17.4 ... JSON-Funktionen und -Operatoren ... 694
17.5 ... Relationale Daten aus JSON extrahieren ... 702
17.6 ... Erzeugung von JSON aus relationalen Daten ... 705
17.7 ... JSON Data Guide ... 711
17.8 ... Beurteilung ... 715
18. Pivotieren von Daten ... 717
18.1 ... Pivotierung mit Gruppenfunktionen ... 718
18.2 ... Pivotierung mit der PIVOT-Klausel ... 720
18.3 ... Unpivotierung mit Gruppenfunktionen ... 729
18.4 ... Unpivotierung mit der UNPIVOT-Klausel ... 734
19. Row Pattern Matching ... 737
19.1 ... Die Grundlagen ... 737
19.2 ... Syntaktische Grundlagen ... 739
19.3 ... Erweiterungen zur Grundsyntax ... 746
19.4 ... Zusammenfassung ... 760
20. Die MODEL-Klausel ... 763
20.1 ... Lösung des Problems mit der MODEL-Klausel ... 767
20.2 ... Partitionierung, Dimension und Messung ... 770
20.3 ... Regeln ... 773
20.4 ... Weiterführende Konzepte ... 784
20.5 ... Bewertung der MODEL-Klausel ... 791
21. Umgang mit Datum und Zeit ... 793
21.1 ... Erzeugung von Datumstypen ... 793
21.2 ... Erzeugung von Intervallen ... 800
21.3 ... Konvertierung von Zeichenketten in Datumstypen ... 804
21.4 ... Zeilenfunktionen für Zeitstempel mit Zeitzonen ... 810
21.5 ... Abfragen über die Zeit: Flashback ... 814
22. Objektorientierung in der Oracle-Datenbank ... 821
22.1 ... Einführung in die Objektorientierung ... 822
22.2 ... SQL-Typen ... 830
22.3 ... Objektorientierte Tabellen ... 846
22.4 ... Objekttabellen als Speichermechanismus ... 855
22.5 ... Beurteilung ... 860
23. Datenwarenhaus ... 863
23.1 ... Star-Schema ... 866
23.2 ... Dimensionen ... 869
23.3 ... Arbeiten mit dem Star-Schema ... 873
23.4 ... Zusammenfassung ... 889
24. Performanzoptimierung von SQL ... 891
24.1 ... Sagen Sie der Datenbank, was Sie wollen! ... 891
24.2 ... Nutzen Sie alle verfügbaren Optionen von SQL ... 895
24.3 ... Vermeiden Sie Umgebungswechsel ... 899
24.4 ... Die Verwendung von Indizes ... 907
Teil V Datenbankmodellierung ... 921
25. Die Grundlagen der Datenmodellierung ... 923
25.1 ... Normalisierung ... 923
25.2 ... Tabellendesign ... 927
25.3 ... Primärschlüssel ... 930
25.4 ... Fremdschlüssel ... 935
25.5 ... Überlegungen zu Datentypen und zur Namenskonvention in Tabellen ... 936
25.6 ... Zusammenfassung ... 944
26. Datenmodellierung von Datum und Zeit ... 947
26.1 ... Datumsbereiche ... 947
26.2 ... Historisierung und Logging ... 965
27. Speicherung hierarchischer Daten ... 985
27.1 ... Hierarchie mittels zusätzlicher Hierarchietabelle ... 985
27.2 ... Closure Table ... 989
27.3 ... Weitere Modelle ... 993
27.4 ... Zusammenfassung ... 995
28. Abbildung objektorientierter Strukturen ... 997
28.1 ... Vererbung ... 998
28.2 ... Kollektionen ... 1003
28.3 ... Alternative Lösungsansätze ... 1004
28.4 ... Zusammenfassung ... 1006
29. Internationalisierung ... 1007
29.1 ... Oracle im multilingualen Kontext ... 1007
29.2 ... Datenmodelle zur Übersetzung von Stammdaten ... 1014
Index ... 1031
1. Einführung ... 23
1.1 ... Für wen ist dieses Buch geschrieben? ... 23
1.2 ... Aufbau des Buches ... 24
1.3 ... Anmerkung zur dritten Auflage ... 33
1.4 ... Anmerkung zur zweiten Auflage ... 34
1.5 ... Danksagung ... 35
Teil I Einführung und Grundlagen ... 37
2. Verwendete Werkzeuge und Skripte ... 39
2.1 ... Aufsetzen einer Beispieldatenbank ... 39
2.2 ... Die Datenbankbenutzer ... 53
2.3 ... SQL Developer ... 55
2.4 ... Online-Dokumentation und weiterführende Literatur ... 60
3. Konzept einer relationalen Datenbank ... 65
3.1 ... Die Idee der relationalen Speicherung ... 65
3.2 ... SQL - die »Lingua franca« der Datenbank ... 82
3.3 ... Analyse vorhandener Datenmodelle ... 89
Teil II Die SELECT-Anweisung ... 97
4. Grundlagen: Auswahl und Projektion ... 99
4.1 ... Projektion ... 99
4.2 ... Auswahl ... 113
4.3 ... Sortieren von Zeilenmengen ... 129
4.4 ... Fallunterscheidungen ... 133
4.5 ... Die Klausel ROW LIMITING ... 140
4.6 ... Pseudospalten ... 143
4.7 ... Kommentare ... 149
4.8 ... Der NULL-Wert ... 151
4.9 ... Übungen ... 159
5. Daten aus mehreren Tabellen lesen: Joins ... 161
5.1 ... Einführung in Joins ... 162
5.2 ... Inner Join ... 163
5.3 ... Outer Join ... 176
5.4 ... Anti-Join, Semi-Join, Self-Join und Natural Join ... 185
5.5 ... Mengenoperationen mit UNION, MINUS und INTERSECT ... 191
5.6 ... Übungen ... 197
5.7 ... Zusatz: Weiterführende Join-Konzepte ... 198
6. Zeilenfunktionen ... 205
6.1 ... Grundsätzliches zu Funktionen ... 206
6.2 ... Zeichenfunktionen ... 209
6.3 ... Datumsfunktionen ... 233
6.4 ... Mathematische Funktionen ... 255
6.5 ... Allgemeine Funktionen ... 271
6.6 ... Eigene Funktionen erstellen: Berechnung der Fakultät ... 291
7. Gruppenfunktionen ... 297
7.1 ... Die Standardgruppenfunktionen ... 298
7.2 ... Gruppierung von Gruppenfunktionen ... 303
7.3 ... Spezielle Gruppenfunktionen ... 317
7.4 ... Wenn ungefähr ausreicht ... 324
7.5 ... Übungen ... 326
8. Unterabfragen ... 327
8.1 ... Die Unterabfrage in der WHERE-Klausel ... 327
8.2 ... Die Unterabfrage in der FROM-Klausel (Inner View) ... 339
8.3 ... Die Unterabfrage in der SELECT-Klausel (skalare Unterabfrage) ... 346
8.4 ... Unterabfragen und Joins ... 349
8.5 ... Funktionen in der WITH-Klausel ... 352
8.6 ... Übungen ... 354
Teil III Datenmanipulation und Erzeugung von Datenbankobjekten ... 355
9. Datenmanipulation ... 357
9.1 ... Die INSERT-Anweisung ... 357
9.2 ... Die UPDATE-Anweisung ... 363
9.3 ... Die DELETE-Anweisung ... 373
9.4 ... Die MERGE-Anweisung ... 374
9.5 ... Exkurs: Flashback ... 385
9.6 ... Sequenzen und Trigger ... 386
9.7 ... Ihr Sicherheitsnetz - die Transaktion ... 392
9.8 ... Erweiterung: Fehlerbehandlung während der Datenmanipulation ... 395
9.9 ... Erweiterung: Multi-Table-Insert ... 402
10. Views erstellen ... 413
10.1 ... »Normale« Views ... 413
10.2 ... Einsatzbereiche von Views ... 426
10.3 ... Wer sollte Views verwenden? ... 429
10.4 ... Materialized View ... 431
11. Tabellen erstellen ... 447
11.1 ... Einfache Tabellen erstellen ... 448
11.2 ... Weitere Tabellentypen ... 464
11.3 ... Erweiterung zur »aktiven Tabelle« ... 475
12. Indizes erstellen ... 483
12.1 ... Was ist ein Index? ... 484
12.2 ... Indextypen bei Oracle ... 490
12.3 ... Spezielle Indextypen ... 495
13. Aufbau einer Oracle-Datenbank ... 511
13.1 ... Wie arbeitet eine Oracle-Datenbank? ... 511
13.2 ... Datensicherheit ... 523
13.3 ... Erstellung eines Datenbankbenutzers ... 526
13.4 ... System- und Objektprivilegien ... 531
13.5 ... Rollen ... 537
13.6 ... Passwort- und Ressourcenrechte ... 538
13.7 ... Datentypen ... 539
13.8 ... Zeichensatzcodierung ... 552
Teil IV Spezielle Abfragetechniken ... 557
14. Analytische Funktionen ... 559
14.1 ... Die Idee der analytischen Funktionen ... 559
14.2 ... Gruppenfunktionen als analytische Funktionen ... 567
14.3 ... Analytische Rangfunktionen ... 586
14.4 ... Zusammenfassung ... 601
14.5 ... Übungen ... 603
15. Hierarchische Abfragen ... 605
15.1 ... Das Problem ... 605
15.2 ... Lösung mit der Abfrage CONNECT BY ... 607
15.3 ... Erweiterungen zur Abfrage CONNECT BY ... 615
15.4 ... Hierarchische Abfragen nach ISO-Standard ... 627
16. Arbeiten mit XML ... 637
16.1 ... XML-Instanzen mit SQL/XML erzeugen ... 640
16.2 ... Bearbeitung von XML-Instanzen in SQL/XML ... 651
16.3 ... Speicherung von XML in der Datenbank ... 665
16.4 ... Der Datentyp »XMLType« ... 675
17. JSON ... 685
17.1 ... Übersicht über JSON ... 685
17.2 ... Oracles JSON-Unterstützung ... 687
17.3 ... Abfragen gegen JSON-Instanzen ... 692
17.4 ... JSON-Funktionen und -Operatoren ... 694
17.5 ... Relationale Daten aus JSON extrahieren ... 702
17.6 ... Erzeugung von JSON aus relationalen Daten ... 705
17.7 ... JSON Data Guide ... 711
17.8 ... Beurteilung ... 715
18. Pivotieren von Daten ... 717
18.1 ... Pivotierung mit Gruppenfunktionen ... 718
18.2 ... Pivotierung mit der PIVOT-Klausel ... 720
18.3 ... Unpivotierung mit Gruppenfunktionen ... 729
18.4 ... Unpivotierung mit der UNPIVOT-Klausel ... 734
19. Row Pattern Matching ... 737
19.1 ... Die Grundlagen ... 737
19.2 ... Syntaktische Grundlagen ... 739
19.3 ... Erweiterungen zur Grundsyntax ... 746
19.4 ... Zusammenfassung ... 760
20. Die MODEL-Klausel ... 763
20.1 ... Lösung des Problems mit der MODEL-Klausel ... 767
20.2 ... Partitionierung, Dimension und Messung ... 770
20.3 ... Regeln ... 773
20.4 ... Weiterführende Konzepte ... 784
20.5 ... Bewertung der MODEL-Klausel ... 791
21. Umgang mit Datum und Zeit ... 793
21.1 ... Erzeugung von Datumstypen ... 793
21.2 ... Erzeugung von Intervallen ... 800
21.3 ... Konvertierung von Zeichenketten in Datumstypen ... 804
21.4 ... Zeilenfunktionen für Zeitstempel mit Zeitzonen ... 810
21.5 ... Abfragen über die Zeit: Flashback ... 814
22. Objektorientierung in der Oracle-Datenbank ... 821
22.1 ... Einführung in die Objektorientierung ... 822
22.2 ... SQL-Typen ... 830
22.3 ... Objektorientierte Tabellen ... 846
22.4 ... Objekttabellen als Speichermechanismus ... 855
22.5 ... Beurteilung ... 860
23. Datenwarenhaus ... 863
23.1 ... Star-Schema ... 866
23.2 ... Dimensionen ... 869
23.3 ... Arbeiten mit dem Star-Schema ... 873
23.4 ... Zusammenfassung ... 889
24. Performanzoptimierung von SQL ... 891
24.1 ... Sagen Sie der Datenbank, was Sie wollen! ... 891
24.2 ... Nutzen Sie alle verfügbaren Optionen von SQL ... 895
24.3 ... Vermeiden Sie Umgebungswechsel ... 899
24.4 ... Die Verwendung von Indizes ... 907
Teil V Datenbankmodellierung ... 921
25. Die Grundlagen der Datenmodellierung ... 923
25.1 ... Normalisierung ... 923
25.2 ... Tabellendesign ... 927
25.3 ... Primärschlüssel ... 930
25.4 ... Fremdschlüssel ... 935
25.5 ... Überlegungen zu Datentypen und zur Namenskonvention in Tabellen ... 936
25.6 ... Zusammenfassung ... 944
26. Datenmodellierung von Datum und Zeit ... 947
26.1 ... Datumsbereiche ... 947
26.2 ... Historisierung und Logging ... 965
27. Speicherung hierarchischer Daten ... 985
27.1 ... Hierarchie mittels zusätzlicher Hierarchietabelle ... 985
27.2 ... Closure Table ... 989
27.3 ... Weitere Modelle ... 993
27.4 ... Zusammenfassung ... 995
28. Abbildung objektorientierter Strukturen ... 997
28.1 ... Vererbung ... 998
28.2 ... Kollektionen ... 1003
28.3 ... Alternative Lösungsansätze ... 1004
28.4 ... Zusammenfassung ... 1006
29. Internationalisierung ... 1007
29.1 ... Oracle im multilingualen Kontext ... 1007
29.2 ... Datenmodelle zur Übersetzung von Stammdaten ... 1014
Index ... 1031
Details
Erscheinungsjahr: | 2018 |
---|---|
Medium: | Buch |
Titelzusatz: | Das umfassende Handbuch für den effizienten Einsatz von Oracle SQL. Mit vielen Aufgaben und Beispielen. Einführung, Grundlagen, Referenz. Inkl. Transaktionen, Indizierung, Rechtevergabe, Optimierung. Erweiterte SQL-Funtionalität: SQL/XML, analytische Funktionen, Datenbank-Modellierung u.v.m. |
Inhalt: | 1047 S. |
ISBN-13: | 9783836262422 |
ISBN-10: | 3836262428 |
Sprache: | Deutsch |
Herstellernummer: | 459/06242 |
Autor: | Sieben, Jürgen |
Auflage: | 3., aktualis. u. erw. Aufl. |
Hersteller: | Rheinwerk Verlag |
Maße: | 243 x 180 x 63 mm |
Von/Mit: | Jürgen Sieben |
Erscheinungsdatum: | 11.06.2018 |
Gewicht: | 2,075 kg |
Warnhinweis