1 Einführung Verwendete Werkzeuge und Ressourcen... 33

Größe: px
Ab Seite anzeigen:

Download "1 Einführung... 19 2 Verwendete Werkzeuge und Ressourcen... 33"

Transkript

1

2 Auf einen Blick Auf einen Blick 1 Einführung Verwendete Werkzeuge und Ressourcen TEIL I Grundlagen 3 Aufbau der Datenbank aus Sicht eines Programmierers Datenbankobjekte und SQL Datensicherheit, -konsistenz und Transaktion Programmierung der Datenbank TEIL II Die Sprache PL/SQL 7 Die Blockstruktur und Syntax von PL/SQL Kontrollstrukturen Datentypen in PL/SQL Dynamisches SQL Events in der Datenbank: Programmierung von Triggern Packages Exception TEIL III PL/SQL im Einsatz 14 Erweiterung von SQL Arbeiten mit LOBs (Large Objects) Arbeiten mit XML Objektorientierung Integration von Oracle in Applikationen Code-Analyse und Performance-Tuning Workshop: PL/SQL Instrumentation Toolkit (PIT)

3 Inhalt 1 Einführung Für wen ist dieses Buch geschrieben? Der Aufbau des Buches Teil 1: Grundlagen Teil 2: Die Sprache PL/SQL Teil 3: PL/SQL im Einsatz Vorwort zur zweiten Auflage Danksagung Verwendete Werkzeuge und Ressourcen Oracles Online-Dokumentation Wo finde ich die benötigten Informationen? PL/SQL-Grundlagen Oracle-Packages Weiterführende Literatur Aufsetzen einer Beispieldatenbank SQL*Plus SQL Developer »explain plan« Autotrace RunStats Trace und TKProf Debugger Weitere Werkzeuge Die Beispielskripte

4 TEIL I Grundlagen 3 Aufbau der Datenbank aus Sicht eines Programmierers Grundlegende Arbeitsweise der Datenbank Anforderungen an ein Datenbank-Managementsystem Die Begriffe Datenbank, Schema und Tablespace Systemtabellen, Data Dictionary und Privilegien Die Sicht der Anwendungsprogrammierer auf die Datenbank Logischer Aufbau: Schema, Tablespace & Co Schema Tablespace Auswirkungen auf die Architektur einer Applikation Die physikalische Datenbank Datendateien Redo-Log-Dateien Kontrolldatei Parameterdatei Passwortdatei FRA (Fast Recovery Area) ASM Instanz und Speicherstrukturen Die Speicherbereiche der SGA Shared Pool Die Hintergrundprozesse Start der Datenbank Verbindungsaufbau zur Datenbank Verbindungsarten und Treiber DEDICATED-SERVER-Verbindung Shared-Server-Verbindung Database Resident Connection Pool Und nun? Entscheidungshilfen für den Verbindungsaufbau

5 4 Datenbankobjekte und SQL Tabellen Heap Organized Table Index Organized Table Temporäre Tabellen Partitionierte Tabellen Index Anmerkung zur Benutzung von Indizes B*-Baum-Index Reverse-Key-Index Funktionsbasierter Index Views und Materialized Views Views Materialized Views PL/SQL-Programm Sonstige Datenbankobjekte Sequenzen Synonym Database Link Große Datenmengen:»CLOB«,»NCLOB«,»BLOB«und»BFile« Benutzerdefinierte Typen, XML Weitere Datenbankobjekte Exkurs: Zeichensatzkodierung Zeichensatzkodierung im Überblick Zeichensatzkodierung bei Oracle Mächtigkeit von SQL Analytische Funktionen Hierarchische Abfragen Error Logging Fazit Datensicherheit, -konsistenz und Transaktion Lese- und Schreibkonsistenz Lesekonsistenz Schreibkonsistenz

6 5.2 Transaktion Transaktion zum Schutz der Lesekonsistenz Transaktion zur Definition eines Geschäftsvorfalls Zusammenfassung Datenkonsistenz und referenzielle Integrität Datenintegrität Performance-Überlegungen zu Datenbank-Constraints Datenkonsistenz Zusammenfassung Explizites Sperren von Daten durch die Anwendung Das Problem: Lost Updates Das optimistische Sperren Das pessimistische Sperren Das vorsichtig optimistische Sperren Und nun? Wann sollte welche Sperrstrategie verwendet werden? Verarbeitung einer SQL-Anweisung Parsen und Optimierung Datenlieferung über Cursor Die Sperrmechanismen von Oracle Locks Latches Datensicherheit Workshop: Einfluss der Programmierung Das Ziel unserer Programmierung Implementierung des Tests Programmierung der Datenbank Erweiterung der Datenbankfunktionalität Programmierung der Datenkonsistenz Datenbanktrigger Datenzugriff über PL/SQL Datenkonsistenz jenseits referenzieller Integrität Programmierung der Datensicherheit Anwendungsprogrammierung mit PL/SQL PL/SQL auf der Client-Seite Webanwendungen mit PL/SQL entwickeln

7 6.5 Unterstützung der Administration durch PL/SQL Einsatz von PL/SQL in Skripten Verwaltung wiederkehrender Aufgaben mit Scheduler und Jobs Datenbanktrigger im Umfeld der Datensicherung und des Auditings TEIL II Die Sprache PL/SQL 7 Die Blockstruktur und Syntax von PL/SQL Das Grundgerüst: der PL/SQL-Block Deklaration von Variablen Schachtelung von Blöcken zur Fehlerbehandlung Gültigkeitsbereich von Variablen Prozeduren Prozeduren mit Parametern Formen der Parameterzuweisung Optionale Parameter Funktionen Datenbanktrigger Packages Package-Spezifikation Package-Körper Aufruf von Prozeduren und Methoden in Packages Ausführungsrechte von PL/SQL-Blöcken Compiler-Anweisungen (Pragma) Die autonome Transaktion Initialisierung eigener Fehler Best Practices Kontrollstrukturen Auswertende Anweisung 1 (»if then else«-anweisung) Auswertende Anweisung 2 (CASE-Anweisung) Einfache»case«-Anweisung

8 8.2.2 Die auswertende»case«-anweisung Einfache Schleifen Basisschleife (Schleife) Abweisende Schleife 1 (FOR-Schleife) Abweisende Schleife 2 (WHILE-Schleife) Best Practices Konditionale Kompilierung Die Auswahldirektive (selection directive) Die Abfragedirektive (inquiry directive) Die Error-Direktive (error directive) Aus der Mottenkiste: Konzepte, die Sie nicht verwenden sollten Label »continue«- und»goto«-anweisung Datentypen in PL/SQL PL/SQL-Datentypen SQL-Datentypen Basistypen und Subtypen in PL/SQL SQL-Datentypen mit abweichender Definition in PL/SQL SQL-Datentypen, die in PL/SQL nicht existieren PL/SQL-Datentypen, die in SQL nicht existieren Benutzerdefinierte Datentypen Ableitung von Variablentypen aus dem Data Dictionary Kollektionen in PL/SQL Record Assoziative Tabellen VARRAY oder NESTED_TABLE als Alternative zu einer assoziativen Tabelle Massenverarbeitung mit assoziativen Tabellen Cursor Lebenszyklus eines Cursors Cursor-Attribute Parametrierte Cursor Mengenverarbeitung mit»bulk collect« Kurzform: die»cursor for«-schleife Implizite versus explizite Cursor Cursor-Variablen (REF-Cursor)

