Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Oracle PL/SQL

das umfassende Handbuch

(Autor)

Buch | Hardcover
1100 Seiten
2023 | 4., aktualisierte Auflage
Rheinwerk (Verlag)
978-3-8362-9630-4 (ISBN)
CHF 125,85 inkl. MwSt
Alles zur Programmierung mit PL/SQL

  • Performante und skalierbare Anwendungen mit PL/SQL
  • Trigger, Stores Procedures, Oracle Packages
  • Datensicherheit und Konsistenz, PL/SQL in der Datenbankadministration etc.

Mit PL/SQL, der prozeduralen Erweiterung von SQL, verfügen Sie über eine faszinierende Technologie, um Oracles Datenbank mächtige Funktionen abzugewinnen.

Egal, ob Sie bereits mit Datenbanken zu tun haben und jetzt die Fähigkeiten mit PL/SQL erweitern möchten, sich als Administrator beispielsweise in die Programmierung von Triggern einarbeiten wollen oder als Anwendungsentwickler einen näheren Blick auf Datenbankinterna werfen müssen: In diesem umfassenden Handbuch finden Sie alles, was Sie benötigen, um mit PL/SQL den maximalen Nutzen für Ihren Anwendungsfall zu finden.

Dafür sorgen die gründliche Einführung in Aufbau und Syntax von PL/SQL, hilfreiche Anregungen zum Einsatz und der Verbesserung Ihres Codes sowie ausführliche Workshops mit Praxisbezug.

Im Vordergrund des Buchs stehen die Strategien, die Sie benötigen, um performante, sichere und skalierbare Applikationen zu entwickeln. Neben der umfassenden Einführung in PL/SQL geht es daher um Fragen wie beispielsweise:

  • Auf welche Weise können Sie große Datenmengen effizient verarbeiten?
  • Welche Vor- und Nachteile haben Datenbanktrigger, wann sind sie richtig, wann nicht?
  • Wann sollten Sie PL/SQL einsetzen, wann SQL?
  • Wie schützen Sie die Datenbank vor unberechtigtem Zugriff?
Die Kombination von strategischer Denkweise zur Datenbankprogrammierung und Workshops sowie Codebeispielen hilft Ihnen bei der korrekten und hochwertigen Datenbankprogrammierung.

Aktuell zu Oracle 19c, 21c und 23c.

Die Oracle-Datenbank verstehen
Nur wenn Sie den Aufbau und die Arbeitsweise einer Datenbank kennen, können Sie sie richtig und gut programmieren. Sie erfahren alles über Speicherstrukturen, Parameter, Passwortdateien, Schemata, Tablespaces, Datenbankobjekte u. v. m.

Setzen Sie PL/SQL in der Praxis ein
Erweitern Sie den Befehlsumfang von SQL durch eigene PL/SQL-Funktionen und erfahren Sie mehr über die Arbeit mit großen Datenstrukturen wie Video und Audio. Von einfachen Beispielen führt Sie Jürgen Sieben zu komplexen, sofort einsetzbaren Anwendungen.

Arbeiten Sie professionell mit XML und OOP
Ob Performance-Tuning, Fehlerbehandlung, objektorientierte Programmierung oder XML – mit diesem umfassenden Handbuch können Sie vielschichtige Aufgabenstellungen mit PL/SQL lösen. So werden Sie zum Datenbank-Profi!

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.

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.

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 ... 53

TEIL 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 ... 227

TEIL 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 ... 340

10. 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 ... 373

11. 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 ... 445

12. 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 ... 501

13. 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 ... 558

14. 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 ... 615

15. 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 ... 662

TEIL III. PL/SQL im Einsatz ... 665
16. 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 ... 692

17. 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 ... 743

18. Arbeiten mit JSON ... 769

18.1 ... JSON ... 769
18.2 ... Programmierung von JSON mit PL/SQL ... 780
18.3 ... SODA (Simple Oracle Document Access) ... 789

19. 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 ... 851

20. 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 ... 924

21. 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 ... 999

22. 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

»Eine ausführliche Einführung in den Aufbau und die Syntax von PL/SQL sowie hilfreiche Anregungen zum Einsatz und der Verbesserung von Code. Die enthaltenen Workshops sind ausführlich gestaltet und haben einen starken Bezug zur Praxis.« Ahadesign.eu 202309

»Eine ausführliche Einführung in den Aufbau und die Syntax von PL/SQL sowie hilfreiche Anregungen zum Einsatz und der Verbesserung von Code. Die enthaltenen Workshops sind ausführlich gestaltet und haben einen starken Bezug zur Praxis.«

Erscheinungsdatum
Zusatzinfo Illustrationen
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Datenbanken
Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
Schlagworte Datenbank-Administration • Datenbanken programmieren • Datenbank erstellen • Developer Tutorial • Dynamisches SQL • Hand-Buch E-Book lernen Grundlagen Kurs Tipps Workshop Wissen Anleitung Training Ausbildung Schulung • Oracle 19c 21c • plsql • Programmiersprache Oracle • Trigger • XML OOP
ISBN-10 3-8362-9630-6 / 3836296306
ISBN-13 978-3-8362-9630-4 / 9783836296304
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Der Grundkurs für Ausbildung und Praxis

von Ralf Adams

Buch (2023)
Carl Hanser (Verlag)
CHF 41,95