21
Universit ¨ at Bielefeld Einleitung/Motivation Grenzen relationaler Modelle Objekt-orientierte Datenmodelle Vorlesung Datenbanken II – SS 2006 Sven Wachsmuth Universit ¨ at Bielefeld, Technische Fakult¨ at, AG Angewandte Informatik Vorlesung Datenbanken II – SS 2006 1

Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Embed Size (px)

Citation preview

Page 1: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

Vorlesung Datenbanken II – SS 2006

Sven Wachsmuth

Universitat Bielefeld, Technische Fakultat, AG Angewandte Informatik

Vorlesung Datenbanken II – SS 2006 1

Page 2: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Objektorientierte Modelle:

Paradigma zur Darstellung von struktureller und prozeduralerInformation.

Ziel: Anheben der AbstraktionsebeneI Datenabstraktion (Kapselung von Objektzustande)I Gegenstandsabstraktion

(Modelle von problemspez. Gegenstanden)I Ablaufabstraktion

(Objektmethoden kapseln Implementierungen)I Schichtenabstraktion

(Objekte realisieren virtuelle Maschinen)

Vorlesung Datenbanken II – SS 2006 2

Page 3: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Objektorientierter Entwurf:I beschreibt Objekte mit gemeinsamen Eigenschaften durch

einen abstrakten DatentypI implementiert diese durch KlassenI ermittelt 2 Arten von Beziehungen zwischen diesen

Klassen:I Klasse – KomponentenklasseI Klasse – Unterklasse

Vorlesung Datenbanken II – SS 2006 3

Page 4: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Grundlegende OO-Konzepte von Programmiersprachen:I Objekttypen: bestehen aus Attributen + MethodenI Einkapselung: Schnittstelle stellt Zugriff auf Attribute und

Methoden bereit(Implementierung bleibt verborgen)

I Nachrichten: Kommunikation zwischen Objektengeschieht durch Senden von Botschaften

I Klassen: zwei verschiedene SichtenI ADT-Implementierungen: Klasse implementiert einen

abstrakten DatentypI Objektfabrik: Klasse produziert Objekte gleichen Typs

I ...

Vorlesung Datenbanken II – SS 2006 4

Page 5: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Grundlegende OO-Konzepte von Programmiersprachen:I ...I Konstruktoren/Destruktoren: Erzeugen und Loschen von

Objekten(Konstruktor ubernimmt Initialisierung)

I Zustand eines Objektes: Gesamtheit der AttributwerteI Objektidentitat (Surrogate):

kein Wertbasierter Identitatsbegriff,Identitat ist Eigenschaft eines Informationselementes(unabhangig vom Zustand, wird systemseitig vergeben)

I ...

Vorlesung Datenbanken II – SS 2006 5

Page 6: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Grundlegende OO-Konzepte von Programmiersprachen:I ...I Identitat und Gleichheit:

I Referenzsemantik (identisches Objekt)I Wertesemantik (Objekt mit gleichem Zustand)

flache Gleichheit(testet alle Werte und Referenzen auf Gleichheit)

tiefe Gleichheit(testet alle Werte rekursiv entlang der Referenzen zuKomponentenobjekten)

I ...

Vorlesung Datenbanken II – SS 2006 6

Page 7: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Grundlegende OO-Konzepte von Programmiersprachen:I ...I Typisierung:

I statische Typisierung (Typen sind zur Compilezeitbekannt)I dynamische Typisierung (Typen werden zur Laufzeit

bestimmt)

I strenge Typisierung (Zusicherung, dass zur Laufzeit keineTypfehler auftreten)

→ wichtig fur DB (Optimierung, Effizienz, Sicherheit)

I ...

Vorlesung Datenbanken II – SS 2006 7

Page 8: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Grundlegende OO-Konzepte von Programmiersprachen:I ...I Vererbung:

I Is-a-Hierarchie: Unterklasse ist Teilmenge der Oberklasse(logische Sicht)

I Typhierarchie: Vererbung von Verhalten, Substituierbarkeit(Benutzersicht)

I Klassenhierarchie: Vererbung der Implementierung(Implementierersicht)

I Wertvererbung/Objektvererbung: Vererbung von Zustanden(Datenbanksicht)

I ...

Vorlesung Datenbanken II – SS 2006 8

Page 9: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Grundlegende OO-Konzepte von Programmiersprachen:I ...I Polymorphismus / dyn. Binden:

I Ad-hoc: Uberladen von Funktionsnamen, impliziteTypkonversion

I Universell: Variation einer einzigen Implementierung

parametrisch: Typen als Parameter

Teilmengen: Typen hangen uber Typ-Untertyp-Beziehungzusammen

I ...

Vorlesung Datenbanken II – SS 2006 9

Page 10: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Grundlegende OO-Konzepte von Programmiersprachen:I ...I Metaklassen: Zuordnung von Attributen zu einer ganzen

KlasseI statische Attribute (z.B. C++)I Klassen sind wiederum Objekte (z.B. Smalltalk)

Vorlesung Datenbanken II – SS 2006 10

Page 11: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Ziel der OO-DBMS ist die Uberwindung des impedancemismatch zwischen OO-Programmen und DBMS

I die Wirtssprache wird zur DatendefinitionsspracheI Objekt-orientierte DBS:

I DB ist eine Menge von Klassen (⇔ Relationen)I eine Klasse(n) (-extension) ist eine Menge von Objekten

(⇔ Tupeln)I Objekt-relationale DBS:

I oberstes Konstrukt bleibt eine RelationI Domanen werden auf Klassen abgebildetI Objekte sind komplexe Werte

Vorlesung Datenbanken II – SS 2006 11

