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

Ähnliche Dokumente
Vorwort. Aufbau und Struktur

Vorwort. Webseite zum Buch:

M e d i e n IT-Beratung I Projekte I Seminare

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Vorwort. Zu dieser Reihe. Autoren. Vorwort

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Die Lernumgebung des Projekts Informationskompetenz

Business Intelligence für Prozesscontrolling

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM APPs und Add-Ins

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Registrierung am Elterninformationssysytem: ClaXss Infoline

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Vorwort. Zu dieser Reihe. Autoren. Vorwort

Installationsanleitung Webhost Windows Flex

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Leitfaden für die ersten Schritte im INIT-eCampus. mailto:

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Leichte-Sprache-Bilder

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Adminer: Installationsanleitung

TeamSpeak3 Einrichten

Anleitung zur Verwendung der VVW-Word-Vorlagen

Die Post hat eine Umfrage gemacht

der Firma BuchLogistikCompany GmbH Erstellt von Bernhard Neidl

Einrichten des Elektronischen Postfachs

BSV Software Support Mobile Portal (SMP) Stand

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Robot Karol für Delphi

Guide DynDNS und Portforwarding

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

e-books aus der EBL-Datenbank

Ein Ausflug zu ACCESS

Steganos Secure Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Erklärung zu den Internet-Seiten von

E-Cinema Central. VPN-Client Installation

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Lizenzierung von StarMoney 9.0 bzw. StarMoney Business 6.0 durchführen

Medienwechsel in StarMoney 8.0 und StarMoney Business 5.0

Das vorliegende Dokument beinhaltet vertrauliche Informationen und darf nicht an Dritte weitergereicht werden.

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Lizenzierung von StarMoney 8.0 bzw. StarMoney Business 5.0 durchführen

Content Management System mit INTREXX 2002.

Gut zu wissen: Hilfe für ereader-einsteiger Leitfaden Nr. 2: Wie lade ich meine ebooks in das Programm Adobe Digital Editions?

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Hinweise bei Problemen mit Makros

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Agentur für Werbung & Internet. Schritt für Schritt: -Konfiguration mit Apple Mail

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Objektorientierte Programmierung OOP

Überprüfung der digital signierten E-Rechnung

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Umstellung einer bestehenden T-Online Mailadresse auf eine kostenlose T-Online Fre -Adresse

Anleitung für den Elektronischen Lesesaal der Martin-Opitz Bibliothek

Neuinstallation Einzelplatzversion

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

1. Zugriff des Autostarts als Dienst auf eine Freigabe im Netz

telefonkonferenz.de für Endanwender

1. Einführung. 2. Die Abschlagsdefinition

Der Kalender im ipad

Das Starten von Adami Vista CRM

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Internationales Altkatholisches Laienforum

Kurzanleitung OOVS. Reseller Interface. Allgemein

Gezielt über Folien hinweg springen

Die Dateiablage Der Weg zur Dateiablage

In#7#Schritten#zum#erfolgreichen#Online#Business## # # # # # # # In#7#Schritten#zum# erfolgreichen#online#business## # # Erik#Jenss# # 1#

Maßnahmen zu Beschleunigung der cobra Adress Datenbanken unter SQL Entwurf

PHPNuke Quick & Dirty

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Partnerportal Installateure Registrierung

4. BEZIEHUNGEN ZWISCHEN TABELLEN

SharePoint-Migration.docx

Anleitung für CleverReach

Installation und Einrichtung egk-lesegeräte

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Professionelle Seminare im Bereich MS-Office

Erstellen einer digitalen Signatur für Adobe-Formulare

Einstiegshilfe für das Übersenden elektronischer Teilnahmebestätigungen an ÄrztInnen

KURZANLEITUNG CLOUD OBJECT STORAGE

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Der neue persönliche Bereich/die CommSy-Leiste

Transkript:

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 Comelio Medien 2012

Alle Rechte vorbehalten. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jeder Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für die Vervielfältigung, Übersetzung, Mikroverfilmung und die Einspeicherung und Verbreitung in elektronischen Systemen. Comelio GmbH Comelio GmbH Goethestr. 34 D-13086 Berlin Fon: +49 (0) 30-8 14 56 22-00 Fax: +49 (0) 30-8 14 56 22-10 www.comelio-medien.com info@comelio.com Umschlaggestaltung, Comelio-Grafiken, Layout & Satz: Nadine Kilian ISBN 978-3-939701-48-4