9 9.3.8 Cursor-Ausdrücke Gemeinsamer Zugriff auf Daten über verteilte Cursor Pipelined Function Was ist eine Pipelined Function? Workshop: Pipelined Function Workshop: Verwendung von Pipelined Functions Workshop: Erstellung einer Pipelined Function Dynamisches SQL Dynamisches SQL Verwendung von Bindevariablen Dynamisches SQL mit Cursor-Variablen Workshop: Erstellung einer Prozedur als Schnittstelle zu einem externen Programm DBMS_SQL-Package Sicherheit bei dynamischem SQL SQL-Injection über Suchparameter SQL-Injection über Formatangaben SQL-Injection über das Einschmuggeln zusätzlicher Anweisungen Vermeidung von SQL-Injection 1: Bindevariablen Vermeidung von SQL-Injection 2:»dbms_assert« Events in der Datenbank: Programmierung von Triggern DML-Trigger Anweisungs- versus Zeilentrigger Der Triggerkörper Wann wird ein Trigger ausgelöst? Das Mutating-Table-Problem Compound Trigger Workshop: Lösung des Mutating-Table-Problems mit einem Compound Trigger Cross Edition Trigger Benennungskonvention von Triggern

10 11.2 Einsatzbereiche von DML-Triggern Erweiterung der Datenkonsistenzprüfung über Constraints hinaus Workshop: Statusänderungen in einer bestimmten Reihenfolge durchführen Implementierung einfacher Geschäftsregeln Historisierung, Logging und Auditing von Daten Workshop: Generisches Logging »instead of«-trigger Deklaration eines»instead of«-triggers Workshop: Historisierung von Daten mit einem»instead of«-trigger Wann Sie DML-Trigger nicht verwenden sollten Auditing mithilfe von Triggern Datenbanktrigger Ereignisattribute Datenbankereignisse Benutzerbezogene Ereignisse DDL-Ereignisse Systemereignisse Zusammenfassung Packages Trennung von öffentlicher und privater Logik Deklaration Implementierung Zusammenfassung Überladung in Packages Deklaration Implementierung Zusammenfassung Packages und die Dependency Chain Verschlüsselung von Package-Code Das»wrap«-Utility Verwendung des Packages»dbms_ddl«

11 12.5 Oracle-Packages Das Package»standard« Wichtige Oracle-Packages Workshop: Verwaltung von Anwendungsparametern Das Problem und die Lösungsidee Vorüberlegungen zur Parametertabelle Die Parametertabelle Einrichtung der Parametertabelle und der Zugriffsrechte Das Parameter-Package Das Package im Einsatz Exception Oracle-Fehler Benannte Fehler »SQLERRM«- und»sqlcode«-funktionen und der Fehler-Stack Nicht benannte Fehler benennen Applikationsfehler erstellen und bearbeiten Fehler direkt mit»raise_application_error«erzeugen Fehler aus einem Fehler-Package erstellen lassen Zentralisierung der Fehlermeldungen über»lmsgen« Workshop: Wrapper-Package um»utl_lms« Zusammenfassung: Fehlermeldungen mit»utl_lms« Workshop: Zentralisierter Fehler-Handler mit einem Trigger Zusammenfassung TEIL III PL/SQL im Einsatz 14 Erweiterung von SQL Wann SQL erweitert werden sollte Bleiben Sie auf dem aktuellen Wissensstand Voraussetzungen für die Erweiterung von SQL SQL mit eigenen Funktionen erweitern Anforderungen an den PL/SQL-Block Nebenwirkungsfreiheit (Purity)

12 Optimizer Hints Das Pragma»restrict_references« Workshop: Deterministische Funktion Workshop: Berechnung der Fakultät Einschränkung der Fakultätsfunktion auf definierte Werte Zielvorgabe Und was ist mit Rekursion? Gruppenfunktionen selbst erstellen Arbeitsweise von Gruppenfunktionen Workshop: Erstellung einer Gruppenfunktion Test der Gruppenfunktion Zusammenfassung Workshop: Code-Generator für Gruppenfunktionen Arbeiten mit LOBs (Large Objects) Technische Struktur Einsatz von LOB-Datentypen in der Datenbank LOB als PL/SQL-Variable LOB als Methodenparameter SecureFiles Die Datentypen»CLOB«,»NCLOB«,»BLOB«und»BFILE« »CLOB«und»NCLOB« Der binäre Datentyp»BLOB« »BFile« Das Package»DBMS_LOB« Schreibzugriff auf temporäre oder persistente LOBs Verwaltung temporärer und persistenter LOBs API für»bfile«-lob Zugriff auf LOBs durch die Anwendung Workshop: Hilfsfunktionen zum Arbeiten mit LOBs Hilfsfunktion zum Laden von»clob«und»blob«aus dem Dateisystem in die Datenbank Oder aber

13 16 Arbeiten mit XML Der Datentyp»XMLType« Verwendung von»xmltype«als Tabellen- oder Spaltentyp »XMLType«-Member Functions Umformung von XML mittels XSLT Die Speicherung von XML-Daten in der Datenbank XML aus relationalen Daten erzeugen Der SQL/XML-Standard Das Package»dbms_xmlgen«bzw.»sys_xmlgen« Relationale Daten aus XML extrahieren Extraktion relationaler Daten mit»xmltable« Extraktion relationaler Daten mittels Objektorientierung Extraktion relationaler Daten mittels Java-Programmierung XML mit PL/SQL verarbeiten Die Programmierung mittels DOM-Baum Die XML-Packages Die XML-Datenbank Einführung in die XML-Datenbank Speicherung und Veröffentlichung binärer Dokumente und XML-Dokumente Dokumente über XDB verwalten Zugriffsschutz und Sicherheit der XDB Versionierung von Ressourcen Objektorientierung Einführung in die Objektorientierung Alles ist ein Objekt Das zweite Reizwort: Vererbung! Abstrakte und finale Klassen Statische Methoden Objektidentität versus»statement of Truth« Klassen haben komplexe Strukturen Auswirkungen auf die Datenbankprogrammierung Objektorientierte Datentypen »OBJECT«

