Objektorientierung in Oracle

Ähnliche Dokumente
Einführung in die objektorientierte Programmierung

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

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

IBM Informix SQL. Seminarunterlage. Version vom

Oracle Datenbankprogrammierung mit PL/SQL Aufbau

PHP Programmierung. Seminarunterlage. Version 1.02 vom

Apache HTTP Server Administration

Java GUI Entwicklung mit Swing

IBM Informix Tuning und Monitoring

Objekt-relationales Datenbanksystem Oracle

MySQL Administration. Seminarunterlage. Version 3.02 vom

Oracle Cloud Control. Seminarunterlage. Version vom

Java Performance Tuning

IBM DB2 für Unix/Linux/Windows SQL Grundlagen

SQL objektorientiert

Big Data Informationen neu gelebt

IBM DB2 UNIX/Linux/Windows Backup und Hochverfügbarkeit mit HADR

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Oracle Capacity Planning

Oracle Backup und Recovery

Unix/Linux Grundlagen für Einsteiger

Oracle Backup und Recovery mit RMAN

JSP und Servlet Programmierung

Oracle AWR und ASH Analyse und Interpretation

Solaris Virtualisierung mit ZFS und Container (Zonen)

WebSphere Application Server Installation

Apache HTTP Server Administration

Oracle Datenbankadministration Grundlagen

IT-Projektcontrolling

Tomcat Konfiguration und Administration

Objektorientiertes Programmieren

Oracle PL/SQL für Experten - Performance Analyse und Laufzeitoptimierung

Oracle Database 10g PL/SQL Programmierung

Continuous Integration (CI) Workshop

Linux Cluster mit Pacemaker und Heartbeat 3

IBM Informix Dynamic Server Hochverfügbarkeits-Technologien unter Unix

OBJEKTORIENTIERTE ENTWICKLUNG IN DER DATENBANK. Anja Hildebrandt buw Unternehmensgruppe

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

ORACLE9i: Objekt-Relationale Datenbanken

Oracle Weblogic Administration Grundlagen

Strukturierte Objekttypen

Objektrelationale Datenbanken

Objektorientierte PL/SQL- Programmierung

Linux Hochverfügbarkeits-Cluster

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

SQL (Structured Query Language) Schemata Datentypen

Solaris 11 Systemadministration Grundlagen

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Oracle Database 10g PL/SQL Programmierung

Objekt-Funktionale Programmierung. am Beispiel von SCALA. Thorsten Jolitz

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

2 Anlegen und Konfigurieren von Datenbanken 35

Data Warehouse Grundlagen

Objektorientierte Anwendungsentwicklung

XML in der Oracle Datenbank

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Naxtron GmbH Schlosstalstrasse Winterthur. Subject. New Features Oracle 9i Tuning. Edo Bezemer. Author

Java Programmierung Grundlagen

Inhaltsverzeichnis. Einleitung

Professioneller Einstieg in Oracle Database 11g SQL

Linux Hochverfügbarkeits-Cluster

XML in der Oracle Datenbank "relational and beyond"

Manfred Schüttengruber. Objektorientierte Programmierung mit Visual Basic 2005

Objektrelationale Datenbanken

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Eclipse und EclipseLink

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

2 Wegweiser Projektbeschreibung...69

Temporale Daten in objekt-relationalen Datenbanksystemen

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #5. SQL (Teil 3)

Objektrelationale und erweiterbare Datenbanksysteme

Objektorientierte Programmierung Studiengang Medieninformatik

Bibliografische Informationen digitalisiert durch

Objektorientiertes Programmieren in C++

Administration und Konfiguration für JBOSS

DB1. DB SQL-DQL 1 Mario Neugebauer

Zusammengesetzte Datentypen

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

Objektorientierte Datenbanken

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Einführung in die Programmiersprache Java II

Inhaltsverzeichnis. Inhaltsverzeichnis

Einführung in C# Teil 1. Matthias Nübling

Praktische Anwendungsentwicklung mit Oracle Forms

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Programmieren in Java

Index Rebuild. DOAG Konferenz , Nürnberg. Martin Hoermann

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Heide Faeskorn-Woyke Birgit Bertelsmeier. Datenbanksysteme. Theorie und Praxis mit SQL2003, Oracle und MySQL

