Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.
-
Upload
chlothar-wettstein -
Category
Documents
-
view
109 -
download
1
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