

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 aktua...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. Die vierte Auflage berücksichtigt die umfassenden Erleichterungen und Syntaxänderung der Datenbankversion 23ai und gibt auch erfahrenen Anwendern einen profunden Einstieg in die verbesserten Möglichkeiten der Sprache SQL. 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
Autorentext
Jürgen Sieben ist inhabender Geschäftsführer der ConDeS GmbH. Er beschäftigt sich mit der Entwicklung und Parametrierung von Software, Computerberatung und Systemanalyse für namhafte Kunden wie T-Mobile und Metro AG. Zudem schult er Datenbanktechnologien, z. B. alle relevanten Oracle-Bereiche (Einführung, SQL, PL/SQL, Administration, Performance, Backup & Recovery, Datawarehousing etc.). Seit 2008 ist er Dozent an der Hochschule der in Medien Stuttgart.
Inhalt
1. Materialien zum Buch ... 23
1. Einführung ... 25
1.1 ... Für wen ist dieses Buch geschrieben? ... 25
1.2 ... Aufbau des Buches ... 26
1.3 ... Anmerkung zur vierten Auflage ... 35
1.4 ... Anmerkung zur dritten Auflage ... 36
1.5 ... Anmerkung zur zweiten Auflage ... 37
1.6 ... Danksagung ... 38
TEIL I. Einführung und Grundlagen ... 39
2. Verwendete Werkzeuge und Skripte ... 41
2.1 ... Aufsetzen einer Beispieldatenbank ... 41
2.2 ... SQL Developer ... 44
2.3 ... Die Datenbankbenutzer ... 49
2.4 ... Online-Dokumentation und weiterführende Literatur ... 50
3. Konzept einer relationalen Datenbank ... 53
3.1 ... Die Idee der relationalen Speicherung ... 53
3.2 ... SQL -- die »Lingua franca« der Datenbank ... 70
3.3 ... Analyse vorhandener Datenmodelle ... 78
TEIL II. Die SELECT-Anweisung ... 85
4. Grundlagen: Auswahl und Projektion ... 87
4.1 ... Projektion ... 87
4.2 ... Auswahl ... 102
4.3 ... Sortieren von Zeilenmengen ... 116
4.4 ... Fallunterscheidungen ... 120
4.5 ... Die Klausel ROW LIMITING ... 128
4.6 ... Pseudospalten ... 131
4.7 ... Kommentare ... 137
4.8 ... Der NULL-Wert ... 139
4.9 ... Übungen ... 146
5. Daten aus mehreren Tabellen lesen: Joins ... 147
5.1 ... Einführung in Joins ... 148
5.2 ... Inner Join ... 149
5.3 ... Outer Join ... 160
5.4 ... Anti-Join, Semi-Join, Self-Join und Natural Join ... 169
5.5 ... Mengenoperationen mit UNION, MINUS und INTERSECT ... 175
5.6 ... Übungen ... 182
5.7 ... Zusatz: Weiterführende Join-Konzepte ... 183
6. Zeilenfunktionen ... 191
6.1 ... Grundsätzliches zu Funktionen ... 191
6.2 ... Zeichenfunktionen ... 195
6.3 ... Datumsfunktionen ... 219
6.4 ... Mathematische Funktionen ... 239
6.5 ... Allgemeine Funktionen ... 255
6.6 ... Eigene Funktionen erstellen: Berechnung der Fakultät ... 274
7. Gruppenfunktionen ... 279
7.1 ... Die Standardgruppenfunktionen ... 280
7.2 ... Gruppierung von Gruppenfunktionen ... 285
7.3 ... Spezielle Gruppenfunktionen ... 300
7.4 ... Wenn ungefähr ausreicht ... 308
7.5 ... Übungen ... 309
8. Unterabfragen ... 311
8.1 ... Die Unterabfrage in der WHERE-Klausel ... 311
8.2 ... Die Unterabfrage in der FROM-Klausel (Inner View) ... 322
8.3 ... Unterabfragen und Joins ... 329
8.4 ... Funktionen in der WITH-Klausel ... 334
8.5 ... Übungen ... 336
9. Analytische Funktionen ... 337
9.1 ... Die Idee der analytischen Funktionen ... 337
9.2 ... Gruppenfunktionen als analytische Funktionen ... 343
9.3 ... Analytische Rangfunktionen ... 354
9.4 ... Zusammenfassung ... 370
9.5 ... Übungen ... 371
TEIL III. Datenmanipulation und Erzeugung von Datenbankobjekten ... 373
10. Datenmanipulation ... 375
10.1 ... Die INSERT-Anweisung ... 376
10.2 ... Die UPDATE-Anweisung ... 382
10.3 ... Die DELETE-Anweisung ... 389
10.4 ... Die MERGE-Anweisung ... 390
10.5 ... Exkurs: Flashback ... 401
10.6 ... Sequenzen und Trigger ... 403
10.7 ... Ihr Sicherheitsnetz -- die Transaktion ... 409
10.8 ... Fehlerbehandlung während der Datenmanipulation ... 412
10.9 ... Multi-Table-Insert ... 420
11. Views erstellen ... 429
11.1 ... »Normale« Views ... 429
11.2 ... Einsatzbereiche von Views ... 440
11.3 ... Wer sollte Views verwenden? ... 445
11.4 ... Materialized View ... 447
12. Tabellen erstellen ... 463
12.1 ... Einfache Tabellen erstellen ... 463
12.2 ... Datentypen ... 480
12.3 ... Domänen ... 493
12.4 ... Annotationen und Kommentare ... 504
12.5 ... Weitere Tabellentypen ... 507
12.6 ... Erweiterung zur »aktiven Tabelle« ... 520
13. Indizes erstellen ... 527
13.1 ... Was ist ein Index? ... 528
13.2 ... Indextypen bei Oracle ... 532
13.3 ... Spezielle Indextypen ... 537
14. Aufbau einer Oracle-Datenbank ... 553
14.1 ... Wie arbeitet eine Oracle-Datenbank? ... 553
14.2 ... Datensicherheit ... 564
14.3 ... Zeichensatzcodierung ... 579
15. Anwendungsbeispiele ... 585
15.1 ... Delta-View ... 585
15.2 ... Dubletten bereinigen ... 596
15.3 ... Entscheidungstabellen ... 601
15.4 ... Entscheidungstabelle 2: »Expertensystem« ... 608
TEIL IV. Spezielle Abfragetechniken ... 613
16. Umgang mit Datum und Zeit ... 615
16.1 ... Erzeugung von Datumstypen ... 615
16.2 ... Erzeugung von Intervallen ... 622
16.3 ... Konvertierung von Zeichenketten in Datumstypen ... 626
16.4 ... Zeilenfunktionen für Zeitstempel mit Zeitzonen ... 632
16.5 ... Abfragen über die Zeit: Flashback ... 635
17. Hierarchische Abfragen ... 641
17.1 ... Das Problem ... 641
17.2 ... Lösung mit der CONNECT BY-Klausel ... 644
17.3 ... Erweiterungen der CONNECT BY-Klausel ... 651
17.4 ... Hierarchische Abfragen nach ISO-Standard ... 662
18. Arbeiten mit XML ... 675
18.1 ... XML-Instanzen mit SQL/XML erzeugen ... 678
18.2 ... Bearbeitung von XML-Instanzen in SQL/XML ... 696
18.3 ... Extraktion relationaler Daten aus XML ... 702
18.4 ... Speicherung von XML in der Datenbank ... 707
18.5 ... Der Datentyp XMLTYPE ... 716
19. JSON ... 725
19.1 ... Übersicht über JSON ... 725
19.2 ... Oracles JSON-Unterstützung ... 728
19.3 ... Abfragen gegen JSON-Instanzen ... 731
19.4 ... JSON-Funktionen und -Operatoren ... 736
19.5 ... Erzeugung von JSON aus relationalen Daten ... 742
19.6 ... Relationale Daten aus JSON extrahieren ... 752
19.7 ... JSON-Instanzen bearbeiten ... 758
19.8 ... JSON Data Guide ... 764
19.9 ... JSON-Schema ... 767
19.10 ... JSON Duality Views ... 770
20. Pivotieren von Daten ... 777
20.1 ... Pivotierung mit Gruppenfunktionen ... 778
20.2 ... Pivotierung mit der PIVOT-Klausel ... 780
20.3 ... Unpivotierung mit Gruppenfunktionen ... 787
…