Inhaltsverzeichnis Inhaltsverzeichnis 1. Einführung 15 1. 1. Beispieldatenbank 15 1. 1. 1. Entitäten 15 1. 1. 2. Tabellen und Beziehungen 16 1. 2. Einrichtung der Beispiel-Datenbank 18 1. 2. 1. Dateien 19 1. 2. 2. Tabellen und Daten aufspielen 19 1. 3. Allgemeine Konzepte 21 1. 3. 1. Überblick zur Objektorientierung 22 1. 3. 2. Relationales Mapping mit PL/SQL 34 1. 3. 3. Objektrelationalität 40 2. Objekte für PL/SQL und die DB 56 2. 1. Einleitung 56 2. 1. 1. Grundprinzipien von Objekttypen und Objekten 57 2. 1. 2. Definition von Objekttypen 63 2. 2. Objekte in der Datenbank 67 2. 2. 1. Erstellung eines Objekttyps 68 2. 2. 2. Objekte und SQL-Anweisungen 71 2. 2. 3. Objekte in PL/SQL 75 2. 2. 4. Methoden von Objekten 77 3. Vererbung 92 3. 1. Vererbungshierarchien bei Objekttypen 92 3. 1. 1. Einfache Vererbungsstruktur 93 3. 1. 2. Überschreiben von Methoden 95 3. 1. 3. Ersetzungsprinzip und Dynamische Bindung 101 3. 1. 4. Überladung 105 3. 1. 5. Vererbung verhindern 107 5

Inhaltsverzeichnis 3. 2. Abstraktion 108 3. 2. 1. Prinzip der Abstraktion 108 3. 2. 2. Ersetzungsprinzip bei Abstraktion 112 3. 3. Tabellen und Vererbung 115 3. 3. 1. Ersetzungsprinzip bei Tabellen 116 3. 3. 2. Ersetzbarkeit kontrollieren 119 3. 3. 3. Wichtige Funktionen 121 4. Objekte und Collections 125 4. 1. Collections mit Objekttypen erstellen 125 4. 1. 1. Einsatz von Varrays 126 4. 1. 2. Einsatz von verschachtelten Tabellen 131 4. 2. Einsatz von Collections in Tabellen 132 4. 2. 1. Tabellen mit Collection-Typen 132 4. 2. 2. Collections mit primitiven Datentyp 136 4. 2. 3. DML-Operationen 137 4. 3. Collections und Objekte in PL/SQL 140 4. 3. 1. Einsatz von Collections und Cursorn 140 4. 3. 2. Verschachtelte Tabellen 142 4. 3. 3. Collections 143 4. 3. 4. Verschachtelte Strukturen 145 5. Verwaltung von Objektstrukturen 151 5. 1. Berechtigungen und Sicherheit 151 5. 1. 1. System-Rechte für Objekttypen 151 5. 1. 2. Schema-Rechte für Objekttypen 152 5. 1. 3. Beispiele 153 5. 2. Allgemeine Verwaltung 156 5. 2. 1. Abhängigkeiten 156 5. 2. 2. Synonyme 163 5. 2. 3. Systemsichten für Objekte 165 6. Objekte und XML-Einsatz 174 6. 1. XML Schema 175 6. 1. 1. Übersicht 175 6. 1. 2. Globale/Lokale Elemente und Attribute 175 6. 1. 3. Datentypen 182 6. 1. 4. Globale komplexe Typen 185 6

Inhaltsverzeichnis 6. 2. Verwendung von XML Schema in Oracle 188 6. 2. 1. XML Schema registrieren 188 6. 2. 2. Objekttypen und XML Schema generieren 192 6. 3. Relationale Daten in XML 202 6. 3. 1. Einsatz von Objekt- und Tabellentypen 203 6. 3. 2. XML-Dokumentvorgaben 207 7. Object Views und OR-Mapping 210 7. 1. Object Views und ihr Einsatz 210 7. 1. 1. Allgemeine Vorgehensweise 211 7. 1. 2. Verschachtelte Strukturen 214 7. 2. Hierarchien und Beziehungen 218 7. 2. 1. Einstufige Hierarchien mit Collections 218 7. 2. 2. Mehrstufige Hierarchie mit und ohne Collections 221 7. 2. 3. Beziehungen 229 7. 3. Arbeit mit Objekt-Sichten 236 7. 3. 1. Schlüssel in Sichten 236 7. 3. 2. NULL-Werte 238 7. 3. 3. Referenzen 241 7. 3. 4. Vererbungshierarchien und Sichten 244 7. 3. 5. Datenmanipulation über Sichten 253 7

