RelationentheorieObjektorientierte Datenbanken AIFB SS2001 1 6.2.3 Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben.

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

C Sharp (C#) Martin Saternus Senior Student Partner
ER-Modell: Objekte und Klassen
Imperative Programmierung
Programmierung 1 - Repetitorium
Objektorientierte Programmierung
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Datenmodellierung Externe Phase Informationsstruktur
Objektorientierte Datenbanken
B-Bäume.
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Kapitel 4 Datenstrukturen
Objektorientierter Entwurf
Objektorientierter Entwurf (OOD) Übersicht
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
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,
Objektorientierte Konzepte und Notation in UML
Diskrete Mathematik I Vorlesung Arrays-
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.
Objektorientierte Programmierung
RDF-Schema Seminar: „Semantic Web“ André Rosin,
DVG Klassen und Objekte
1 Kapitel 16: Objektorientierte Datenbanken Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück
Weiteres Programm Studium des Breitendurchlaufs Hierzu
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Vorüberlegung Frühere Forderung: Möglichst alle im konzeptuellen Schema ausdrückbaren Sachverhalte sollen sich im logischen Schema wiederfinden. Forderung.
Polymorphe Konsistenzbedingungen (1)
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
RelationentheorieObjektorientierte Datenbanken AIFB SS Die Anbindung an Programmiersprachen (1/2) Prinzip und Zielsetzung der Sprachanbindungen.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Entwurfs- und Implementationsdiagramme
ODL-Spezifikation von Kunde
Fortsetzung DTDs, UML  XML
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
1. Verhalten der Objekte: Operationen Werden in den Klassen definiert Werden (i.d.R.) auf einem Objekt aufgerufen Wird das Empfängerobjekt genannt Weitere.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
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,
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
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.
Abbildung UML-Schema  Rel. Schema (1)
RelationentheorieObjektorientierte Datenbanken  AIFB SS C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,
8.4.3 Übertragung von Beziehungstypen (1|12)
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Java-Kurs Übung Besprechung der Hausaufgabe
ER-Modell Gegeben E: Jedes Entity eines Typs ist eindeutig durch das zugeordnete Tupel beschrieben. (sonst wäre A nicht charakteristisch [genug]
Tutorium Software-Engineering SS14 Florian Manghofer.
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
 Präsentation transkript:

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben werden. Terminologie - Klasse: Typ-Schnittstelle + eine Implementierung - Typ:Typ-Schnittstelle + eine oder mehrere Implementierungen Nur Typ-Schnittstellen werden festgelegt, keine Implementierung - Angaben in der Typ-Schnittstelle: - Typeigenschaften ( Oberklassen, Extent, Schlüssel ), - Objekteigenschaften ( Attribute, Beziehungen ), - Objektoperationen

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (2/24) Die Typ-Schnittstelle interface Typname[ : Supertyp(en)] Typeigenschaften (type properties): extent keys Objekteigenschaften (instance properties): attribute relationship Objektoperationen

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (3/24) Typeigenschaften legen die Klasseneigenschaften fest. Objekteigenschaften und -operationen geben an, wie sich ein Objekt der Klasse verhält. Im folgenden wird der Begriff Klasse anstelle von Typ verwendet (gewohnte OO Begriffswelt) Besonderheiten der ODL: Eine Beziehung (relationships) kann ebenfalls Schlüssel oder Teil eines Schlüssels sein Klassenattribute oder Klassenoperationen können nicht deklariert werden. Keine Unterscheidung zwischen abstrakten und konkreten Klassen.

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (4/24) Festlegen von Klasseneigenschaften Direkte Oberklassen der beschriebenen Klasse Extent der Klasse (Name des Behälters, der alle erzeugten Objekte einer Klasse aufnimmt (i.allg. wird der Plural des Klassennamens dafür verwendet) Schlüssel der Klasse, d.h. Schlüsselattribute & Beziehungen der Klasse, die es erlauben, Objekte der Klasse eindeutig zu identifizieren (Jedes Objekt hat eigene interne OID, d.h. kein Primärschlüssel nötig) (angegeben hinter dem Klassennamen nach: mehrere Oberklassen werden durch Komma getrennt)

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (5/24) Festlegen von Objekteigenschaften und -operationen Attribute der Objekte - Attributtyp - Attributname Beziehungen der Objekte - Assoziationen oder Aggregationen zu Objekten anderer oder der eigenen Klasse - Für jede Beziehung wird die Klasse angegeben, zu deren Objekten die Beziehung bestehen kann, und der Name der Beziehung oder der entsprechende Rollenname - Beziehungen sind binär

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (6/24) Kardinalitäten - 1:1, 1:n, n:m Objektoperationen - Namen - Ein- und Ausgabeparameter mit ihren Typen - Namen für Ausnahmen (exceptions)

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (7/24) Typ-Implementierung definiert die Datenstrukturen, in denen die Objekte physikalisch repräsentiert werden, und die Operationsrümpfe, die auf diesen Datenstrukturen arbeiten. wird in einer Programmiersprache geschrieben Es kann mehrere Implementierungen für ein Objekt geben. Welche Implementierung für ein Objekt verwendet wird, wird zur Erzeugungszeit des Objekts spezifiziert.

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (8/24) ODL-Syntax interface_dcl interfaceidentifierinheritance_spec type_property_list persistent transient : ; interface_body {}

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (9/24) inheritance_spec scoped_name :, type_property_list () extent_speckey_spec

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (10/24) extent_spec identifierextent key_spec key keys,

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (11/24) key scoped_name (), identifier :

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (12/24) Beispiel 6-1: interface Dozent: Person // Person ist Oberklasse ( extent Dozenten // Dozenten enthält alle erzeugten // Objekte von Dozent key Personen_Nummer ) : persistent // Objekte von Dozent { // Eigenschaften(Attribute, //Beziehungen) // Operationen };

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (13/24) Interface_body type_dcl const_dcl except_dcl attr_dcl rel_dcl op_dcl ;

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (14/24) attrib_dcl attributedomain_type readonly identifier pos_int_const []

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (15/24) domain_type simple_type_spec struct_type enum_type Set List Bag Array literal identifier < < > >

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (16/24) Beispiel 6-2: (Fortsetzung von Beispiel 6-1: ) interface Dozent: Person ( extent Dozenten key Dozenten_Nummer ) : persistent { attribute Unsigned_Short Dozenten_Nummer; attribute StringBiographie; attribute Float Umsatz; attribute Bag Praemien; // Multimenge // Beziehungen // Operationen };

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (17/24) rel-dcl Beziehungsdeklaration relationshiptarget_of_pathidentifier inverseinverse_traversal-path order_byscoped_name, [ ]

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (18/24) target_of_path identifier Set List Bag Array identifier <> inverse_traversal-path identifier ::

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (19/24) Eine Beziehungsdeklaration definiert einen Assoziations- oder Aggregationspfad, der durchlaufen werden kann. Pfadausgabe gibt die Zielklasse an, sie enthält - Angaben über den inversen Pfad, der in der Zielklasse enthalten ist (optional). Die inverse Pfadangabe muß auch bei den Eigenschaften der Zielklasse definiert sein. Fehlt der inverse Pfad, so ist die Beziehung unidirektional.

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (20/24) - Ordnungsangaben (optional). Jedes Attribut, das bei order_by angegeben ist, muß deklariert sein. - Kardinalitätsangaben Set, Bag, List, Array Maxkardinalität > 1 (auf der Zielseite) sonst Maxkardinalität =1

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (21/24) op_dcl Operationsdeklaration simple_type_specidentifier onewayvoid param_dcl scoped_name string_literal ( ( ( ) ) ),,, raises context

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (22/24) param_dcl in out inout simple_type_specdeclarator

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (23/24) Beispiel 6-3: (Fortsetzung von Beispiel 6-1: und Beispiel 6-2: ) Attribute interface Dozent: Person ( extent Dozenten key Dozenten_Nummer ) : persistent { // Attribute attribute Unsigned_Short Dozenten_Nummer; attribute String Biographie; attribute Float Umsatz; attribute Bag Praemien; // Multimenge

RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (24/24) Beziehungen // Beziehungen relationship Set kann_fachlich_abhalten inverse Seminartyp :: kann_abgehalten_werden_von ; relationship Set Referent inverse Veranstaltung :: abgehalten_von; relationship Set Seminarleiter inverse Veranstaltung :: geleitet_von; Operationen // Operationen void Praemien_berechnen (out Float Praemie); Geldeinheit Gehalt(); } ;