Oracle PL/SQL

Das umfassende Handbuch
Nicht lieferbar | Lieferzeit: Nicht lieferbar I
Alle Preise inkl. MwSt. | Versandkostenfrei
Nicht verfügbar Zum Merkzettel
Gewicht:
2113 g
Format:
244x176x62 mm
Beschreibung:

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 Medien Stuttgart.
Datensicherheit, Konsistenz, Transaktionen, Trigger, OOP, XML, Fehlerbehandlung, Logging, Sicherheit u.v.m.


1. Einführung ... 21


1.1 ... Für wen ist dieses Buch geschrieben? ... 21

1.2 ... Der Aufbau des Buches ... 24

1.3 ... Vorwort zur zweiten Auflage ... 32

1.4 ... Vorwort zur dritten Auflage ... 33

1.5 ... Danksagung ... 34



2. Verwendete Werkzeuge und Ressourcen ... 35


2.1 ... Oracles Online-Dokumentation ... 35

2.2 ... Aufsetzen einer Beispieldatenbank ... 41

2.3 ... SQL*Plus ... 43

2.4 ... SQLCL ... 45

2.5 ... SQL Developer ... 45

2.6 ... »explain plan« ... 46

2.7 ... Autotrace ... 48

2.8 ... RunStats ... 50

2.9 ... Trace und TKProf ... 51

2.10 ... Debugger ... 55

2.11 ... Weitere Werkzeuge ... 56

2.12 ... Die Beispielskripte ... 57




TEIL I Grundlagen ... 59



3. Aufbau der Datenbank aus Sicht eines Programmierers ... 61


3.1 ... Grundlegende Arbeitsweise der Datenbank ... 61

3.2 ... Logischer Aufbau: Schema, Tablespace & Co. ... 71

3.3 ... Die physikalische Datenbank ... 82

3.4 ... Instanz und Speicherstrukturen ... 88

3.5 ... Start der Datenbank ... 98

3.6 ... Verbindungsaufbau zur Datenbank ... 99



4. Datenbankobjekte und SQL ... 119


4.1 ... Tabellen ... 119

4.2 ... Index ... 125

4.3 ... Views und Materialized Views ... 134

4.4 ... PL/SQL-Programm ... 137

4.5 ... Sonstige Datenbankobjekte ... 138

4.6 ... Exkurs: Zeichensatzcodierung ... 144

4.7 ... Mächtigkeit von SQL ... 150



5. Datensicherheit, -konsistenz und Transaktion ... 163


5.1 ... Lese- und Schreibkonsistenz ... 164

5.2 ... Transaktion ... 168

5.3 ... Datenkonsistenz und referenzielle Integrität ... 172

5.4 ... Explizites Sperren von Daten durch die Anwendung ... 186

5.5 ... Verarbeitung einer SQL-Anweisung ... 193

5.6 ... Die Sperrmechanismen von Oracle ... 199

5.7 ... Datensicherheit ... 200

5.8 ... Workshop: Einfluss der Programmierung ... 203



6. Programmierung der Datenbank ... 217


6.1 ... Erweiterung der Datenbankfunktionalität ... 217

6.2 ... Programmierung der Datenkonsistenz ... 219

6.3 ... Programmierung der Datensicherheit ... 226

6.4 ... Anwendungsprogrammierung mit PL/SQL ... 230

6.5 ... Unterstützung der Administration durch PL/SQL ... 236




TEIL II Die Sprache PL/SQL ... 241



7. Die Blockstruktur und Syntax von PL/SQL ... 243


7.1 ... Das Grundgerüst: der PL/SQL-Block ... 244

7.2 ... Prozeduren ... 251

7.3 ... Funktionen ... 267

7.4 ... Datenbanktrigger ... 271

7.5 ... Packages ... 272

7.6 ... Ausführungsrechte von PL/SQL-Blöcken ... 277

7.7 ... Compiler-Anweisungen (Pragma) ... 280

7.8 ... Best Practices ... 282



8. Kontrollstrukturen ... 285


8.1 ... Auswertende Anweisung 1 (»if then else«-Anweisung) ... 285

8.2 ... Auswertende Anweisung 2 (»case«-Anweisung) ... 287

8.3 ... Einfache Schleifen ... 291

8.4 ... Konditionale Kompilierung ... 298

8.5 ... Aus der Mottenkiste: Konzepte, die Sie nicht verwenden sollten ... 303



9. Datentypen in PL/SQL ... 309


9.1 ... PL/SQL-Datentypen ... 309

9.2 ... Kollektionen in PL/SQL ... 319

9.3 ... Cursor ... 340

9.4 ... Pipelined Function ... 368



10. Dynamisches SQL ... 379


10.1 ... Dynamisches SQL mittels »execute immediate« ... 379

10.2 ... Dynamisches SQL mit Cursor-Variablen ... 383

10.3 ... Workshop: Erstellung einer Prozedur als Schnittstelle zu einem externen Programm ... 384

