RelationentheorieObjektorientierte Datenbanken AIFB SS2001 1 6.2.4 Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

C Sharp (C#) Martin Saternus Senior Student Partner
ER-Modell: Objekte und Klassen
Imperative Programmierung
Objektorientierte Datenbanken
der Universität Oldenburg
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA Entity Mapping Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
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
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
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.
SQL als Abfragesprache
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
1 Kapitel 12: Transaktionsverwaltung Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück
1 Kapitel 12: Transaktionsverwaltung. 2 Transaktion Bündelung mehrerer Datenbankoperationen Mehrbenutzersynchronisation Recovery.
Datenbanken 10: Einfügen, Ändern, Löschen
RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben.
Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete.
Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
2.2 Definition eines Datenbankschemas (SQL-DDL)
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
Java Data Objects (JDO) und Implementierung in FastObjects.
objekt-relationale Datenbanken
Datenbankentwicklung IV-LK
Hauptseminar Datenbanksysteme - Datenbanken und XML - Thema: Type-Checking OQL Queries In The ODMG Type Systems.
RelationentheorieObjektorientierte Datenbanken AIFB SS Die Anbindung an Programmiersprachen (1/2) Prinzip und Zielsetzung der Sprachanbindungen.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Punkt-zu-Punkt-Kommunikation Oswald Haan
Datenbank.
Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Allgemeines zu Datenbanken
Relationales Datenmodell und DDL
Ihr Trainer: Gerold Hämmerle
Einfache OQL-Ausdrücke (1) Literale und Objekte können direkt konstruiert werden; gültige Ausdrücke und ihre Typen sind z.B.: "Quader77": string struct(x:1.0,
Benutzerdefinierte Datentypen (1)
Mehrfach-informationen Einfachinformationen
SQL - Structured Query Language  AIFB SS (1|3) 2.1 Allgemeines zu SQL (1|3) Benennung: SQL: „structured query language" ursprünglich: SEQUEL –
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Synchronisation paralleler Transaktionen  AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (2/13) Im folgenden wird ein vereinfachtes.
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 Anfragen auf Sammlungen(1/29) OQL besteht aus einer Menge von Anfrageausdrücken, die.
RelationentheorieObjektorientierte Datenbanken  AIFB SS Der ODMG Standard 6.2 Der ODMG Standard (1/2) Wesentliche Bestandteile des ODMG-93 Standards.
RelationentheorieObjektorientierte Datenbanken  AIFB SS Grenzen relationaler Datenbanksysteme (1/2) Eine Reihe von Anwendungsgebieten, insbesondere.
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
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,
Vordefinierte Datentypen (1)
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Java-Kurs Übung Besprechung der Hausaufgabe
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Objektorientierte Programmierung
 Präsentation transkript:

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal Atomic_literal - [unsigned] long| short - float, double - boolean, octet, char - string, enum collection_literal collection_literal - set, bag, list, array structured_literal structured_literal - date, time, timestamp - interval, struct relationales Modell Literal_type Atomic_literal Atomic_literal - numeric, integer - decimal,smallint - float, real. double - character, string - bit, enum <> structured_literal structured_literal - date,time, timestamp - interval

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell(2/9) Object_type - Atomic_object - Collection (set, bag, list, array)

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (3/9) Literale –haben keine OID (sie werden durch den Wert identifiziert) –wenn möglich auf einen Typ der Programmiersprache abgebildet –Wert ist unveränderbar (immutable objects). Objekte – werden durch OID identifiziert – können weitere Namen haben (aber eindeutig) – Attribute und Beziehungen können sich während der Laufzeit ändern (mutable objects).

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (4/9) Eigenschaften von Sammlungen Klasse Alle Typen der Elemente gleich Elemente geordnet Wie? Duplikate erlaubt Set<> Bag<> List<> Array<> Ja Nein Ja durch Einordnen durch Indizes ____ Nein Ja

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (5/9) Transaktionen Transaktionen werden über eine Klasse Transaction unterstützt. begin(): erzeugt und startet eine Transaktion. Jede Transaktion muss explizit erzeugt und gestartet werden. commit(): Alle während der Transaktion erzeugten oder modifizierten persistenten Objekte werden für umfassende Transaktionen (bei geschachtelten Transaktionen) oder andere Transaktionen und Prozesse zugreifbar. Die Transaktion wird gelöscht und alle Sperren, die durch die Transaktion gesetzt wurden, werden aufgehoben. Diese muß mindestens folgendes unterstützen: Welche in der anwendung verwendet werden kann.

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell(6/9) abort(): bricht Transaktion ab, setzt den Zustand zurück, wie er vor der Transaktion bestand, und hebt alle Sperren auf. checkpoint() : speichert alle Änderungen, ohne den Transaktionskontext zu verlassen; Sperren bleiben erhalten.

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell(7/9) Datenbank Das Erzeugen, Löschen, Verschieben, Kopieren,... einer Datenbank ist nicht im Objektmodell definiert, da es als implementationsspezifisch angesehen wird. wird in der Anwendung über die Klasse Database angesprochen. Database muß folgendes unterstützen: open(in string database_name ): öffnet die Datenbank close() : schließt die Datenbank

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (8/9) lookup(in string object_name) finden eines Objektes : Zugriff auf ein Datenobjekt über seinen Namen bind(in any an_object, in string name) Benennen eines Objektes (Wurzelobjekt) : Zuordnung eines Namens zu einem Objekt move(), copy(), reorganize(), verify(), backup(), restore() implementationsabhängige Verwaltungsoperationen

RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell(9/9) Unterschiede beim relationalen Modell (SQL) Tabelle entspricht einer extent (Ausdehnung), die automatisch vom relationalen DBS verwaltet wird. Auf die Tabellen sind nur vordefinierte Operationen anwendbar. Es gibt kein Konzept, um Pfade zu durchlaufen. Beziehungen werden durch die referentielle Integrität auf den Tabellen definiert. Eine benutzerdefinierbare Unterklassenbildung in der Klassenhierarchie ist nicht möglich. Es können nur vorgegebene Typen verwendet werden.