14 17.2.2»VARRAY« »NESTED TABLE« Vergleiche von Kollektionen Methoden von Kollektionstypen Workshop: Liste von Werten übergeben Objektorientierte Datenmodelle Workshop: Der Datentyp»MoneyType« Vorüberlegungen Implementierung des Typs»MoneyType« Der Typkörper Implementierung des Packages»moneytype_pkg« Der Package-Körper Die Rechtesituation ab Version 11g Erweiterung durch Vererbung Objektorientierte Anwendungsentwicklung und relationale Datenbanken Das Problem des Impedance Mismatch Lösungsansatz 1: Die Vision der generischen Datenbank Lösungsansatz 2: Objektrelationale Mapping-Werkzeuge Lösungsansatz 3: Die Datenbank als Daten-Framework Integration von Oracle in Applikationen Sperrung von Daten bei der Datenänderung Transaktionsschutz innerhalb der Datenbank Erweiterter Fokus: Datensicherung im Umfeld von Anwendungen Pessimistisches Locking Optimistisches Sperren Database-Change-Notification-basiertes Locking Speicherung von Session-Informationen Grundlagen eines Kontextes Session-Kontext Globally Accessed Context Workshop: Package zur Verwaltung von Kontexten Zugriff auf Daten über PL/SQL-Packages Kapselung von DML-Operationen in Packages Vermeidung von Triggern durch Packages Integration datenbezogener Geschäftsregeln

15 18.4 Workshop: Keimzelle einer sicheren Datenbankanwendung Das Projekt Übersicht über die Architektur Die»logon«-Prozedur Aufsetzen der Schemata Die Packages Test der Architektur Zusammenfassung und Ausblick Code-Analyse und Performance-Tuning Optimierungsmöglichkeiten von PL/SQL Automatisierte Code-Optimierung Subprogram-Inlining Native Kompilierung Caching Feingranulare Abhängigkeitsverwaltung Compiler-Warnungen PL/Scope Welche Information bietet PL/Scope? Die View»USER_IDENTIFIERS« Administration von PL/Scope PL/SQL Hierarchical Profiler Der hierarchische Profiler im SQL Developer Voraussetzungen für den Einsatz des hierarchischen Profilers Das Package»DBMS_HPROF« Die Analyse Ein etwas realitätsnäheres Beispiel Optionen der Funktion»dbms_hprof.analyze« Den Speicherverbrauch von PL/SQL überwachen Die Speicherverwaltung von PL/SQL Überwachung des Arbeitsspeichers Regeln zur Performance-Optimierung Nutzen Sie SQL, falls dies möglich ist Betrachten Sie die Datenbank als entfernte Ressource Benutzen Sie Bindevariablen Arbeiten Sie mengenorientiert Arbeiten Sie sich in die Grundkonzepte der Datenbank ein

16 Nutzen Sie PL/SQL bis zur Neige Kontrollieren Sie den Speicherverbrauch Glauben Sie nicht an Wunder Salvatorische Klausel Workshop: PL/SQL Instrumentation Toolkit (PIT) Überblick: die Idee und die Architektur Funktionsumfang Anwendungsbeispiel Die beteiligten Komponenten Idee und Arbeitsweise Beschreibung der einzelnen Komponenten Meldung Call Stack Kontext Adapter Das Package»MSG« Parameter- und Meldungstabelle Ausgabemodul Die PIT-API Die zentrale Komponente»PIT_PKG« Ein konkretes Ausgabemodul Test des PIT Implementierung des PIT-Administrationspackages Funktionsüberblick und Implementierungsstrategie Spezifikation Package-Körper Weitere Ausgabemodule Ausgabe in eigene Fehlerdateien Ausgabe in APEX Ausgabe in Alert-Log- oder Trace-Dateien Ausgabe in Logging-Tabellen Meldung als versenden Meldungen in JMS integrieren Index

17 Kapitel 1 Einführung 1 Die Oracle-Datenbank ist eines der mächtigsten und umfangreichsten relationalen Datenbanksysteme. Schon SQL ist ungeheuer vielseitig einsetzbar. Doch erst mit PL/SQL erschließt sich das gesamte Potenzial. Daher ist die Kenntnis von PL/SQL für jeden, der sich mit Oracle beschäftigt, essenziell. PL/SQL ist keine Programmiersprache. Das mag zunächst verwunderlich klingen, schließlich bedeutet PL/SQL Procedural Language for SQL, also eben das Gegenteil des Einleitungssatzes. Doch schon im ersten Satz von Oracle zur Einführung in PL/SQL heißt es: PL/SQL ist eine prozedurale Erweiterung von SQL. Dieser feine Unterschied ist sehr wichtig, auch für dieses Buch: Ein Buch über PL/SQL ist nicht komplett ohne ein Buch über SQL. Sollten Sie also ein Neueinsteiger in die Welt der Oracle-Datenbanken sein, sollte Ihr erstes Augenmerk auf der Abfragesprache SQL liegen, nicht auf PL/SQL. Die syntaktischen Grundlagen von PL/SQL, die Namenskonventionen, aber auch die überwältigende Mehrheit der Funktionen in PL/SQL kommen aus SQL. Das vorweggenommen, ist PL/SQL aber auch eine faszinierende Technologie, mit deren Hilfe Sie der Datenbank den mächtigen Funktionsumfang abgewinnen können, den Sie sonst nur in sehr wenigen anderen Datenbanken finden. Mit diesem Buch möchte ich Sie in die Sprache PL/SQL einführen und Ihnen erläutern, wie Sie aus der Datenbank maximalen Nutzen für Ihre Anwendung ziehen können. 1.1 Für wen ist dieses Buch geschrieben? Nun, ganz eindeutig für Sie. Damit meine ich, dass die Konzeption dieses Buches natürlich kein Selbstzweck, sondern dem Ziel unterworfen ist, Ihnen zu erklären, wie und wofür PL/SQL einzusetzen ist, und eben nicht dem Ziel, einfach nur ein Buch über PL/SQL zu schreiben, das lediglich alle wichtigen Merkmale der Sprache auflistet. Daher habe ich mir zu Beginn Gedanken darüber gemacht, wer Sie eigentlich sind. Wer liest ein solches Buch? Ich stelle mir vor, dass Sie beruflich bereits mit Datenbanken zu tun hatten, auch schon programmiert haben und nun Ihre Kenntnisse und Fähigkeiten um PL/SQL erweitern möchten oder müssen. Vielleicht sind 19