Vorwort

Vorwort Vorwort Herzlich willkommen zu einem Fachbuch aus dem Verlag Comelio Medien. Dieses Buch aus dem Bereich Datenbanken soll Sie dabei unterstützen, die objektrelationalen Techniken von Oracle und PL/SQL zu lernen, mit der Sie objektorientierte bzw. objektrelationale Strukturen und Anwendungslogik in der Datenbank erstellen und verwenden können. Dieses Wissen rundet zusammen mit unseren anderen Büchern zum Thema Oracle das nötige Handwerkzeug zur Programmierung von Oracle über SQL und PL/SQL ab. Aufbau und Struktur Ähnlich wie dieses Buch sind auch andere Bücher zum Thema Oracle bei Comelio Medien gestaltet, sodass Sie sehr leicht nebeneinander verwendet werden können, um so dieses interessante Thema aus verschiedenen Blickwinkeln betrachten zu können. Zielgruppe Dieses Buch richtet sich an fortgeschrittene Programmierer in der PL/SQL-Programmiersprache. Sie sollten schon Erfahrung mit der Entwicklung von Prozeduren und Funktionen haben und nun lernen wollen, wie Sie mit Hilfe von PL/SQL Objekttypen schreiben und diese bei der Anwendungsentwicklung und dem Datenbankaufbau nutzen können. Erfahrungen mit anderen Programmiersprachen sind nicht unbedingt notwendig, können aber aufgrund der Vergleichbarkeit mit anderen objektorientierten Sprachen hilfreich sein. Dieses Buch soll Ihnen allerdings nicht nur die Syntax vermitteln, mit denen Objekte erstellt und verwendet werden können, sondern auch eine Entscheidungshilfe bieten, wie Sie diese fortgeschrittenen Techniken für Ihre Projekte nutzen können. 9

Schreibkonventionen Das Thema und damit auch dieses Buch leben von Beispielen. Quelltext in SQL und PL/SQL wird in diesem Buch in dicktengleicher Schrift geschrieben. Sollte es doch einmal wichtig sein, einen besonderen Textbereich hervorzuheben, geschieht dies durch eine fette, dicktengleiche Schrift. Wichtige Begriffe, Datei- oder Ordnernamen sind durch kursive Schrift gekennzeichnet. Weitere Buch-Informationen Wie alle anderen wird auch dieses Buch auf der Comelio Medien-Webseite vorgestellt. Dort können Sie sich über eventuelle Änderungen und Korrekturen sowie Neuauflagen dieses Buches informieren. Dort können Sie auch die Beispiel-Datenbank sowie alle Beispiele dieses Buchs als Quelltext herunterladen. Die Adresse lautet: http://www.comelio-medien.com/ Kontaktmöglichkeiten Die Autoren erreichen Sie an ihrem Arbeitsplatz unter info@comelio.com. Sie arbeiten beide bei der Comelio GmbH. Webseite: www.comelio.com. Den Verlag erreichen Sie unter der Webseite www.comelio-medien.com. Weitere Informationen Offizielle Dokumente finden Sie natürlich auf der sehr umfangreichen Oracle- Webseite, wobei die folgenden Dokumente besonders interessant sind: Object-Relational Developer s Guide (http://www.oracle.com/pls/ db112/to_toc?pathname=appdev.112/e11822/toc.htm) JPublisher User s Guide (http://www.oracle.com/pls/db112/to_ toc?pathname=java.112/e10587/toc.htm)

