Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.

Post on 05-Apr-2015

109 views 1 download

Transcript of Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.

Objektorientierte DBMSObjektorientierte DBMSKlassen und BeziehungenKlassen und Beziehungen

Seminar: Verteilte Datenbanken

Manuela Fischer

22ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Definition ODBMSDefinition ODBMS

„ Ein ODBMS ist ein DBMS, das ein Objektdatenbankmodell unterstützt.“

[Saake: Objektdatenbanken]

33ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

ObjektdatenbankmodellObjektdatenbankmodell

Keine DefinitionKeine Definition

Festlegung von Kriterien im ODBMS-Festlegung von Kriterien im ODBMS-ManifestoManifesto

2 Klassen:2 Klassen: OO EntwurfsmodellOO Entwurfsmodell OO ImplementierungsmodellOO Implementierungsmodell

44ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

ODBMS - ManifestoODBMS - Manifesto

Kriterienliste für ODBSKriterienliste für ODBS

Unterscheidung zwischen notwendigen Unterscheidung zwischen notwendigen und optionalen Bestandteilenund optionalen Bestandteilen

Notwendige Bestandteile:Notwendige Bestandteile: Komplexe Objekte, Objektidentität,Kapselung, Komplexe Objekte, Objektidentität,Kapselung,

Typen und Klassen, Klassen- oder Typen und Klassen, Klassen- oder Typhierarchie, Overriding, Overloading, Late Typhierarchie, Overriding, Overloading, Late Binding, Berechnungsvollständige Binding, Berechnungsvollständige ProgrammierspracheProgrammiersprache

55ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Weitere KriterienWeitere Kriterien

IntegritätIntegrität

SichtenSichten

SchemaevolutionSchemaevolution

ZugriffskontrolleZugriffskontrolle

66ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Klassen und Klassen und BeziehungenBeziehungen

Begriffe:Begriffe:

ObjektObjekt

AttributAttribut

MethodeMethode

ObjekttypObjekttyp

ObjektidentifikatorObjektidentifikator

77ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Definition KlassenDefinition Klassen

„ „ Gruppe von Objekten mit gleichen Gruppe von Objekten mit gleichen Merkmalen (Attributen) und gleichem Merkmalen (Attributen) und gleichem Verhalten (Methoden).“Verhalten (Methoden).“

[Saake: Objektdatenbanken]

88ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Intension einer KlasseIntension einer Klasse

Beschreibung der Merkmale und Beschreibung der Merkmale und des Verhaltens ihrer Objektedes Verhaltens ihrer Objekte

zusätzliche Definition von zusätzliche Definition von Integritätsbedingungen möglichIntegritätsbedingungen möglich

99ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Extension einer KlasseExtension einer Klasse

Menge der aktuell existierenden Menge der aktuell existierenden Objekte dieser KlasseObjekte dieser Klasse

Bestimmte Extension an bestimmten Bestimmte Extension an bestimmten Zeitpunkt gebundenZeitpunkt gebunden

1010ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

KlassenzugehörigkeitKlassenzugehörigkeit

InstantiierungInstantiierung

ObjektmigrationObjektmigration

RollenRollen

Implizite KlassenzuordnungImplizite Klassenzuordnung

1111ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Klassen im Klassen im EntwurfsmodellEntwurfsmodell

Projekt

ProjektID

Bezeichnung

Status

Beginn

Ende

start

ende

neues_mitglied

ist_mitglied

Klassenname

Methodennamen

Attributnamen

1212ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Klassen im Klassen im ImplementierungsmodellImplementierungsmodell