10.4 ... DBMS_SQL-Package ... 389

10.5 ... Sicherheit bei dynamischem SQL ... 404



11. Events in der Datenbank: Programmierung von Triggern ... 411


11.1 ... DML-Trigger ... 411

11.2 ... »instead of«-Trigger ... 432

11.3 ... Einsatzbereiche von DML-Triggern ... 435

11.4 ... Wann Sie DML-Trigger nicht verwenden sollten ... 458

11.5 ... Datenbanktrigger ... 461

11.6 ... Zusammenfassung ... 473



12. Packages ... 477


12.1 ... Trennung von öffentlicher und privater Logik ... 477

12.2 ... Überladung in Packages ... 490

12.3 ... Ausführungsrechte von Packages ... 497

12.4 ... Packages und die Dependency Chain ... 502

12.5 ... Verschlüsselung von Package-Code ... 509

12.6 ... Oracle-Packages ... 514

12.7 ... Workshop: Verwaltung von Anwendungsparametern ... 527



13. Erweiterung von SQL ... 549


13.1 ... Wann SQL erweitert werden sollte ... 549

13.2 ... SQL mit eigenen Funktionen erweitern ... 555

13.3 ... Workshop: Berechnung der Fakultät ... 565

13.4 ... Gruppenfunktionen selbst erstellen ... 575

13.5 ... Workshop: Code-Generator für Gruppenfunktionen ... 585



14. Exception ... 603


14.1 ... Oracle-Fehler ... 603

14.2 ... Applikationsfehler erstellen und bearbeiten ... 616

14.3 ... Workshop: Zentralisierter Fehler-Handler mit einem Trigger ... 627

14.4 ... Zusammenfassung ... 632




TEIL III PL/SQL im Einsatz ... 633



15. Arbeiten mit LOBs (Large Objects) ... 635


15.1 ... Technische Struktur ... 636

15.2 ... Die Datentypen »CLOB«, »NCLOB«, »BLOB« und »BFILE« ... 651

15.3 ... Das Package »DBMS_LOB« ... 655

15.4 ... Workshop: Hilfsfunktionen zum Arbeiten mit LOBs ... 661



16. Arbeiten mit XML und JSON ... 671


16.1 ... Der Datentyp »XMLType« ... 672

16.2 ... Die Speicherung von XML-Daten in der Datenbank ... 680

16.3 ... XML aus relationalen Daten erzeugen ... 683

16.4 ... Relationale Daten aus XML extrahieren ... 698

16.5 ... XML mit PL/SQL verarbeiten ... 704

16.6 ... Die XML-Datenbank ... 716

16.7 ... JSON ... 741



17. Objektorientierung ... 759


17.1 ... Einführung in die Objektorientierung ... 761

17.2 ... Objektorientierte Datentypen ... 772

17.3 ... Objektorientierte Datenmodelle ... 783

17.4 ... Workshop: Der Datentyp »MoneyType« ... 787

17.5 ... Objektorientierte Anwendungsentwicklung und relationale Datenbanken ... 808



18. Integration von Oracle in Applikationen ... 839


18.1 ... Sperrung von Daten bei der Datenänderung ... 840

18.2 ... Speicherung von Session-Informationen ... 858

18.3 ... Zugriff auf Daten über PL/SQL-Packages ... 877

18.4 ... Workshop: Keimzelle einer sicheren Datenbankanwendung ... 880



19. Performance-Tuning und Code-Analyse ... 901


19.1 ... Regeln zur Performance-Optimierung ... 902

19.2 ... Optimierungsmöglichkeiten von PL/SQL ... 910

19.3 ... Compiler-Warnungen ... 923

19.4 ... PL/Scope ... 927

19.5 ... PL/SQL Hierarchical Profiler ... 934

19.6 ... Den Speicherverbrauch von PL/SQL überwachen ... 953



20. Workshop: PL/SQL Instrumentation Toolkit (PIT) ... 957


20.1 ... Überblick: die Idee und die Architektur ... 957

20.2 ... Beschreibung der einzelnen Komponenten ... 966

20.3 ... Implementierung des PIT-Administrationspackages ... 1006

20.4 ... Weitere Ausgabemodule ... 1026



Index ... 1041

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

Aus dem Inhalt:

  • Für Programmierer und Administratoren
  • Grundlagen von Oracle-Datenbanken
  • Werkzeuge und Ressourcen
  • Datensicherheit, Konsistenz, Transaktionen
  • Erweiterung von Datenbankfunktionalitäten
  • Syntax von PL/SQL, Datentypen, Kontrollstrukturen,
  • dynamisches SQL
  • Trigger, Verarbeitung von Dateien,
  • Fehlerbehebung
  • Pluggable Databases
  • Debugging, Monitoring und Performanztuning
  • PL/Scope
  • Workshops aus der Praxis
  • u. v. m.

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.