Your email was sent successfully. Check your inbox.

An error occurred while sending the email. Please try again.

Proceed reservation?

Export
  • 1
    Online Resource
    Online Resource
    Bonn : Rheinwerk Verlag
    UID:
    kobvindex_ERBEBC6382503
    Format: 1 online resource (1063 pages)
    Edition: 3
    ISBN: 9783836260756
    Note: Intro -- 1 Einführung -- 1.1 Für wen ist dieses Buch geschrieben? -- 1.2 Der Aufbau des Buches -- 1.2.1 Teil 1: Grundlagen -- 1.2.2 Teil 2: Die Sprache PL/SQL -- 1.2.3 Teil 3: PL/SQL im Einsatz -- 1.3 Vorwort zur zweiten Auflage -- 1.4 Vorwort zur dritten Auflage -- 1.5 Danksagung -- 2 Verwendete Werkzeuge und Ressourcen -- 2.1 Oracles Online-Dokumentation -- 2.1.1 Wo finde ich die benötigten Informationen? -- 2.1.2 PL/SQL-Grundlagen -- 2.1.3 Oracle-Packages -- 2.1.4 Weiterführende Literatur -- 2.2 Aufsetzen einer Beispieldatenbank -- 2.3 SQL*Plus -- 2.4 SQLCL -- 2.5 SQL Developer -- 2.6 »explain plan« -- 2.7 Autotrace -- 2.8 RunStats -- 2.9 Trace und TKProf -- 2.10 Debugger -- 2.11 Weitere Werkzeuge -- 2.12 Die Beispielskripte -- Teil I Grundlagen -- 3 Aufbau der Datenbank aus Sicht eines Programmierers -- 3.1 Grundlegende Arbeitsweise der Datenbank -- 3.1.1 Anforderungen an ein Datenbank-Managementsystem -- 3.1.2 Lesekonsistenz -- 3.1.3 Die Begriffe Datenbank, Schema und Tablespace -- 3.1.4 Systemtabellen, Data Dictionary und Privilegien -- 3.1.5 Die Sicht der Anwendung auf die Datenbank -- 3.2 Logischer Aufbau: Schema, Tablespace & -- Co. -- 3.2.1 Schema -- 3.2.2 Tablespace -- 3.2.3 Auswirkungen auf die Architektur einer Applikation -- 3.3 Die physikalische Datenbank -- 3.3.1 Datendateien -- 3.3.2 Redo-Log-Dateien -- 3.3.3 Kontrolldatei -- 3.3.4 Parameterdatei -- 3.3.5 Passwortdatei -- 3.3.6 FRA (Fast Recovery Area) -- 3.3.7 ASM -- 3.4 Instanz und Speicherstrukturen -- 3.4.1 Die Speicherbereiche der SGA -- 3.4.2 Shared Pool -- 3.4.3 Die Hintergrundprozesse -- 3.5 Start der Datenbank -- 3.6 Verbindungsaufbau zur Datenbank -- 3.6.1 Verbindungsarten und Treiber -- 3.6.2 Dedicated-Server-Verbindung -- 3.6.3 Shared-Server-Verbindung -- 3.6.4 Database Resident Connection Pool -- 3.6.5 Und nun? Entscheidungshilfen für den Verbindungsaufbau , 4 Datenbankobjekte und SQL -- 4.1 Tabellen -- 4.1.1 Heap Organized Table -- 4.1.2 Index Organized Table -- 4.1.3 Temporäre Tabellen -- 4.1.4 Partitionierte Tabellen -- 4.2 Index -- 4.2.1 Anmerkung zur Benutzung von Indizes -- 4.2.2 B*-Baum-Index -- 4.2.3 Reverse-Key-Index -- 4.2.4 Funktionsbasierter Index -- 4.3 Views und Materialized Views -- 4.3.1 Views -- 4.3.2 Materialized Views -- 4.4 PL/SQL-Programm -- 4.5 Sonstige Datenbankobjekte -- 4.5.1 Sequenzen -- 4.5.2 Synonym -- 4.5.3 Database Link -- 4.5.4 Große Datenmengen: CLOB, NCLOB, BLOB und BFile -- 4.5.5 Benutzerdefinierte Typen, XML, JSON -- 4.5.6 Weitere Datenbankobjekte -- 4.6 Exkurs: Zeichensatzcodierung -- 4.6.1 Zeichensatzcodierung im Überblick -- 4.6.2 Zeichensatzcodierung bei Oracle -- 4.7 Mächtigkeit von SQL -- 4.7.1 Analytische Funktionen -- 4.7.2 Hierarchische Abfragen -- 4.7.3 Error Logging -- 4.7.4 Fazit -- 5 Datensicherheit, -konsistenz und Transaktion -- 5.1 Lese- und Schreibkonsistenz -- 5.1.1 Lesekonsistenz -- 5.1.2 Schreibkonsistenz -- 5.2 Transaktion -- 5.2.1 Transaktion zum Schutz der Lesekonsistenz -- 5.2.2 Transaktion zur Definition eines Geschäftsvorfalls -- 5.2.3 Zusammenfassung -- 5.3 Datenkonsistenz und referenzielle Integrität -- 5.3.1 Datenintegrität -- 5.3.2 Performance-Überlegungen zu Datenbank-Constraints -- 5.3.3 Datenkonsistenz -- 5.3.4 Zusammenfassung -- 5.4 Explizites Sperren von Daten durch die Anwendung -- 5.4.1 Das Problem: Lost Updates -- 5.4.2 Das optimistische Sperren -- 5.4.3 Das pessimistische Sperren -- 5.4.4 Das vorsichtig optimistische Sperren -- 5.4.5 Und nun? Wann sollte welche Sperrstrategie verwendet werden? -- 5.5 Verarbeitung einer SQL-Anweisung -- 5.5.1 Parsen und Optimierung -- 5.5.2 Datenlieferung über Cursor -- 5.6 Die Sperrmechanismen von Oracle -- 5.6.1 Locks -- 5.6.2 Latches -- 5.7 Datensicherheit , 5.8 Workshop: Einfluss der Programmierung -- 5.8.1 Das Ziel unserer Programmierung -- 5.8.2 Implementierung des Tests -- 6 Programmierung der Datenbank -- 6.1 Erweiterung der Datenbankfunktionalität -- 6.2 Programmierung der Datenkonsistenz -- 6.2.1 Datenbanktrigger -- 6.2.2 Datenzugriff über PL/SQL -- 6.2.3 Datenkonsistenz jenseits referenzieller Integrität -- 6.3 Programmierung der Datensicherheit -- 6.4 Anwendungsprogrammierung mit PL/SQL -- 6.4.1 PL/SQL auf der Client-Seite -- 6.4.2 Webanwendungen mit PL/SQL entwickeln -- 6.5 Unterstützung der Administration durch PL/SQL -- 6.5.1 Einsatz von PL/SQL in Skripten -- 6.5.2 Verwaltung wiederkehrender Aufgaben mit Scheduler und Jobs -- 6.5.3 Datenbanktrigger im Umfeld der Datensicherung und des Auditings -- Teil II Die Sprache PL/SQL -- 7 Die Blockstruktur und Syntax von PL/SQL -- 7.1 Das Grundgerüst: der PL/SQL-Block -- 7.1.1 Deklaration von Variablen -- 7.1.2 Schachtelung von Blöcken zur Fehlerbehandlung -- 7.1.3 Gültigkeitsbereich von Variablen -- 7.2 Prozeduren -- 7.2.1 Prozeduren mit Parametern -- 7.2.2 Formen der Parameterzuweisung -- 7.2.3 Optionale Parameter -- 7.2.4 Beliebig viele Parameter an eine Methode übergeben -- 7.3 Funktionen -- 7.4 Datenbanktrigger -- 7.5 Packages -- 7.5.1 Package-Spezifikation -- 7.5.2 Package-Körper -- 7.5.3 Aufruf von Prozeduren und Methoden in Packages -- 7.6 Ausführungsrechte von PL/SQL-Blöcken -- 7.7 Compiler-Anweisungen (Pragma) -- 7.7.1 Die autonome Transaktion -- 7.7.2 Initialisierung eigener Fehler -- 7.8 Best Practices -- 8 Kontrollstrukturen -- 8.1 Auswertende Anweisung 1 (»if then else«-Anweisung) -- 8.2 Auswertende Anweisung 2 (»case«-Anweisung) -- 8.2.1 Einfache »case«-Anweisung -- 8.2.2 Aufruf der »case«-Anweisung als SQL-Ausdruck -- 8.2.3 Die auswertende »case«-Anweisung -- 8.3 Einfache Schleifen -- 8.3.1 Basisschleife (Schleife) , 8.3.2 Abweisende Schleife 1 (»for«-Schleife) -- 8.3.3 Abweisende Schleife 2 (»while«-Schleife) -- 8.3.4 Best Practices -- 8.4 Konditionale Kompilierung -- 8.4.1 Die Auswahldirektive (Selection Directive) -- 8.4.2 Die Abfragedirektive (Inquiry Directive) -- 8.4.3 Die Error-Direktive (Error Directive) -- 8.5 Aus der Mottenkiste: Konzepte, die Sie nicht verwenden sollten -- 8.5.1 Label -- 8.5.2 »continue«- und »goto«-Anweisung -- 9 Datentypen in PL/SQL -- 9.1 PL/SQL-Datentypen -- 9.1.1 SQL-Datentypen -- 9.1.2 Basistypen und Subtypen in PL/SQL -- 9.1.3 SQL-Datentypen mit abweichender Definition in PL/SQL -- 9.1.4 SQL-Datentypen, die in PL/SQL nicht existieren -- 9.1.5 PL/SQL-Datentypen, die in SQL nicht existieren -- 9.1.6 Benutzerdefinierte Datentypen -- 9.1.7 Ableitung von Variablentypen aus dem Data Dictionary -- 9.2 Kollektionen in PL/SQL -- 9.2.1 Record -- 9.2.2 Assoziative Tabellen -- 9.2.3 Massenverarbeitung mit assoziativen Tabellen -- 9.2.4 VARRAY oder NESTED_TABLE als Alternative zu einer assoziativen Tabelle -- 9.3 Cursor -- 9.3.1 Lebenszyklus eines Cursors -- 9.3.2 Cursor-Attribute -- 9.3.3 Parametrierte Cursor -- 9.3.4 Mengenverarbeitung mit »bulk collect« -- 9.3.5 Kurzform: die »cursor for«-Schleife -- 9.3.6 Implizite versus explizite Cursor -- 9.3.7 Cursor-Variablen (REF-Cursor) -- 9.3.8 Cursor-Ausdrücke -- 9.3.9 Gemeinsamer Zugriff auf Daten über verteilte Cursor -- 9.4 Pipelined Function -- 9.4.1 Was ist eine Pipelined Function? -- 9.4.2 Workshop: Pipelined Function -- 9.4.3 Verwendung von Pipelined Functions -- 9.4.4 Workshop: Erstellung einer Pipelined Function -- 10 Dynamisches SQL -- 10.1 Dynamisches SQL mittels »execute immediate« -- 10.1.1 Verwendung von Bindevariablen -- 10.2 Dynamisches SQL mit Cursor-Variablen -- 10.3 Workshop: Erstellung einer Prozedur als Schnittstelle zu einem externen Programm -- 10.4 DBMS_SQL-Package , 10.4.1 Workshop: Code-Generator -- 10.5 Sicherheit bei dynamischem SQL -- 10.5.1 SQL-Injection über Suchparameter -- 10.5.2 SQL-Injection über Formatangaben -- 10.5.3 SQL-Injection über das Einschmuggeln zusätzlicher Anweisungen -- 10.5.4 Vermeidung von SQL-Injection 1: Bindevariablen -- 10.5.5 Vermeidung von SQL-Injection 2: »dbms_assert« -- 11 Events in der Datenbank: Programmierung von Triggern -- 11.1 DML-Trigger -- 11.1.1 Anweisungs- versus Zeilentrigger -- 11.1.2 Der Triggerkörper -- 11.1.3 Wann wird ein Trigger ausgelöst? -- 11.1.4 Das Mutating-Table-Problem -- 11.1.5 Compound Trigger -- 11.1.6 Workshop: Lösung des Mutating-Table-Problems mit einem Compound Trigger -- 11.1.7 Cross Edition Trigger -- 11.1.8 Benennungskonvention von Triggern -- 11.2 »instead of«-Trigger -- 11.3 Einsatzbereiche von DML-Triggern -- 11.3.1 Erweiterung der Datenkonsistenzprüfung über Constraints hinaus -- 11.3.2 Workshop: Statusänderungen in einer bestimmten Reihenfolge durchführen -- 11.3.3 Implementierung einfacher Geschäftsregeln -- 11.3.4 Historisierung, Logging und Auditing von Daten -- 11.3.5 Workshop: Generisches Logging -- 11.3.6 Workshop: Historisierung von Daten mit einem »instead of«-Trigger -- 11.4 Wann Sie DML-Trigger nicht verwenden sollten -- 11.4.1 Auditing mithilfe von Triggern -- 11.5 Datenbanktrigger -- 11.5.1 Ereignisattribute -- 11.5.2 Datenbankereignisse -- 11.5.3 Benutzerbezogene Ereignisse -- 11.5.4 DDL-Ereignisse -- 11.5.5 Systemereignisse -- 11.6 Zusammenfassung -- 12 Packages -- 12.1 Trennung von öffentlicher und privater Logik -- 12.1.1 Deklaration -- 12.1.2 Implementierung -- 12.1.3 Zusammenfassung -- 12.2 Überladung in Packages -- 12.2.1 Deklaration -- 12.2.2 Implementierung -- 12.2.3 Zusammenfassung -- 12.3 Ausführungsrechte von Packages -- 12.3.1 Rollen und Berechtigungskonzepte , 12.3.2 Erweiterungen des Invokers-Rights-Berechtigungskonzepts
    Additional Edition: Print version: Sieben, Jürgen Oracle PL/SQL Bonn : Rheinwerk Verlag,c2017 ISBN 9783836260732
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
Close ⊗
This website uses cookies and the analysis tool Matomo. Further information can be found on the KOBV privacy pages