Upload
hartwig-eber
View
105
Download
0
Embed Size (px)
Citation preview
Objektorientierte Datenbanken
Referat von Paul van Hemmen
Institut für Historisch-kulturwissenschaftliche InformationsverarbeitungWS 2009/2010
Seminar „Datenbanken vs. Markup“Dozent: Prof. Dr. M. Thaller
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
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é
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.
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
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
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
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)
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
Objektstruktur am Beispiel einer Datenbank „Firma“
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
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
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
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
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
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
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
Abschlussdiskussion
Gibt es noch Fragen?