Transkript:

Seminarunterlage Version: 11.10 Version 11.10 vom 12. September 2013

Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Firmen und beziehen sich auf Eintragungen in den USA oder USA-Warenzeichen. Weitere Logos und Produkt- oder Handelsnamen sind eingetragene Warenzeichen oder Warenzeichen der jeweiligen Unternehmen. Kein Teil dieser Dokumentation darf ohne vorherige schriftliche Genehmigung der weitergegeben oder benutzt werden. Die besitzt folgende Geschäftsstellen Adressen der Westernmauer 12-16 D-33098 Paderborn Tel.: (+49) 0 52 51 / 10 63-0 An der alten Ziegelei 5 D-48157 Münster Tel.: (+49) 02 51 / 9 24 35 00 Marlene-Dietrich-Str. 5 D-89231 Neu-Ulm Tel.: (+49) 07 31 / 9 85 88 550 Kreuzberger Ring 13 D-65205 Wiesbaden Tel.: (+49) 06 11 / 7 78 40 00 Wikingerstraße 18-20 D-51107 Köln Tel.: (+49) 02 21 / 8 70 61 0 Internet: http://www.ordix.de Email: training@ordix.de Version: 11.10 Seite 2

Inhaltsverzeichnis 1 Einführung... 7 1.1 Einführung und Motivation... 8 1.2 Prozedurale Programmierung... 9 1.3 OO Programmierung... 10 1.4 Objekt-Orientierung unter Oracle... 11 1.5 Objekte... 12 1.6 Objekt Person... 14 1.7 Klassen... 15 1.8 Übungen... 17 1.9 Lösungen... 18 2 Design-Betrachtung... 19 2.1 Merkmale der Objektorientierung... 20 2.2 Klasse... 22 2.3 Abstrakte Klasse... 23 2.4 Vererbung... 24 2.5 Assoziation... 25 2.6 Aggregation... 26 2.7 Komposition... 27 2.8 Übungen... 29 2.9 Lösungen... 31 3 Objekttypen und Methoden... 35 3.1 Objekttypen... 36 3.1.1 Struktur eines Objekttyps... 37 3.1.2 Objekttyp Spezifikation... 38 3.1.2.1 Syntax Objekttyp Spezifikation... 39 3.1.2.2 Beispiel Objekttyp Spezifikation... 40 3.1.3 Verwendung als Datentyp... 41 3.1.4 Objekttyp Rumpf (BODY)... 42 3.1.4.1 Syntax Objekttyp Rumpf... 43 3.1.4.2 Beispiel Objekttyp Rumpf... 44 3.1.5 Instanz eines Objekttyps... 45 3.2 Methoden... 46 3.2.1 Member Methoden... 47 3.2.2 Beispiel... 48 3.2.3 Statische Methoden... 49 3.2.4 Konstruktor Methoden... 51 3.2.4.1 Default Konstruktor... 53 3.2.4.2 Benutzerdefinierter Konstruktor... 54 3.2.5 Vergleichsmethoden... 55 3.3 Systemprivilegien... 57 3.4 Objektprivilegien... 58 3.5 Übungen... 59 3.6 Lösungen... 61 4 Speicherung in der Datenbank... 63 4.1 Persistenz von Objekten... 64 4.2 Objekttabellen... 66 4.3 OID... 67 4.4 VALUE() Funktion... 68 4.5 Relationale Tabelle... 69 4.6 Substituierbarkeit... 71 4.7 SQL Funktion VALUE()... 73 4.8 SQL Funktionen für die Arbeit mit Objekten... 74 4.9 Übungen... 76 4.10 Lösungen... 78 Version: 11.10 Seite 3