18 1 Einführung Sie ein Administrator, der sich in die Programmierung von Triggern einarbeiten oder PL/SQL-Programme zur Erleichterung seiner Arbeit verfassen muss? Vielleicht sind Sie aber auch ein Anwendungsentwickler, der bislang in einer der Programmiersprachen für Anwendungsentwicklung programmiert hat und nun, freiwillig oder aufgrund von Performance-Problemen gezwungen, einen näheren Blick in die Datenbankinterna werfen will? Vielleicht sind Sie der Betreuer einer Software, die von anderen geschrieben wurde (vielleicht von Vorgängern in Ihrem Job) und Ihnen nun zur weiteren Betreuung überlassen wurde. Sind Sie ein absoluter Neuling in Datenbanken und wollen den Einstieg über PL/SQL erreichen? Nein, das glaube ich eigentlich nicht. Daher richte ich mein Buch an meiner Erwartung an Sie aus. Dieses Buch richtet sich einerseits an Leser, die SQL-Kenntnisse haben. PL/SQL- Bücher sind keine Einstiegsliteratur in Datenbanken, sondern setzen den Weg fort, den Sie durch die Auseinandersetzung mit relationalen Datenmodellen und SQL bereits begonnen haben. Ich setze nicht voraus, dass Ihre SQL-Kenntnisse sehr umfangreich sind, doch ein Grundverständnis dieser Abfragesprache sollte in jedem Fall vorhanden sein. Dann gehe ich davon aus, dass Sie bereits in irgendeiner Programmiersprache programmiert haben. Ich kann mir einfach nicht recht vorstellen, dass Sie das Programmieren gerade innerhalb einer Datenbank lernen möchten (oder müssen). Normalerweise, das lehrt mich auch die Erfahrung aus den vielen Kursen, die ich zum Thema PL/SQL-Einführung gegeben habe, ist die Programmierung der Datenbank ein Thema für Menschen, die bereits Programmiererfahrung in anderen Sprachen, sei es Cobol, C, C++, Java oder VisualBasic, haben. Daher möchte ich Sie nicht langweilen und erläutere die Grundlagen einer if-anweisung nur sehr kurz. Sollten Sie eine der beiden Voraussetzungen, die ich hier genannt habe, nicht mitbringen, empfehle ich Ihnen, sich zunächst mit diesen Themen zu beschäftigen. Insbesondere gilt diese Empfehlung für die Beschäftigung mit der Abfragesprache SQL. Wenn Sie mögen, können Sie für einen Einstieg in die Abfragesprache SQL mein Buch Oracle SQL das umfassende Handbuch, verwenden, das ebenfalls bei Galileo Press erschienen ist. Je besser Sie diese Sprache beherrschen, umso leichter fällt es Ihnen, Aufgabenstellungen in Bezug auf Daten einer Datenbank zu lösen. Und auch das gilt: Je besser Sie SQL beherrschen, desto seltener müssen Sie zu einer Programmiersprache greifen, um ein Problem zu lösen. Das ist leider auch auf der Zeitachse wahr: Sollten Sie sich sehr gut mit dem SQL der Oracle-Datenbankversion auskennen, werden Sie staunen, was seit dieser Zeit in SQL an Fähigkeiten hinzugekommen ist. Die Beschäftigung mit SQL ist immer die Beschäftigung mit SQL in der Datenbankversion Ihrer Datenbank. Für diejenigen unter Ihnen, die noch nicht programmiert haben, glaube ich, wird der Stoff relativ schnell und wenig didaktisch vorangehen. Vielleicht sollten Sie ins Auge fassen, die Programmierung vorab zu erlernen. Auch hier geht es weniger darum, Experte in einer Programmiersprache zu sein, sondern 20

19 1.1 Für wen ist dieses Buch geschrieben? um ein generelles Verständnis der Vorgehensweise beim Programmieren. Diese Einführung kann dieses Buch nicht leisten. Darüber hinaus muss ich eine für mich sehr schwierige Entscheidung treffen: Werden Sie als meine Leser eher Entwickler sein, Endanwender oder Administratoren? Welcher konkrete Einsatzzweck liegt Ihrem Interesse an PL/SQL zugrunde? Diese Entscheidung ist nicht leicht. Ich habe mich dafür entschieden, aus dem Blickwinkel des Entwicklers und des Administrators zu schauen; der Schwerpunkt liegt allerdings auf dem Blickwinkel des Entwicklers von Anwendungssoftware. Aus dieser Entscheidung resultieren mehrere Konsequenzen: 1 Ich gehe davon aus, dass die meisten Anwendungsentwicklungen (insbesondere neu aufgesetzte Projekte) nicht mehr nur in einer Technologie allein entwickelt werden. Die aktuellen Architekturentscheidungen mit Webanwendungen, Applikationsservern und Datenbankservern lassen eine Entwicklung in einer Programmiersprache eigentlich auch nicht zu. Daher widme ich einigen Raum dieses Buches auch den Problemen der Integration von Oracle-Datenbanken in Anwendungen, die in anderen Programmiersprachen entwickelt werden. Außerdem gehe ich davon aus, dass Datenbanken (nicht nur Oracle, sondern Datenbanken generell) vielen Anwendungsentwicklern nur als Datenspeicher geläufig sind und die Interna der Arbeitsweise ihnen nicht immer komplett bekannt sind. Daher gebe ich Ihnen eine ausführliche Einführung in die Arbeitsweise von Oracle-Datenbanken. Diese Einführung wird für Administratoren bekannt und eventuell etwas oberflächlich sein, ist aus meiner Sicht für Entwickler aber unbedingt von Interesse, um zu verstehen, warum die Datenbank auf eine gewisse Weise programmiert werden will. Für Administratoren schließlich sind Kenntnisse einiger Aspekte der Anwendungsprogrammierung von unschätzbarem Wert, einfach, um zu verstehen, welche Problemstellungen durch Anwendungsentwickler in der Datenbank gelöst werden müssen. Daher empfehle ich die Abschnitte, die sich mit der Entwicklung von Anwendungen und der Integration von Oracle-Datenbanken in solche Anwendungen befassen, auch den Administratoren. Ich gehe schließlich davon aus, dass es wichtiger ist, zu erklären, warum etwas getan werden muss, als wie etwas getan werden muss. Anders gesagt: Dieses Buch ist keine Referenz zu PL/SQL, in der Sie im Index einen Befehl nachschlagen können und auf Seite 371 alle Parameter der Prozedur aufgelistet bekommen. Diese Funktion übernehmen die Online-Ressourcen, die bei Oracle auf einem sehr hohen Niveau sind, wesentlich besser. Allein die Dokumentation der mitgelieferten Packages umfasst bei der Datenbankversion 12cR1 stolze Seiten... Nebenbei sind das über 900 Seiten mehr als zu Datenbankversion 11gR2, und das bringt mich zum ersten Grund für meine Entscheidung, keine Referenz zu PL/SQL zu schreiben: Diese ist naturgemäß von der Version der Datenbank abhängig und 21