Page 12: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.1 Konzepte objektorientierter Systeme

Erweiterte Konzepte gegenuber RDBS:I strukturierte/komplexe DomanenI keine Unterscheidung zwischen systemseitigen und

benutzerspezifischen Domanen.I eine DB speichert Implementierungen von MethodenI DB-Objekte haben eine persistente oid (nicht wertbasiert)I VererbungshierarchieI Komponentenverweise uber oids

Vorlesung Datenbanken II – SS 2006 12

Page 13: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.2 OO-Erweiterungen in SQL:1999, SQL:2003

I strukturierte/komplexe Domanen:

Row-Typen:CREATE TABLE Person (

Name CHAR(20),Address ROW(Number INTEGER, Street CHAR(20),

ZIP CHAR(5))

Zugriff uber:SELECT P.Address.ZIP FROM Person P

Row-Konstruktor:VALUES(’John Doe’, ROW(666,’Hollow Rd.’,’66666’))

Vorlesung Datenbanken II – SS 2006 13

Page 14: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.2 OO-Erweiterungen in SQL:1999, SQL:2003

I Benutzerdefinierte Typen (UDTs):

CREATE TYPE PersonType AS (Name CHAR(20),Address ROW(Number INTEGER, Street CHAR(20),

ZIP CHAR(5)));CREATE TYPE StudentType UNDER PersonType AS (

Id INTEGER,Status CHAR(2))

METHOD award degree() RETURNS BOOLEAN;CREATE METHOD award degree() FOR StudentTypeLANGUAGE CEXTERNAL FILE ’file:/home/admin/award degree’;

Vorlesung Datenbanken II – SS 2006 14

Page 15: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.2 OO-Erweiterungen in SQL:1999, SQL:2003

I persistente OIDs (typed tables):CREATE TABLE Student OF StudentTypeREF IS stud oid;CREATE TABLE TRANSCRIPT (

Student REF(StudentType) SCOPE Student,CrsCode CHAR(6), Semester CHAR(6), Grade CHAR(1) )

I Nur Tupel in typed tables haben OIDs.I Unterscheidung Wert↔ Referenz wie in C++I Referenzierung: T.Student->Address.Street

Vorlesung Datenbanken II – SS 2006 15

Page 16: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.2 OO-Erweiterungen in SQL:1999, SQL:2003

I Vererbung uber Supertables:CREATE TABLE Student OF StudentTypeUNDER Person

I Kollektionen (mengenwertige Attribute):CREATE TYPE StudentType UNDER PersonType AS (

Id INTEGER,Status CHAR(2),Enrolled REF(CourseType) MULTISET );

SELECT S.Id, C.NameFROM Student S, Course CWHERE C.CrsCode IN (

SELECT E -> TmpCrsCodeFROM UNNEST(S.Enrolled) AS TmpCourse(TmpCrsCode) E);

Vorlesung Datenbanken II – SS 2006 16

Page 17: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.3 Kriterien fur OODBS

[Atkinson et al. (1989) ’The OO Database Manifesto’]

Notwendige Eigenschaften:1 Darstellung komplexer Objekte aus einfachen durch

Anwendung von Konstruktoren(Orthogonalitat: Konstruktor ist auf jedes Objektanwendbar)

2 Objektidentitat: Objekte konnen Komponentenobjekteuber Referenzen teilen(→ nur ein Update notwendig)

3 Einkapselung: Trennung von Spezifikation undImplementierung (→ logische Datenunabhangigkeit)

Vorlesung Datenbanken II – SS 2006 17

Page 18: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.3 Kriterien fur OODBS

Notwendige Eigenschaften (Fortsetzung):4 Typen- und Klassen:

Typ: gemeinsame Eigenschaften/VerhaltenKlasse: Object factory (generiert neue Objekte)

Objekt warehouse (Extension einer Klasse)

→ Klassen konnen zur Laufzeit manipuliert werden→ dynamisches Binden notwendig

Vorlesung Datenbanken II – SS 2006 18

Page 19: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.3 Kriterien fur OODBS

Notwendige Eigenschaften (Fortsetzung):5 Klassen- und Typhierarchien (Vererbung):

I Substitution (Operationen ubertragen)I Inklusion (Klassifikation, basiert auf Struktur)I Constraint (Struktur + Bedingungen)I Spezialisierung (instanzbasiert, spezifischere

Informationen)

Vorlesung Datenbanken II – SS 2006 19

Page 20: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.3 Kriterien fur OODBS

Notwendige Eigenschaften (Fortsetzung):6 Dynamisches Binden / Overloading

7 Computational completeness (berechnungsvollstandig)

8 Erweiterbarkeit (Typen/Domanen)

9 Persistenz

10 Secondary storage management, Indexmanagement

11 Concurrency (→Mehrbenutzerbetrieb)

12 Recovery (Ausfallsicherheit)

Vorlesung Datenbanken II – SS 2006 20

Page 21: Vorlesung Datenbanken II -- SS 2006swachsmu/DBII06/db2-ODBS... · Vorlesung Datenbanken II – SS 2006 ... – SS 2006 1. Universitat¨ Bielefeld Einleitung/Motivation Grenzen relationaler

Universitat Bielefeld Einleitung/MotivationGrenzen relationaler Modelle

Objekt-orientierte Datenmodelle

3.3 Kriterien fur OODBS

Notwendige Eigenschaften (Fortsetzung):13 Ad hoc Anfragesprache

I HochspracheI Effizenz, OptimierbarkeitI anwendungsunabhangigI anwenbar auf jede DB (inkl. benutzerdefinierte Typen)

Vorlesung Datenbanken II – SS 2006 21