Class Class ProjektProjekttype tuple type tuple (ProjektID: (ProjektID: char(8),char(8),

Bezeichnung: Bezeichnung: stringstring,,Status: Status: enumenum(in_Planung,(in_Planung,

in_Arbeit,in_Arbeit, fertig),fertig),

Beginn: Beginn: datedate,,Ende: Ende: datedate,,

method public method public start: start: booleanboolean,, ende: ende: booleanboolean,, neues_mitglied(m: Mitarbeiter),neues_mitglied(m: Mitarbeiter), ist_mitglied(m: Mitarbeiter):ist_mitglied(m: Mitarbeiter):booleanboolean

endend;;

1313ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

BeziehungenBeziehungen

Klassenbeziehung entspricht Klassenbeziehung entspricht Objektbeziehung auf InstanzenebeneObjektbeziehung auf Instanzenebene

Unterschiedliche Beziehung zwischen Unterschiedliche Beziehung zwischen denselben Klassen möglichdenselben Klassen möglich

Namen der Richtung festlegtNamen der Richtung festlegt

1414ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Beziehungen im Beziehungen im EntwurfsmodellEntwurfsmodell

Mitarbeiter

MitarbeiterNrNameVorname…

ProjektProjektIDBezeichnungStatus…

startende…

leitet

Beziehungsname

1515ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Beziehungen im Beziehungen im ImplementierungsmodellImplementierungsmodell

classclass Mitarbeiter Mitarbeiter

typetype tupletuple (MitarbeiterNr: (MitarbeiterNr: integerinteger,,

leitet: Projekt,leitet: Projekt,

...)...)

endend;;

classclass Projekt Projekt

typetype tupletuple (ProjektID: (ProjektID: char(8),char(8),

wird geleitet: Mitarbeiter,wird geleitet: Mitarbeiter,

...)...)

endend;;

1616ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Stelligkeit von Stelligkeit von KlassenbeziehungenKlassenbeziehungen

Stelligkeit: Anzahl, der an der Stelligkeit: Anzahl, der an der Beziehung beteiligten KlassenBeziehung beteiligten Klassen

Unterscheidung: zweistellig, Unterscheidung: zweistellig, dreistellig, mehrstelligdreistellig, mehrstellig

beteiligte Klassen müssen nicht beteiligte Klassen müssen nicht unterschiedlich seinunterschiedlich sein

1717ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Kardinalität von Kardinalität von KlassenbeziehungenKlassenbeziehungen

Kardinalität: Angabe, wie oft ein Kardinalität: Angabe, wie oft ein Objekt mit anderen Objekten in Objekt mit anderen Objekten in Beziehung stehen darf oder mussBeziehung stehen darf oder muss

Untere Schranke: meist Untere Schranke: meist 00 oder oder 11Obere Schranke: meist Obere Schranke: meist 11 oder oder nn

!!! !!! Wert der oberen Schranke immer Wert der oberen Schranke immer größer als Wert der unteren größer als Wert der unteren SchrankeSchranke!!!!!!

1818ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Kardinalität im Kardinalität im EntwurfsmodellEntwurfsmodell

Mitarbeiter

MitarbeiterNrNameVorname

Projekt

ProjektIDBezeichnungStatusBeginnEnde

start

ende

leitet

1 0-3

Kardinalitäten

1919ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Referentielle IntegritätReferentielle Integrität

Verletzung durch Löschen von Verletzung durch Löschen von Objekten die referenziert werdenObjekten die referenziert werden

Vermeidung des Problemes:Vermeidung des Problemes: Verbieten ungültiger ReferenzenVerbieten ungültiger Referenzen Verhindern ungültiger ReferenzenVerhindern ungültiger Referenzen Automatische Entdecken und Löschen Automatische Entdecken und Löschen

von ungültigen Referenzenvon ungültigen Referenzen

2020ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

AggregationsbeziehungeAggregationsbeziehungenn

= Enthaltenseinsbeziehung= Enthaltenseinsbeziehung

= part-of-Beziehung= part-of-Beziehung

Objektebene: Objekt entkält anderes Objektebene: Objekt entkält anderes als Komponenteals Komponente

KomponentenobjektKomponentenobjekt

AggregatobjektAggregatobjekt

2121ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

AggregationsbeziehungeAggregationsbeziehungenn

transitiv, asymmetrisch, irreflexivtransitiv, asymmetrisch, irreflexiv

Unterscheidung: gemeinsames oder Unterscheidung: gemeinsames oder privates Komponentenobjektprivates Komponentenobjekt

Unterscheidung: unabhängiges oder Unterscheidung: unabhängiges oder abhängiges Komponentenobjektabhängiges Komponentenobjekt

2222ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

LiteraturverzeichnisLiteraturverzeichnis

Saake, Türker, Schmitt: Saake, Türker, Schmitt: ObjektdatenbankenObjektdatenbanken

Heuer: Objektorientierte Heuer: Objektorientierte DatenbankenDatenbanken

Schader: Objektorientierte Schader: Objektorientierte DatenbankenDatenbanken