20 1 Einführung daher schon veraltet, bevor sie ausgeliefert wird. Der zweite Grund ist, dass es mir ein besonderes Anliegen ist, Ihnen zu erklären, wie die Datenbank gut programmiert wird. Die Kunst besteht darin, der Datenbank bei der Erfüllung ihrer Aufgaben möglichst nicht im Wege zu stehen. Das ist gar nicht so leicht und gelingt nur, wenn Sie wissen, was Sie tun. Und genau dafür benötige ich Platz, den ich nicht durch Auflistungen von Prozedurparametern verschwenden wollte. Ich trete mit dem Ziel an, Ihnen zu erklären, was Sie tun müssen und warum, um eine gute Anwendung oder Anwendungsunterstützung zu erhalten. Messen Sie mich daran. Außerdem ist dies ein Buch, in dem ich meine Meinung äußere. Vielleicht sollte ich so etwas nicht tun, und vielleicht reizt dies zum Widerspruch. Ich habe mich dennoch entschieden, Ihnen meine persönliche Meinung darüber mitzuteilen, wie eine Datenbank, speziell eine Oracle-Datenbank, programmiert werden sollte. Die Meinung basiert auf meiner Berufserfahrung, in der ich viel Code gesehen habe. In meinem Beruf komme ich vor allem zu Kunden, deren Code nicht oder nicht gut genug läuft. Daher sehe ich viel Code so, wie er nicht geschrieben werden sollte. Meine Meinung reflektiert dabei die Erfahrungen, die ich in diesen Projekten gesammelt habe, aber natürlich auch den Input, den ich von vielen sehr guten Kollegen und Autoren eingesogen habe. Trotzdem mögen Sie über die Ausrichtung von Software anderer Meinung sein als ich. Vielleicht arbeiten Sie in einem Team aus erfahrenen PL/SQL- Entwicklern, die Ihnen sagen, dass das, was ich hier schreibe, gut und schön, im konkreten Unternehmensumfeld aber nicht umsetzbar sei. Ich bin weit davon entfernt, hier Einspruch anzumelden. Natürlich gibt es viele gute Gründe für eine Position. Es gibt auch viele richtige Positionen. Allerdings gibt es noch mehr falsche Positionen. Gerade am Anfang ist es aber schwer, falsche von richtigen Positionen zu unterscheiden. Da jedoch gerade am Anfang eines Projekts Entscheidungen zugunsten oder zuungunsten einer Strategie fallen, die später nur schwer korrigierbar sind, empfinde ich es als richtig, auch in einem Einführungsbuch bereits eine richtige Position zu beziehen und Sie nicht mit dieser Einschätzung allein zu lassen. Sind Sie anderer Meinung, ist das natürlich kein Problem. Sie sollten lediglich eine begründete Meinung vertreten (können). Und schließlich: Ist es gerade eine Position, die ich vertrete, die Sie zum Widerspruch reizt und dazu anregt, eine eigene Position zu entwickeln, umso besser! 1.2 Der Aufbau des Buches Kapitel 2 liefert zunächst Grundinformationen zu den verwendeten Werkzeugen und Ressourcen; dann beginnen die drei großen Teile, in die dieses Buch gegliedert ist. Teil 1 und 2 folgen dem Gedanken, dass ich zunächst die Grundlagen, sowohl der Datenbank als auch der Programmiersprache PL/SQL, besprechen möchte. Den Abschluss 22

Inhaltsverzeichnis 9783836224970

Inhaltsverzeichnis 9783836224970 Inhaltsverzeichnis Inhaltsverzeichnis 9783836224970 1... Einführung... 19 1.1... Für wen ist dieses Buch geschrieben?... 19 1.2... Der Aufbau des Buches... 22 1.2.1... Teil 1: Grundlagen... 23 1.2.2...

Mehr

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Seminarunterlage Version: 12.05 Version 12.05 vom 29. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-

Mehr

O REILLY. Oracle PL/SQL Programmierung. - - - - Paris - - Steven Feuerstein. mit Bill Pribyl. Deutsche Übersetzung von Dorothea Reder 2.

O REILLY. Oracle PL/SQL Programmierung. - - - - Paris - - Steven Feuerstein. mit Bill Pribyl. Deutsche Übersetzung von Dorothea Reder 2. 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. 2. AUFLAGE Oracle PL/SQL Programmierung Steven Feuerstein mit Bill

Mehr

Oracle PL/SQL und Datenbankprogrammierung - LVC

Oracle PL/SQL und Datenbankprogrammierung - LVC Oracle University Kontakt: +43 (0)1 33 777 401 Oracle PL/SQL und Datenbankprogrammierung - LVC Dauer: 5 Tage Lerninhalte Dieser Kurs richtet sich an Oracle8i-, Oracle9i- und Oracle Database 10g-Benutzer.

Mehr

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7 CARL HANSER VERLAG Christopher Allen Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7 www.hanser.de Inhaltsverzeichnis Danksagung...XI Einleitung...XIII

Mehr

Oracle PL/SQL Objekte und objektrelationale Techniken. Marco Skulschus Marcus Wiederstein

Oracle PL/SQL Objekte und objektrelationale Techniken. Marco Skulschus Marcus Wiederstein Oracle PL/SQL Objekte und objektrelationale Techniken Marco Skulschus Marcus Wiederstein Oracle PL/SQL Objekte und objektrelationale Techniken Marco Skulschus Marcus Wiederstein Webseite zum Buch: www.comelio-medien.com/buch-katalog/oracle/oracle_pl_sql_objekte

Mehr

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1 Datenbanksystem System Global Area Hintergrundprozesse Dr. Frank Haney 1 Komponenten des Datenbanksystems System Global Area Program Global Area Hintergrundprozesse Dr. Frank Haney 2 System Global Area

Mehr

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11 vii 1 Einführung 1 1.1 Motivation.................................... 1 1.2 Vorteile der neuen Techniken...................... 3 1.3 Aufbau des

Mehr

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor 15. 2 Die grafischen Tools des SQL Server 2008 59. 3 Eine neue Datenbank erstellen 87

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor 15. 2 Die grafischen Tools des SQL Server 2008 59. 3 Eine neue Datenbank erstellen 87 Vorwort 11 1 Der SQL Server 2008 stellt sich vor 15 1.1 SQL Server wer ist das? 16 1.1.1 Der SQL Server im Konzert der Datenbanksysteme 16 1.1.2 Entscheidungsszenarien für Datenbanksysteme 17 1.1.3 Komponenten

Mehr

SQL Server 2008 Der schnelle Einstieg

SQL Server 2008 Der schnelle Einstieg Klemens Konopasek SQL Server 2008 Der schnelle Einstieg Abfragen, Transact-SQL, Entwicklung und Verwaltung ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don

Mehr

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte Webprogrammierung SVEN LETZEL FRIEDHELM BETZ Inhaltsverzeichnis jetzt lerne ich Hallo! 15 1 Grundlagen 17 1.1 Das Internet

Mehr

SQL objektorientiert

SQL objektorientiert Dušan Petković SQL objektorientiert An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Vorwort 11 Teil 1: Einführung 15

Mehr

Inhaltsverzeichnis. Lutz Fröhlich. PostgreSQL 9. Praxisbuch für Administratoren und Entwickler. ISBN (Buch): 978-3-446-42239-1

Inhaltsverzeichnis. Lutz Fröhlich. PostgreSQL 9. Praxisbuch für Administratoren und Entwickler. ISBN (Buch): 978-3-446-42239-1 Inhaltsverzeichnis Lutz Fröhlich PostgreSQL 9 Praxisbuch für Administratoren und Entwickler ISBN (Buch): 978-3-446-42239-1 ISBN (E-Book): 978-3-446-42932-1 Weitere Informationen oder Bestellungen unter

Mehr

Vorwort. Aufbau und Struktur

Vorwort. Aufbau und Struktur Vorwort Herzlich willkommen zu einem Fachbuch aus dem Verlag Comelio Medien. Dieses Buch aus dem Bereich Datenbanken soll Sie dabei unterstützen, die Oracle SQL zu lernen, um DB-Objekte zu erstellen und

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

