Oracle PL/SQL - Das umfassende Handbuch für Datenbankentwickler. Aktuell zu Oracle 19c und 21c

Gebundene Ausgabe
89,90 €
inkl. MwSt. versandkostenfrei!

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 4. Auflage, 06.09.2023
Seiten 1090
Format 17,0 x 6,0 x 24,0 cm
Gewicht 2119 g
ISBN-10 3836296306
ISBN-13 9783836296304
Bestell-Nr 83629630A

Produktbeschreibung  

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.



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.


Inhalt:



  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

Autorenporträt  
Mehr Angebote zum Thema