Seminare und Schulungen zu Oracle finden Sie unter http://www.comelioseminare.com/seminare/titel/oracle_11g Weitere Bücher zur Oracle-Technologie im gleichen Verlag: Oracle SQL - ISBN 978-3-939701-41-5 Oracle PL/SQL - ISBN 978-3-939701-40-8 Oracle, PL/SQL und XML ISBN 978-3-939701-10-1 Weitere kostenlose Lernmaterialien zu Datenbanken und zur Oracle-Technologie im gleichen Verlag: Kostenlose Kurzreferenzen mit Syntax-Darstellungen zu vielen Technologien: http://www.comelio-medien.com/leserservice/kurz-referenzen Kostenloses E-Book als PDF SQL und relationale Datenbanken: http://www.comelio-medien.com/buch-katalog/e-books/sql Inhalt nach Kapiteln Die Themen der einzelnen Kapitel werden im Folgenden kurz aufgelistet: 1. Im ersten Kapitel lernen Sie die Beispieldatenbank kennen und sehen, wie Sie Ihre Arbeitsumgebung einrichten, damit Sie unsere Beispiele nachvollziehen können. Sie wird bei all unseren Oracle-Büchern verwendet. Als Arbeitsumgebung wäre eine Installation der Oracle 11g-Datenbank auf Ihrem lokalen System optimal. Jedoch ist die Verwendung der kostenlosen Oracle Express Edition ebenfalls völlig ausreichend und lässt sich sehr einfach auf einem privaten Computer durchführen, da diese Ausgabe nicht so viele Systemressourcen benötigt. Im zweiten Teil dieses Kapitels führen wir das objektrelationale Modell kurz ein. Dabei beginnen wir zunächst mit einer sehr komprimierten Darstellung der wichtigsten objektorientierten Konzepte. Diese führen dann zu einer Darstellung, wie prozedurale PL/SQL-Techniken für das Mapping von relationalen Daten genutzt werden, um Anwendungsentwicklung und Datenmodell möglichst gut zu integrieren. Ähnliche und sehr viele ausdifferenzierte

Vorwort Techniken stehen bei der Verwendung von objektorientierten Sprachen zur Verfügung. Diese erläutern wir nur kurz, da weder Java noch.net fundamentale Voraussetzungen für das Buch sind. Die Objekttypen jedoch erlauben einen ähnlichen Ansatz, weswegen es wichtig ist, diese Vorgehensweisen in einen größeren Zusammenhang einordnen zu können. Zum Schluss folgt noch ein Ausblick über ähnliche Möglichkeiten beim Einsatz von XML bzw. XML Schema, welches für die Generierung von Objekttypen genutzt werden kann und das ebenfalls für ein Mapping von relationalen Daten und Objekten genutzt werden kann. 2. Das zweite Kapitel führt in die Erstellung von Objekttypen und ihrer Verwendung ein. Aus Sicht von PL/SQL betrifft dies die Deklaration von Objekttypen sowie ihre Ergänzung um Prozeduren und Funktionen, von denen einige besondere Aufgaben erfüllen wie bspw. die Durchführung von Programmlogik bei der Erstellung eines neuen Objekts, das auf diesem Typ basiert, oder auch die Implementierung von Vergleichen und Sortierungen. Ebenfalls in PL/SQL- Blöcken zeigten Beispiele dieses Kapitels, wie konkret Objekte im Programmablauf zum Einsatz kommen. Aus Sicht von SQL sieht man, wie Tabellen oder Spalten auf Basis von Objekttypen erstellt und auch in DML-Operationen genutzt werden können. 3. Das dritte Kapitel zeigt, wie Objekttypen in einer Vererbungshierarchie organisiert werden können. Dabei erben abgeleitete Objekttypen Strukturen ihrer Eltern-Objekttypen und können weitere eigene Strukturen anhängen. Diese Möglichkeiten erlauben eine Modellierung von Daten und Beziehungen, die näher an der Realität ist als die eher flache Strukturierung im relationalen Modell. Diese Vererbungshierarchien können dann unterschiedlich für die Abbildung im Daten-/Tabellenmodell oder auch nur ausschließlich in der PL/ SQL-Anwendung genutzt werden. Insbesondere über diese Technik nähert sich PL/SQL dann anderen Programmiersprachen von den Möglichkeiten der Syntax an und erlaubt die Entwicklung von besser wartbaren und leichter erweiterungsfähigen Programmen. 4. Das vierte Kapitel erweitert den Einsatz von Objekttypen, in dem sie als Datentyp für Collections verwendet werden. So ist es dann möglich, nicht nur Strukturen mit mehreren Feldern und ggf. auch Anwendungslogik zu formulieren, sondern noch komplexere mehrzeilige oder tief verschachtelte Datenabbildungen für die Verwendung in PL/SQL-Programmen oder auch direkt im Datenmodell zu formulieren. 12