SQL Server 2005 Der schnelle Einstieg

SQL Server 2005 Der schnelle Einstieg Klemens Konopasek Ernst Tiemeyer SQL Server 2005 Der schnelle Einstieg Abfragen, Transact-SQL, Entwicklung und Verwaltung An imprint of Pearson Education München Boston San Francisco Harlow, England Don

Mehr

Grundlagen relationaler Datenbanken... 2. Access 2010 - Grundlagenseminar... 3. Access 2010 - Aufbauseminar... 4. Von Excel 2010 zu Access 2010...

Grundlagen relationaler Datenbanken... 2. Access 2010 - Grundlagenseminar... 3. Access 2010 - Aufbauseminar... 4. Von Excel 2010 zu Access 2010... Inhalt Grundlagen relationaler Datenbanken... 2 Access 2010 - Grundlagenseminar... 3 Access 2010 - Aufbauseminar... 4 Von Excel 2010 zu Access 2010... 5 Access 2010 - Programmierung Teil 1... 6 Access

Mehr

Schulungskatalog Oracle / Quest

Schulungskatalog Oracle / Quest Schulungskatalog Oracle / Quest Individualität Mit den Inhouse-Schulungen der RUWA GmbH ermöglichen wir Ihnen die maßgeschneiderte Konfiguration Ihrer Weiterbildungsmaßnahme. Die Schwerpunkte werden von

Mehr

PostgreSQL. Professionell und praxisnah. Jens Hartwig. An imprint of Pearson Education

PostgreSQL. Professionell und praxisnah. Jens Hartwig. An imprint of Pearson Education Jens Hartwig PostgreSQL Professionell und praxisnah An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Inhalt 1 Einleitung

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda

Mehr

Praktische Anwendungsentwicklung mit Oracle Forms

Praktische Anwendungsentwicklung mit Oracle Forms Praktische Anwendungsentwicklung mit Oracle Forms von Perry Pakull, Stefan Jüssen, Walter H. Müller 1. Auflage Hanser München 2007 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41098 5 Zu Leseprobe

Mehr

Inhalt. TEIL I Grundlagen. 1 SAP HANA im Überblick... 31. 2 Einführung in die Entwicklungsumgebung... 75

Inhalt. TEIL I Grundlagen. 1 SAP HANA im Überblick... 31. 2 Einführung in die Entwicklungsumgebung... 75 Geleitwort... 15 Vorwort... 17 Einleitung... 19 TEIL I Grundlagen 1 SAP HANA im Überblick... 31 1.1 Softwarekomponenten von SAP HANA... 32 1.1.1 SAP HANA Database... 32 1.1.2 SAP HANA Studio... 34 1.1.3

Mehr

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: 978-3-446-41771-7. Weitere Informationen oder Bestellungen unter

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: 978-3-446-41771-7. Weitere Informationen oder Bestellungen unter sverzeichnis Fritz Jobst Programmieren in Java ISBN: 978-3-446-41771-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41771-7 sowie im Buchhandel. Carl Hanser Verlag, München

Mehr

Inhaltsverzeichnis. Bibliografische Informationen digitalisiert durch

Inhaltsverzeichnis. Bibliografische Informationen  digitalisiert durch 1 Datenbanken - eine Einfuhrung 13 1.1 Allgemeines 13 1.2 Zielgruppe 14 1.3 Was ist eine Datenbank? 14 1.4 Das Datenbankmanagementsystem (DBMS) 16 1.5 Der Aufbau der Daten 18 1.6 Tabellen 18 1.7 Benutzer-Tabellen

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

26.1.1 Vor- und Nachteile speicheroptimierter Tabellen... 764

26.1.1 Vor- und Nachteile speicheroptimierter Tabellen... 764 25.4 Verhalten bei Systemfehlern... 735 25.5 Programmierung expliziter Transaktionen... 737 25.6 Implizite Transaktionen... 741 25.7 Sperren... 743 25.7.1 Sperrebenen... 743 25.7.2 Gemeinsame Sperren (Shared

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

Mehr

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung Bearbeitet von Dietmar Ratz, Jens Scheffler, Detlef Seese 1. Auflage 2001. Taschenbuch. 463 S. Paperback ISBN

Mehr

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

1.6 Zusammenfassung... 19

1.6 Zusammenfassung... 19 Vorwort 13 Vorwort zur 2 Ausgabe 14 Teil I Einführung 1 Einleitung 15 11 Warum dieses Buch? 15 1 2 Aufbau des Buches 15 Aufbau der einzelnen Kapitel 16 13 Die Beispieldatenbank 17 1 4 Schreibweisen 17

Mehr

Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien

Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien Boris Meißner 05-INDT Fachbereich Informatik, Mathematik und Naturwissenschaften HTWK-Leipzig 05. Juni 2008 Boris Meißner (Fb IMN - HTWK-Leipzig)

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Java 6 lernen mit Eclipse

Java 6 lernen mit Eclipse Gottfried Wolmeringer Java 6 lernen mit Eclipse Galileo Press Danksagung 15 Vorwort 17 Hinweise zur Benutzung des Buches 18 Learning by Doing 19 TEIL I Grundlagen 1.1 Warumprogrammieren? 23 1.2 Was ist

Mehr

Vorwort zur 5. Auflage... 15 Über den Autor... 16

Vorwort zur 5. Auflage... 15 Über den Autor... 16 Vorwort zur 5. Auflage...................................... 15 Über den Autor............................................ 16 Teil I Grundlagen.............................................. 17 1 Einführung

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Vorwort. Kevin Loney. Oracle Database 11g - Die umfassende Referenz. Übersetzt von Hans Hajer ISBN: 978-3-446-41864-6

Vorwort. Kevin Loney. Oracle Database 11g - Die umfassende Referenz. Übersetzt von Hans Hajer ISBN: 978-3-446-41864-6 Vorwort Kevin Loney Oracle Database 11g - Die umfassende Referenz Übersetzt von Hans Hajer ISBN: 978-3-446-41864-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41864-6 sowie

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4) Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,

Mehr

Oracle Database 11g: PL/SQL-Grundlagen

Oracle Database 11g: PL/SQL-Grundlagen Oracle Database 11g: PL/SQL-Grundlagen Schulungsunterlagen D49990DE20 Production 2.0 Januar 2010 Bestellnummer: D63765 Autor Brian Pottle Technischer Inhalt und Überarbeitung Tom Best Christoph Burandt

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog 10.Klasse: Themenschwerpunkt I: Datenbanken Datenbanken o Einsatzbereiche von Datenbanken o Verwaltung von großen Datenmengen o Probleme aus dem Alltag in Datenbanken abbilden o Relationale Datenbanksysteme

Mehr

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning IBM DB2 für Linux/Unix/Windows Monitoring und Tuning Seminarunterlage Version: 4.05 Version 4.05 vom 9. Februar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-

