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

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

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

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

Objektorientierte DBMSObjektorientierte DBMSKlassen und BeziehungenKlassen und Beziehungen

Seminar: Verteilte Datenbanken

Manuela Fischer

Page 2: Objektorientierte DBMS Klassen 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]

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

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

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

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

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

55ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Weitere KriterienWeitere Kriterien

IntegritätIntegrität

SichtenSichten

SchemaevolutionSchemaevolution

ZugriffskontrolleZugriffskontrolle

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

66ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Klassen und Klassen und BeziehungenBeziehungen

Begriffe:Begriffe:

ObjektObjekt

AttributAttribut

MethodeMethode

ObjekttypObjekttyp

ObjektidentifikatorObjektidentifikator

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

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]

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

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

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

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

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

1010ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

KlassenzugehörigkeitKlassenzugehörigkeit

InstantiierungInstantiierung

ObjektmigrationObjektmigration

RollenRollen

Implizite KlassenzuordnungImplizite Klassenzuordnung

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

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

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

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;;

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

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

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

1414ODBMS Klassen und BeziehungenODBMS Klassen und BeziehungenManuela Fischer

Beziehungen im Beziehungen im EntwurfsmodellEntwurfsmodell

Mitarbeiter

MitarbeiterNrNameVorname…

ProjektProjektIDBezeichnungStatus…

startende…

leitet

Beziehungsname

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

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;;

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

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

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

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!!!!!!

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

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

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

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

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

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

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

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

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

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