5 Vererbung... 79 5.1 Vererbung... 80 5.2 Beispiel zur Vererbung... 82 5.3 Übungen... 84 5.4 Lösungen... 85 6 Type Evolution... 86 6.1 Type Evolution... 87 6.2 Unterstützte Operationen... 88 6.3 Optionen... 89 6.4 Alter Type Verhalten... 90 6.5 Tipps... 92 6.6 DD Views... 93 6.7 Übungen... 94 6.8 Lösungen... 95 7 (Multi-Level) Collections... 96 7.1 Kollektionen - Arten und Eigenschaften... 97 7.2 Nested Table... 98 7.2.1 Nested Table Eigenschaften... 98 7.2.2 Nested Table Anwendung... 99 7.2.3 Nested Table Beispiel... 100 7.2.4 Multi-Level Kollektion Beispiel... 101 7.3 Varray... 102 7.3.1 Varray Eigenschaften... 102 7.3.2 Varray Anwendung... 103 7.3.3 Varray Beispiel... 104 7.3.4 Konstruktor Beispiel... 105 7.4 Funktionen für geschachtelte Tabellen... 106 7.4.1 Funktionen für geschachtelte Tabellen Beispiel... 107 7.5 Funktionen für Kollektionen... 112 7.6 Tabellenerstellung Beispiel... 115 7.7 Insert Beispiel... 116 7.8 Update, Delete Beispiel... 117 7.9 Select Beispiel... 118 7.10 Übungen... 119 7.11 Lösungen... 121 8 REF - Spalten... 127 8.1 REF allgemein... 128 8.2 Objekte mit Referenzen Beispiel... 129 8.3 Weitere Operatoren zu REF... 130 8.4 REF Spalten... 131 8.5 Objekttabellen mit Referenzen Beispiel... 132 8.6 Integritätsbedingungen... 133 8.7 Darstellung einer Referenz zwischen Objekttabellen... 134 8.8 Insert Beispiel... 135 8.9 Update, Delete, Select, Beispiel... 136 8.10 Select Beispiel... 137 8.11 Übungen... 138 8.12 Lösungen... 139 9 Overloading, Overriding... 140 9.1 Overloading allgemein... 141 9.2 Overriding allgemein... 143 9.3 Zugriff auf Methoden... 145 9.4 Übungen... 146 9.5 Lösungen... 147 Version: 11.10 Seite 4

10 Polymorphismus... 149 10.1 Allgemeines... 150 10.2 Darstellung Polymorphismus... 151 10.3 Übungen... 155 10.4 Lösungen... 156 11 MAP-/Order-Methode... 158 11.1 Ziel und Voraussetzung... 159 11.2 Anwendungsbereiche... 160 11.3 Einsatzgebiete... 161 11.4 MAP-Methode... 162 11.5 MAP-Methode Beispiel... 163 11.6 ORDER-Methode... 165 11.7 ORDER-Methode Beispiel... 166 11.8 Übungen... 168 11.9 Lösungen... 169 12 Object-Views und Trigger... 171 12.1 Object-Views... 172 12.2 Vererbung mit Object-Views... 174 12.3 Trigger und Objekttabellen... 175 12.4 Beispiel mit Object-Views und Trigger... 176 12.5 Trigger Beispiel... 177 12.6 Übungen... 178 12.7 Lösungen... 180 13 Dynamisches SQL... 181 13.1 Dynamisches SQL und Objekttabellen... 182 13.2 Beispiel BIND-Variablen... 183 13.3 Beispiel REF Cursor... 184 13.4 Übungen... 185 13.5 Lösungen... 186 14 Performance... 187 14.1 Performancevergleich... 188 14.1.1 Übersicht... 188 14.1.2 Grundsätzlicher Testaufbau... 189 14.1.3 Insert... 190 14.1.4 Select count... 191 14.1.5 Select *... 192 14.1.6 Select Mitarbeitername... 193 14.1.7 Index und Partitionierte Tabellen... 194 14.1.8 Fazit... 195 14.2 Übungen... 196 14.3 Lösungen... 198 15 PL/SQL und Java... 203 15.1 Vergleich Objektorientierung in PL/SQL und Java... 204 15.2 PL/SQL und Zugriffsmodifikatoren... 205 15.3 PL/SQL und Interfaces... 206 15.4 Objekttypen und Java... 207 15.5 Beispiel mit java.sql.struct... 208 15.6 Beispiel mit oracle.sql.struct... 209 15.7 Übungen... 210 15.8 Lösungen... 211 Version: 11.10 Seite 5

16 Zusatzaufgaben... 215 16.1 Zusatzaufgaben... 216 16.2 Lösungen... 222 Version: 11.10 Seite 6