Mehr

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739 Implementieren einer Microsoft SQL Server 2005-Datenbank M4739 Mögliche Seminarart Seminarsprache : Klassenraumtraining, WalkIn, Firmenseminar : Deutsch Einführung Dieser fünftägige, von einem Kursleiter

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

SQL Server 2008 Performance-Optimierung

SQL Server 2008 Performance-Optimierung Holger Schmeling SQL Server 2008 Performance-Optimierung Das Praxisbuch für Entwickler und Administratoren ^ ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England

Mehr

Administering Microsoft SQL Server 2012/2014 Database (M20462) M20464 www.globalknowledge.at info@globalknowledge.at 01/66 55 655 3000

Administering Microsoft SQL Server 2012/2014 Database (M20462) M20464 www.globalknowledge.at info@globalknowledge.at 01/66 55 655 3000 Developing Microsoft SQL Server Databases Dauer: 5 Tage Kursnummer: M20464 Überblick: Im Rahmen dieses fünftägigen Kurses werden Ihnen das Know-How und die notwendigen Fertigkeiten zur Implementierung

Mehr

Inhaltsverzeichnis. 1 Hallo 13

Inhaltsverzeichnis. 1 Hallo 13 1 Hallo 13 2 Grundlagen 15 2.1 Das Internet 15 2.1.1 Geschichte des Internets 15 2.1.2 Kommunikation mit TCP/IP 16 2.1.3 Anwendungen im Internet 18 2.1.4 HTTP unter der Lupe 20 2.2 Webserver, PHP und MySQL

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

APPS für ios 9 professionell entwickeln

APPS für ios 9 professionell entwickeln thomas SILLMANN 2. Auflage APPS für ios 9 professionell entwickeln // Sauberen Code schreiben mit Objective-C und Swift // Stabile Apps programmieren // Techniken und Methoden von Grund auf verstehen Inkl.

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Schulungskatalog Oracle / Quest

Schulungskatalog Oracle / Quest Schulungskatalog Oracle / Quest Individualität Mit den Inhouse-Schulungen der RUWA GmbH ermöglichen wir Ihnen die maßgeschneiderte Konfiguration Ihrer Weiterbildungsmaßnahme. Die Schwerpunkte werden von

Mehr

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung... 9. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung... 9. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen... Teil I Erste Schritte 1 Einleitung.... 9 1.1 Die Themenschwerpunkte dieses Buches... 9 Visual Basic for Applications... 9 Die Beispiel-Datenbank... 10 1.2 Wie Sie am besten mit diesem Buch arbeiten...

Mehr

Salesforce.com Entwicklerhandbuch

Salesforce.com Entwicklerhandbuch Andreas Holubek, Christian Metzger Salesforce.com Entwicklerhandbuch On-Demand-Anwendungen mit Apex und Apex Code ntwickier V 1 1.1 1.2 1.3 2 2.1 2.2 2.3 2.4 2.5 2.6 3 3.1 3.2 Vorwort Einleitung Überblick

Mehr

Andreas Blumenthal, Horst Keller ABAP - Fortgeschrittene Techniken und Tools

Andreas Blumenthal, Horst Keller ABAP - Fortgeschrittene Techniken und Tools Andreas Blumenthal, Horst Keller ABAP - Fortgeschrittene Techniken und Tools Galileo Press Inhalt Vorwort 13 1 Fallen bei grundlegenden ABAP-Operationen vermeiden 17 1.1 Falle Nr. 1: Durchführung arithmetischer

Mehr

Vorwort. Ulrich Breymann. Der C++-Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4

Vorwort. Ulrich Breymann. Der C++-Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4 Vorwort Ulrich Breymann Der C++-Programmierer C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41644-4

Mehr

Microsoft SQL Server 2005 für Administratoren

Microsoft SQL Server 2005 für Administratoren Microsoft SQL Server 2005 für Administratoren Irene Bauder ISBN 3-446-22800-4 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22800-4 sowie im Buchhandel Inhaltsverzeichnis

Mehr

XML - Extensible Markup Language. Agenda - Oracle XML DB

XML - Extensible Markup Language. Agenda - Oracle XML DB Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von Datenbanken 2005 in Wörlitz Annegret Warnecke Senior

Mehr

1 Einsatz des SAP Code Inspectors... 29. 2 Konfiguration und Funktionen des SAP Code Inspectors... 67

1 Einsatz des SAP Code Inspectors... 29. 2 Konfiguration und Funktionen des SAP Code Inspectors... 67 Auf einen Blick 1 Einsatz des SAP Code Inspectors... 29 2 Konfiguration und Funktionen des SAP Code Inspectors... 67 3 Automatisierte Prüfungen mit dem SAP Code Inspector... 125 4 Programmierung eigener

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt Andreas Heuer Gunter Saake Kai-Uwe Sattler Datenbanken kompakt Inhaltsverzeichnis Vorwort v 1 Was sind Datenbanken 1 1.1 Warum Datenbanken 1 1.2 Datenbanksysteme 4 1.3 Anforderungen: Die Codd'schen Regeln

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

Mehr

PHP Programmierung. Seminarunterlage. Version 1.02 vom

PHP Programmierung. Seminarunterlage. Version 1.02 vom Seminarunterlage Version: 1.02 Version 1.02 vom 27. August 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Version 2.0 D-28359 Bremen info@indi-systems.de Tel + 49 421-989703-30 Fax + 49 421-989703-39 Inhaltsverzeichnis Was ist die QuickHMI-Schnittstelle

Mehr

Programmieren in Java

Programmieren in Java Fritz Jobst Programmieren in Java 6., vollständig überarbeitete Auflage HANSER i.--li. h"--v Inhalt Vorwort XI 1 Der Einstieg in Java 1 1.1 Erstellung und Ablauf von Programmen in Java 2 1.2 Das erste

Mehr

IBM Informix Tuning und Monitoring

IBM Informix Tuning und Monitoring Seminarunterlage Version: 11.01 Copyright Version 11.01 vom 25. Juli 2012 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

jetzt lerne ich Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER

jetzt lerne ich Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER Inhaltsverzeichnis jetzt lerne ich Vorwort 15 1 Was ist Delphi? 17 1.1 Die Wurzeln von Delphi 17

Mehr

Relationale Datenbanken Kursziele

Relationale Datenbanken Kursziele Relationale Datenbanken Kursziele DB Grundlagen Daten-Modellierung Relationales Modell und DB => Praxis: Mit SQL als Anfragesprache Mit MySQL als DB RDB 1-1 Kursinhalt (Tage) 1. DB Einleitung / Entity-Relationship

Mehr

Oracle Datenbankadministration Grundlagen

Oracle Datenbankadministration Grundlagen Oracle Datenbankadministration Grundlagen Seminarunterlage Version: 12.02 Version 12.02 vom 14. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Auf einen Blick. Auf einen Blick

