Buch, Deutsch, 1090 Seiten, Format (B × H): 178 mm x 246 mm, Gewicht: 2120 g
Reihe: Rheinwerk Computing
Das umfassende Handbuch für Datenbankentwickler. Aktuell zu Oracle 19c und 21c
Buch, Deutsch, 1090 Seiten, Format (B × H): 178 mm x 246 mm, Gewicht: 2120 g
Reihe: Rheinwerk Computing
ISBN: 978-3-8362-9630-4
Verlag: Rheinwerk Verlag GmbH
Aus dem Inhalt:
- Für Programmierer und Admins
- Grundlagen von Oracle-Datenbanken
- Werkzeuge und Ressourcen
- Datenbankobjekte und SQL
- Datensicherheit, Konsistenz, Transaktionen
- Erweiterung von Datenbankfunktionalitäten
- Syntax von PL/SQL
- Datentypen und Kontrollstrukturen
- Dynamisches SQL
- Pluggable Databases
- Debugging, Monitoring und Performancetuning
- PL/Scope
- LargeObjects, XML, OOP
- Workshops aus der Praxis
- u. v. m.
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
Materialien zum Buch ... 21 1. Einführung ... 23 1.1 ... Für wen ist dieses Buch geschrieben? ... 23
1.2 ... Der Aufbau des Buches ... 26
1.3 ... Vorwort zur vierten Auflage ... 34 2. Verwendete Werkzeuge und Ressourcen ... 35 2.1 ... Oracles Online-Dokumentation ... 35
2.2 ... Aufsetzen einer Beispieldatenbank ... 40
2.3 ... SQL*Plus ... 41
2.4 ... SQLCL ... 42
2.5 ... SQL Developer ... 43
2.6 ... »explain plan« ... 44
2.7 ... Autotrace ... 46
2.8 ... Runstats ... 48
2.9 ... Trace und tkprof ... 49
2.10 ... Debugger ... 52
2.11 ... Weitere Werkzeuge ... 53
2.12 ... Die Beispielskripte ... 53TEIL I. Grundlagen ... 55 3. Aufbau der Datenbank aus Sicht eines Programmierers ... 57 3.1 ... Grundlegende Arbeitsweise der Datenbank ... 57
3.2 ... Logischer Aufbau: Schema, Tablespace und Co. ... 69
3.3 ... Die physikalische Datenbank ... 79
3.4 ... Instanz und Speicherstrukturen ... 84
3.5 ... Containerdatenbank ... 94
3.6 ... Start der Datenbank ... 95
3.7 ... Verbindungsaufbau zur Datenbank ... 96 4. Datenbankobjekte und SQL ... 113 4.1 ... Tabellen ... 113
4.2 ... Index ... 120
4.3 ... Views und Materialized Views ... 129
4.4 ... PL/SQL-Programm ... 132
4.5 ... Sonstige Datenbankobjekte ... 133
4.6 ... Exkurs: Zeichensatzcodierung ... 139
4.7 ... Mächtigkeit von SQL ... 145 5. Datensicherheit, -konsistenz und Transaktion ... 159 5.1 ... Lese- und Schreibkonsistenz ... 160
5.2 ... Transaktion ... 164
5.3 ... Datenkonsistenz und referenzielle Integrität ... 168
5.4 ... Explizites Sperren von Daten durch die Anwendung ... 183
5.5 ... Verarbeitung einer SQL-Anweisung ... 190
5.6 ... Die Sperrmechanismen von Oracle ... 196
5.7 ... Datensicherheit ... 197
5.8 ... Workshop: Einfluss der Programmierung ... 200 6. Programmierung der Datenbank ... 213 6.1 ... Erweiterung der Datenbankfunktionalität ... 213
6.2 ... Programmierung der Datenkonsistenz ... 215
6.3 ... Programmierung der Datensicherheit ... 223
6.4 ... Anwendungsprogrammierung mit PL/SQL ... 226
6.5 ... Unterstützung der Administration durch PL/SQL ... 227TEIL II. Die Sprache PL/SQL ... 231 7. Die Blockstruktur und Syntax von PL/SQL ... 233 7.1 ... Das Grundgerüst: der PL/SQL-Block ... 234
7.2 ... Prozeduren ... 241
7.3 ... Funktionen ... 257
7.4 ... Datenbanktrigger ... 261
7.5 ... Packages ... 262
7.6 ... Ausführungsrechte von PL/SQL-Blöcken ... 267
7.7 ... Compiler-Anweisungen (Pragma) ... 270
7.8 ... Best Practices ... 272 8. Kontrollstrukturen ... 275 8.1 ... Auswertende Anweisung 1 (»if then else«-Anweisung) ... 275
8.2 ... Auswertende Anweisung 2 (»case«-Anweisung) ... 277
8.3 ... Einfache Schleifen ... 281
8.4 ... Konditionale Kompilierung ... 292
8.5 ... Aus der Mottenkiste: Konzepte, die Sie nicht verwenden sollten ... 297 9. Datentypen in PL/SQL ... 303 9.1 ... Skalare Datentypen ... 303
9.2 ... Kollektionen in PL/SQL ... 314
9.3 ... Cursor ... 34010. Cursor ... 341 10.1 ... Lebenszyklus eines Cursors ... 341
10.2 ... Cursor-Attribute ... 344
10.3 ... Parametrisierte Cursor ... 347
10.4 ... Mengenverarbeitung mit »bulk collect« ... 349
10.5 ... Kurzform: die »cursor for«-Schleife ... 351
10.6 ... Implizite versus explizite Cursor ... 353
10.7 ... Cursor-Variablen (»ref«-Cursor) ... 359
10.8 ... Cursor-Ausdrücke ... 366
10.9 ... Gemeinsamer Zugriff auf Daten über verteilte Cursor ... 371
10.10 ... Tabellenfunktionen ... 37311. Events in der Datenbank: Programmierung von Triggern ... 385 11.1 ... DML-Trigger ... 385
11.2 ... »instead of«-Trigger ... 406
11.3 ... Einsatzbereiche von DML-Triggern ... 409
11.4 ... Wann Sie DML-Trigger nicht verwenden sollten ... 429
11.5 ... Datenbanktrigger ... 433
11.6 ... Zusammenfassung ... 44512. Packages ... 449 12.1 ... Trennung von öffentlicher und privater Logik ... 449
12.2 ... Überladung in Packages ... 465
12.3 ... Ausführungsrechte von Packages ... 471
12.4 ... Packages und die Dependency Chain ... 476
12.5 ... Verschlüsselung von Package-Code ... 483
12.6 ... Oracle-Packages ... 488
12.7 ... Workshop: Verwaltung von Anwendungsparametern ... 50113. Erweiterung von SQL ... 521 13.1 ... Wann SQL erweitert werden sollte ... 521
13.2 ... SQL durch eigene Funktionen erweitern ... 527
13.3 ... Workshop: Berechnung der Fakultät ... 537
13.4 ... Gruppenfunktionen selbst erstellen ... 547
13.5 ... Workshop: Code-Generator für Gruppenfunktionen ... 55814. Dynamisches SQL ... 571 14.1 ... Dynamisches SQL mittels »execute immediate« ... 572
14.2 ... Dynamisches SQL mit Cursor-Variablen ... 576
14.3 ... Workshop: Erstellung einer Prozedur als Schnittstelle zu einem externen Programm ... 576
14.4 ... DBMS_SQL-Package ... 581
14.5 ... Sicherheit bei dynamischem SQL ... 597
14.6 ... SQL-Makros ... 601
14.7 ... Polymorphe Tabellenfunktionen ... 61515. Exception ... 631 15.1 ... Oracle-Fehler ... 631
15.2 ... Applikationsfehler erstellen und bearbeiten ... 647
15.3 ... Workshop: zentralisierter Fehler-Handler mit einem Trigger ... 657
15.4 ... Zusammenfassung ... 662TEIL III. PL/SQL im Einsatz ... 66516. Arbeiten mit LOBs (Large Objects) ... 667 16.1 ... Technische Struktur ... 668
16.2 ... Die Datentypen »CLOB«, »NCLOB«, »BLOB« und »BFILE« ... 683
16.3 ... Das Package »DBMS_LOB« ... 686
16.4 ... Workshop: Hilfsfunktionen zum Arbeiten mit LOBs ... 69217. Arbeiten mit XML ... 701 17.1 ... Der Datentyp »XMLType« ... 701
17.2 ... Die Speicherung von XML-Daten in der Datenbank ... 710
17.3 ... XML aus relationalen Daten erzeugen ... 713
17.4 ... Relationale Daten aus XML extrahieren ... 726
17.5 ... XML mit PL/SQL verarbeiten ... 731
17.6 ... Die XML-Datenbank ... 74318. Arbeiten mit JSON ... 769 18.1 ... JSON ... 769
18.2 ... Programmierung von JSON mit PL/SQL ... 780
18.3 ... SODA (Simple Oracle Document Access) ... 78919. Objektorientierung ... 801 19.1 ... Einführung in die Objektorientierung ... 803
19.2 ... Objektorientierte Datentypen ... 815
19.3 ... Objektorientierte Datenmodelle ... 826
19.4 ... Workshop: der Datentyp »MoneyType« ... 830
19.5 ... Objektorientierte Anwendungsentwicklung und relationale Datenbanken ... 85120. Integration von Oracle in Applikationen ... 881 20.1 ... Sperrung von Daten bei der Datenänderung ... 882
20.2 ... Speicherung von Session-Informationen ... 901
20.3 ... Zugriff auf Daten über PL/SQL-Packages ... 920
20.4 ... Workshop: Keimzelle einer sicheren Datenbankanwendung ... 92421. Performance-Tuning und Codeanalyse ... 945 21.1 ... Regeln zur Performance-Optimierung ... 946
21.2 ... Optimierungsmöglichkeiten von PL/SQL ... 955
21.3 ... Compiler-Warnungen ... 969
21.4 ... PL/Scope ... 973
21.5 ... PL/SQL Hierarchical Profiler ... 980
21.6 ... Den Speicherverbrauch von PL/SQL überwachen ... 99922. Workshop: PL/SQL Instrumentation Toolkit (PIT) ... 1003 22.1 ... Überblick: die Idee und die Architektur ... 1003
22.2 ... Beschreibung der einzelnen Komponenten ... 1012
22.3 ... Implementierung des PIT-Administrations-Packages ... 1047
22.4 ... Weitere Ausgabemodule ... 1055 Index ... 1071