![Page 1: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/1.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/2.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/3.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/4.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/5.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/6.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/7.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/8.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/9.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/10.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/11.jpg)
![Page 12: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/12.jpg)
![Page 13: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/13.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/14.jpg)
![Page 15: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/15.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/16.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/17.jpg)
![Page 18: Objektorientierte Datenbanken Referat von Paul van Hemmen Institut für Historisch-kulturwissenschaftliche Informationsverarbeitung WS 2009/2010 Seminar](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/18.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/19.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/20.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/21.jpg)
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](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6349795902118b7aee/html5/thumbnails/22.jpg)
Abschlussdiskussion
Gibt es noch Fragen?