Auf einen Blick. Auf einen Blick Auf einen Blick Auf einen Blick 1 Einführung... 21 TEIL I Einführung und Grundlagen... 35 2 Verwendete Werkzeuge und Skripte... 37 3 Konzept einer relationalen Datenbank... 65 4 Aufbau einer Oracle-Datenbank...

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 2 Tuning Werkzeuge Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1. Einführung 2. DBA_- und V$-Sichten 3. Data Dictionary-Sichten

Mehr

Inhaltsverzeichnis. 1 Einleitung 11

Inhaltsverzeichnis. 1 Einleitung 11 Inhaltsverzeichnis Teil I: Erste Schritte 1 Einleitung 11 1.1 Die Themenschwerpunkte dieses Buchs 11 Visual Basic for Applications 11 Die Beispieldatenbank 12 1.2 Wie Sie am besten mit diesem Buch arbeiten

Mehr

Inhaltsverzeichnis. Vorwort...

Inhaltsverzeichnis. Vorwort... Vorwort... V 1 Einleitung... 1 1.1 Geoinformationssysteme und -dienste... 1 1.1.1 Geoinformationssysteme... 1 1.1.2 Offene Geoinformationssysteme... 4 1.1.3 Geodienste... 5 1.2 Datenbanksysteme... 7 1.2.1

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 9 Benutzer und Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 11 Seite 1 von 11 Agenda GridAgenda Computing 1 2 3 ta 4 5 Ändern

Mehr

ecommerce Websites Entwicklung erfolgreicher Web-Auftritte mit Java, JavaScript, HTML, XML und SQL Vivek Sharma Rajiv Sharma ADDISON-WESLEY

ecommerce Websites Entwicklung erfolgreicher Web-Auftritte mit Java, JavaScript, HTML, XML und SQL Vivek Sharma Rajiv Sharma ADDISON-WESLEY Vivek Sharma Rajiv Sharma 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. ecommerce Websites wo Entwicklung erfolgreicher

Mehr

Inhaltsverzeichnis VII

Inhaltsverzeichnis VII Inhaltsverzeichnis 1 Erste Schritte...1 1.1 Einführung...1 1.2 Systemvoraussetzungen...2 1.3 Installation...2 1.3.1 Buch online lesen...3 1.3.2 Installation von Caché...3 1.3.3 Die Buch-Beispiele...4 1.4

Mehr

Inhalt. Vorwort...11. 1 Die Eigenschaften von PostgreSQL...15. 2 Das ideale DBMS...45. 3 Der Datenbankadministrator...59

Inhalt. Vorwort...11. 1 Die Eigenschaften von PostgreSQL...15. 2 Das ideale DBMS...45. 3 Der Datenbankadministrator...59 Inhalt Vorwort...11 1 Die Eigenschaften von PostgreSQL...15 1.1 Die Geschichte von PostgreSQL...16 1.2 Die Lizenz von PostgreSQL...17 1.3 Grundlegende Konzepte von Postgres...17 1.3.1 Die Eigenschaften

Mehr

XML in der Oracle Datenbank

XML in der Oracle Datenbank XML in der Oracle Datenbank Oracle XML DB Eine kurze Einführung Gruppe A Michaela Geierhos Galina Hinova Maximilian Schöfmann AGENDA Warum XML in einer Datenbank? Was bietet die Oracle XML DB? Unterschiedliche

Mehr

Themenkatalog der Schulungsinhalte

Themenkatalog der Schulungsinhalte IT-Training Themenkatalog der Schulungsinhalte Seite 1 von 6 Inhalt 1. DATENBANKEN... 3 1.1 Datenbank - Programmierung... 3 1.1.1 SQL - Structured Query Language / Compound Statements...3 1.2 Datenbank

Mehr

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1.

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1. Inhalt der Vorlesung Literatur 1 Datenmodellierung (Entity-Relationship Modell) 2 Das relationale Modell 3 Relationenalgebra 4 Datenbanksprache (SQL) 5 Normalisierung 6 Vom ERM zum Datenbankschema 7 Routinen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer Speicherung von XML in (objekt-)relationalen Datenbanken Burkhard Schäfer Übersicht Motivation Anforderungen Ansätze modellorientiert strukturorientiert Zusammenfassung Motivation Warum XML in Datenbanken

Mehr

Datenbanken und Oracle, Teil 2

Datenbanken und Oracle, Teil 2 Datenbanken und Oracle, Teil 2 Mathias Weyland Linux User Group Switzerland 29. Juni 2007 SQL*Plus CHAR/VARCHAR2 Dokumentation Teil I Nachträge 1 SQL*Plus 2 CHAR/VARCHAR2 3 Dokumentation SQL*Plus SQL*Plus

Mehr

Besser PHP programmieren

Besser PHP programmieren Carsten Möhrke Besser PHP programmieren Handbuch professioneller PHP-Techniken Galileo Press Vorwort zur dritten Auflage ц JjlJlli!fJÜIj SI!IS* 1.1 Lernen Sie Ihr Arbeitsgerät kennen 13 1.2 Der Editor,

Mehr

Vorwort. Zu dieser Reihe. Autoren. Vorwort

Vorwort. Zu dieser Reihe. Autoren. Vorwort Vorwort 11 12 Vorwort Herzlich Willkommen zu einem Fachbuch von Comelio Medien, ein Bereich der Comelio GmbH. Wir hoffen sehr, dass Sie mit der Darstellung und Aufbereitung zu den verschiedenen Themengebieten

Mehr

Code-Erzeugung aus UML-Klassendiagrammen

Code-Erzeugung aus UML-Klassendiagrammen Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter

Mehr

Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012

Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012 Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012 von Robert Panther 1. Auflage Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012 Panther schnell und portofrei erhältlich bei

Mehr

Objektorientierte Programmierung in Java

Objektorientierte Programmierung in Java Objektorientierte Programmierung in Java 1. Auflage Objektorientierte Programmierung in Java schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag C.H. Beck im Internet:

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Oracle Database 12c: Administration Workshop Ed 2

Oracle Database 12c: Administration Workshop Ed 2 Oracle University Kontakt: Local: 0180 2000 526 Intl: +49 8914301200 Oracle Database 12c: Administration Workshop Ed 2 Dauer: 5 Tage Lerninhalte Im Kurs "Oracle Database 12c: Administration Workshop" werden

Mehr

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN

Mehr

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010 O/R Mapper O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010 Agenda Object-relational impedance mismatch Mapping Session Abfragen No. 2 Object-relational impedance mismatch Object-relational

Mehr

Software-Entwicklung mit Delphi

Software-Entwicklung mit Delphi Software-Entwicklung mit Delphi Eine systematische Einführung von Dieter Orlamünder, Rüdiger Liskowsky und Heinrich Hußmann mit 170 Bildern und 102 Übungen Fachbuchverlag Leipzig im Carl Hanser Verlag

Mehr

Inhaltsverzeichnis. Vorwort... 13. Einleitung... 15

Inhaltsverzeichnis. Vorwort... 13. Einleitung... 15 Vorwort.................................................. 13 Einleitung................................................ 15 1 Aufwand versus Sicherheit was ist angemessen?.............. 17 1.1 Warum ist

Mehr