22
Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar „Datenbanken vs. Markup“ Dozent: Prof. Dr. M. Thaller

Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Embed Size (px)

Citation preview

Page 1: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Objektorientierte Datenbanken

Referat von Paul van Hemmen

Institut für Historisch-kulturwissenschaftliche InformationsverarbeitungWS 2009/2010

Seminar „Datenbanken vs. Markup“Dozent: Prof. Dr. M. Thaller

Page 2: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Grundlagen objektorientierter Datenbanken (OODB)

• Für viele komplexe Aufgaben sind herkömmliche Datenbanksysteme aufgrund ihrer Struktur nicht geeignet.

• Höhere Anforderungen an die Datenbank:– Komplexere Strukturen– Länger andauernde Transaktionen– Neue Datentypen zur Speicherung von Bildern oder

langen Texten– Durchführung anwendungsspezifischer Operationen

Page 3: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Grundlagen objektorientierter Datenbanken

Schlüsselfunktionen von OODB‘s:• Struktur und Operationen von Objekten

können vom Entwickler spezifiziert werden• OODB‘s sind aufgrund ihrer

Objektorientierung für moderne Programmiersprachen ausgelegt.

Beispiele für OODB‘s:• db4o, Objectivity, ObjectStore PSE Pro, Caché

Page 4: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Das objektorientierte Datenbankkonzept

Das objektorientierte Konzept übernehmen die OODB‘s von den objektorientierten Programmiersprachen (OOPL).

Objekte haben typischerweise 2 Bausteine:• Eigenschaften• MethodenDie OODB‘s ermöglichen die persistente

Speicherung von Objekten, ihren Eigenschaften und Methoden, die in OOPL‘s nur während der Laufzeit existieren.

Page 5: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Das objektorientierte Datenbankkonzept

Objekte in OODB‘s und OOPL‘s verhalten sich in vielen Punkten gleich:

• Objekte haben Eigenschaften und Methoden• Objekte können eine Objektstruktur beliebiger Komplexität

annehmen• Variablen können innerhalb eines Objekts lokal definiert

werden• Die im Rumpf der Methoden definierten Anweisungen sind

von außerhalb nicht zugänglich• Objekte können Methoden und Eigenschaften an

Unterobjekte weiter vererben • Funktionen und Methoden eines Objekts können überladen

werden

Page 6: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Der Standard für objektorientierte Datenbanken

• Mit dem Aufkommen von kommerziellen OODB’s Notwendigkeit der Entwicklung von Standards

• Diese Aufgabe übernimmt die ODMG (Object Database Management Group): ODMG-93 Standard als strukturelle und syntaktische Grundlage für OODB’s

Page 7: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Struktur und Aufbau von Objekten in OODB‘s

Drei wichtige Merkmale von Objekten:• Identität: Jedes Objekt in der OODB erhält

eine eindeutige, einmalige und vom System vergebene ID (OID). Diese ist nicht veränder- und übertragbar.

• Objektstruktur: Sogenannte type constructors bestimmen, wie sich der Inhalt eines Objekts zusammensetzt

• Wert: Der letztendliche Inhalt des Objekts

Page 8: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Struktur und Aufbau von Objekten in OODB‘s

Die Zusammensetzung eines Objekts lässt sich mit folgendem Triple veranschaulichen:

(i, c, v)

wobei

i object identifier (OID)c type constructorv value (Wert)

Page 9: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Der type constructor• Atom: enthält einen von der Datenbank unterstützten

Grundwert• Set: der Wert eines Objekts ist ein Satz von OID’s

anderer Objektev = {i1,i2,...,in}

• Tuple: Der Wert besteht aus lokalen Variablen, denen jeweils eine OID eines anderen Objekts zugeordnet ist

v = {a1:i1, a2:i2, ..., an:in}

Weitere type constructors:• List, Array, Bag

Page 10: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Objektstruktur am Beispiel einer Datenbank „Firma“

Page 11: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar
Page 12: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar
Page 13: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Die Deklaration von Objekttypen

• Die Deklaration erfolgt anhand der besprochene Schemata

• Die OID wird als einziger Bestandteil automatisch vom System vergeben

• Attribute stellen dabei Referenzen auf andere Objekte dar und dienen dazu, Beziehungen zwischen Objekten abzubilden

Page 14: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar
Page 15: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Objektorientierte Konzepte in OODB‘s

Abkapselung:• Die interne Struktur und die Daten des

Objekts bleiben verborgen• Das Objekt kann nur durch vorher definierte

Methoden angesprochen werden• Externe Benutzer ‚sehen’ nur das nach außen

hin zur Verfügung gestellte Interface des Objekts

Page 16: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Objektorientierte Konzepte in OODB‘s

Klassenspezifische Methoden:• In OODB’S können die Objekttypen mit

spezifischen Funktionen erweitert werden• Mit der Einbindung solcher Methoden können

Objekttypen ausgebaut werden zu echten Klassen

Page 17: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar
Page 18: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Objektorientierte Konzepte in OODB‘s

Persistenz und Erreichbarkeit:• Objekte einer OODB können benannt werden.

Der vergebene Name kann bei Suchanfragen als Referenz- und Einstiegspunkt dienen.

• Erreichbarkeit: Alle nicht benannten Objekte können dabei von hierarchisch übergeordneten, benannten Objekten aus erreicht werden

Page 19: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Objektorientierte Konzepte in OODB‘s

Hierarchie und Vererbung:• Methoden und Eigenschaften eines Objekts

können an andere Objekte weitervererbt werden

• Kindobjekten können dabei spezifische Methoden und Eigenschaften hinzugefügt werden

• Kind/Eltern Relationen sind strikt hierarchisch

Page 20: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Objektorientierte Konzepte in OODB‘s

Polymorphie• Funktionen und Methoden können überladen

werden

Mehrfache Vererbung / Selektive Vererbung• Ein Objekt kann auch die Attribute mehrerer

Elternobjekte erben bzw. im gegenteiligen Fall nur bestimmte Attribute seines Elternobjekts übernehmen

Page 21: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Komplexe ObjekteZwei Arten von komplexen Objekten in OODB‘s• Unstrukturiertes Objekt: Ist typischerweise ein Datenobjekt,

dass eine große Menge an Speicherplatz braucht• strukturiertes Objekt: Die OODB erkennt die komplexe

Struktur des Objekts anhand der in der Datenbank bereits angelegten Typen- und Methodendeklarationen

• Bei strukturierten Objekten bestehen dabei 2 Arten von Relationen zu dessen Komponenten:

• Besitzrelation: Das Unterobjekt ist als Kindobjekt im Elternobjekt verkapselt

• Referenzrelation: das Unterobjekt existiert als unabhängiges Objekt existiert und wird nur referiert

Page 22: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar

Abschlussdiskussion

Gibt es noch Fragen?