Objektorientierte Datenbanken

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Prüfung objektorientierter Programme -1
Frame-Logik Eine Einführung Andreas Glausch.
Warum Objektorientierung?
Kapitel 4 Datenstrukturen
Ein Entity Relationship Diagramm zur ADB/NDB
Das Entity-Relationship-Modell
Universität Paderborn
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Objektorientierter Entwurf (OOD) Übersicht
FH-Hof Einbindung von JavaScript Anweisungen
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Grundlagen der Objektorientierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Konstruktoren.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Kann eine XML-Datenbank temporal sein? Universität zu Köln Hauptseminar: Datenbanken vs. Markup Dozent: Prof. Dr. Manfred Thaller Referentin: Cigdem Varol.
Was ist ein kognitives System?
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Programmieren mit JAVA
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.
DVG Klassen und Objekte
RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete.
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
UML Begleitdokumentation des Projekts
Visualisierung objektrelationaler Datenbanken
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Einführung in die Programmierung
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Typo3 Templates und TypoScript
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Datenbanken Datenstrukturen.
Allgemeines zu Datenbanken
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Java Programmierung.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.
RelationentheorieObjektorientierte Datenbanken  AIFB SS Grenzen relationaler Datenbanksysteme (1/2) Eine Reihe von Anwendungsgebieten, insbesondere.
Motivation Motivation für objektorientierte DBMS (ODBMS): –„Impedance Mismatch“ zwischen relationalem Datenmodell und Programmiersprachen-Datenmodell erfordert.
RelationentheorieObjektorientierte Datenbanken  AIFB SS C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,
(Syntax, Strings/Zahlen, Variablen, Arrays)
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Einführung in die Programmierung mit Java
Modellierung der Wirklichkeit
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
OO-Programmierung & Vererbung
 Präsentation transkript:

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

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 Methoden Die 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 constructor v 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 Objekte v = {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 Objekte Zwei 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?