Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.

Slides:



Advertisements
Ähnliche Präsentationen
Einführung in die Programmiersprache C/C++
Advertisements

C Sharp (C#) Martin Saternus Senior Student Partner
Imperative Programmierung
Imperative Programmierung
der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Definition von Klassen in Java
Objektorientierte Datenbanken
Konzepte objektorientierter Datenbanken
Objektorientierte Programmierung Definition von Klassen
der Universität Oldenburg
Objektorientierte Datenbanken
Java: Dynamische Datentypen
Java: Grundlagen der Sprache
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.
Objekte und Arbeitsspeicher
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
1 Kapitel 16: Objektorientierte Datenbanken Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück
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.
Abbildungsverfahren (1)
Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete.
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Polymorphe Konsistenzbedingungen (1)
2.2 Definition eines Datenbankschemas (SQL-DDL)
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Hauptseminar Datenbanksysteme - Datenbanken und XML - Thema: Type-Checking OQL Queries In The ODMG Type Systems.
1 Teil I Datenmodelle Kapitel 6: Objektorientierte Anfragesprachen.
Kapitel 5: Das objektorientierte Modell
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
C# Einheitliches Typsystem
ODL-Spezifikation von Kunde
Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Relationales Datenmodell ist beherrschend: –Riesige Datenbestände und damit hohe Investitionen. –Die große Mehrzahl der Anwendungen arbeitet mit weitgehend.
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,
Datentypen Überblick Datentypen Einfache / fundamentale Datentypen
Programmieren in C Grundlagen C 2
Programmiervorkurs WS 2014/15 Instanzmethoden
Benutzerdefinierte Datentypen (1)
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Oberseminar Moderne Datenbanken WS03/04
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Abbildung UML-Schema  Rel. Schema (1)
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)
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
1 Relationale Datenbasisschemata (1) Substitution der Variablen zu Tupel- und Relationstypen. Für das Beispiel: Typ tupel EineArtikelArt ( ANr:Zeichen(8),
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Variablen und Datentypen
ER-Modell Gegeben E: Jedes Entity eines Typs ist eindeutig durch das zugeordnete Tupel beschrieben. (sonst wäre A nicht charakteristisch [genug]
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Java Programme nur ein bisschen objektorientiert.
Konstruktoren.
Einführung in die Programmierung mit Java
Grundkurs Informatik 11-13
Variable: typ varName = Wert Kiste: Art Aufschrift  Inhalt
 Präsentation transkript:

Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine Referenz auf ein Literal möglich  Kopiersemantik. Instanzen von Literal-Typen (sog. Sorten). Objekte: Identität unabhängig vom Wert. Mehrere Referenzen auf ein Objekt möglich  Referenzsemantik. Instanzen von Objekt-Typen (sog. Klassen). Strikte Trennung zwischen Objekt und Literal wird in den einzelnen Sprachanbindungen allerdings oft verwischt.

Objektidentität OID: Repräsentant einer Objektidentität Eindeutig innerhalb der Datenbasis Objektidentität ist orthogonal zu anderen Objekteigenschaften Zum Vergleich: Relational ist Wertbasierter Ansatz Schlüsselattribut Teil des Wertes eines Tupels Wird als Typ eines Attributs ein Objekttyp vereinbart, so werden dem Attribut Referenzen auf Objekte (genauer: deren Identifikatoren) als Wert zugewiesen.

Polymorphes Typsystem für Literale Atomare Typen char,string,long,short,float,double,boolean Atomare Typkonstruktoren enum ::= <string> Strukturierte Typen date, time, timestamp, interval Strukturierte Typkonstruktoren struct ::= [sel:Typ, ..., sel:Typ] set ::= {Typ} bag ::= Typ list ::= <Typ> Typ: Vereinigungsmenge der Literal- und Objekttypen, [] Tupelkonstruktor, {} Mengenkonstruktor,  Multimengenkonstruktor, <> Listenkonstruktor.

ODMG Eingebaute atomare Sorten: Eingebaute strukturierte Sorten: short, long, float, double, boolean, char, string, ... Eingebaute strukturierte Sorten: date, time, timestamp, interval Eingebaute Kollektions-Sorten (t,v beliebige Typen): set<t>, bag<t>, list<t>, array<t>, dictionary<t,v> Benutzerdefinierte Sorten: enum e {v1, ..., vn}: Aufzählung e mit Ausprägungen v1, ..., vn. struct c {A1: t1, ... , An: tn}: Verbund c mit Feldern A1, ..., An. ref C, wobei C Klassenname: Verweis auf Instanz von Klasse C. Elemente von ref-Typen heißen Objekt-Identifikatoren.

Polymorphes Typsystem für Objekte Strukturierte Objekttypen Date, Time, Timestamp, Interval Strukturierte Typkonstruktoren Obj ::= [sel:Typ, ..., sel:Typ] Set ::= {Typ} Bag ::= Typ List ::= <Typ> Datenbankspezifisch und entscheidend für die Skalierbarkeit: Extent-Konstruktor erlaubt es, sämtliche Objekte eines gegebenen Typs in einer eigenen Extension zu sammeln: Extension Extent ::= {Objekttyp}

ODMG Eingebaute strukturierte Klassen: Date, Time, Timestamp, Interval Eingebaute Kollektions-Klassen (t,v beliebige Typen): Set<t>, Bag<t>, List<t>, Array<t>, Dictionary<t,v> Benutzerdefinierte Klassen: Ist C Name, t Verbundstyp, so definiert class C {t} neuen Klassentyp. Instanzen von class C {t} sind Paare (oid,val) (Objekt) mit Identifikator oid  ref C, Zustand val  t. Konvention: Sortennamen werden kleingeschrieben, Klassennamen werden großgeschrieben. Verwendung von Extensionen: Traversieren aller Instanzen einer Klasse, Einstiegspunkt für OQL-Anfragen.