Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Objektorientierte Datenbanken zBeim vorigen Mal: yAnfragesprachen: SQL (kurz) yMehrbenutzerbetrieb und Sperren yTransaktionen yAnbindung an Programmiersprachen.

Ähnliche Präsentationen


Präsentation zum Thema: "Objektorientierte Datenbanken zBeim vorigen Mal: yAnfragesprachen: SQL (kurz) yMehrbenutzerbetrieb und Sperren yTransaktionen yAnbindung an Programmiersprachen."—  Präsentation transkript:

1 Objektorientierte Datenbanken zBeim vorigen Mal: yAnfragesprachen: SQL (kurz) yMehrbenutzerbetrieb und Sperren yTransaktionen yAnbindung an Programmiersprachen yProbleme der relationalen Datenbanktechnologie zHeute: yObjektorientierte Modellierung Ralf Möller, FH-Wedel

2 Probleme relationaler Datenbanktechnologie zZwar methodisch saubere aber schwierig zu lernende manuelle Umsetzung des Entwurfsmodells (ERM) in das Implementierungsmodell zZersplitterung von „zusammengehörigen Daten“ durch Normalisierung zJoins bei navigierendem Zugriff sehr aufwendig zProbleme bei Änderung des Datenmodells wegen fehlender Kapselung zImpedance Mismatch zSprache für Integritätsbedingungen meist schwach (hier nicht vertieft)

3 „Zersplitterung“: Pointierte Darstellung zRelationale Modellierung bedingt folgende Sicht: zBevor ein Auto in der Garage abgestellt werden kann, muß es in seine tausend Einzelteile zerlegt und in den dafür vorgesehenen Fächern ablegt werden. Bevor es wieder benutzt werden kann, ist ein komplizierter Zusammenbau erforderlich.

4 Impedance Mismatch zDatenmodellierungsform in Programmiersprachen paßt nicht zu Form in Datenbanken zProgrammiersprachen: yRecord/Tupelorientiert yMit hoher Frequenz einfache Operationen durchführen zDatenbanksysteme: Mengenorientiert yMit niedriger Frequenz komplexe Operationen durchführen [F. Matthes, J.W. Schmidt]

5 Objektorientierte Modellierung (1) zWas ist ein Objekt? Zusammensetzung von Daten und Operationen yTeile der Zusammensetzung sind durch Attribute gekennzeichnet yObjekte haben einen Zustand yZugriff nur über wohldefinierte Schnittstellen (Kapselung) yObjektspezifische Operatoren zObjekte bekommen automatisch eine Identifikation (OID) zOrthogonalitätsprinzip yZusammengesetzte Daten wie Elementardaten behandeln soweit sinnvoll yTeile (Attributwerte) können wieder Objekte sein

6 Objektorientierte Modellierung (2) zSetze- und Erfragefunktionen für Attributwerte als Spezialfall objektspezifischer Operationen zAktivierung von Operationen durch Nachrichten zSoftware-Engineering-Prinzipien yKapselungsprinzip: Wer darf welche Attribute wo sehen/ändern? yWer darf welche Nachricht an wen senden? zInterne Sicht (Attribute) vs. Externe Sicht (Nachrichten) yExterne Sicht bedingt höheren Ressourcenverbrauch zFestlegung der Attribute und Operatoren nicht für genau ein Objekt, sondern für eine Menge von Objekten gleicher Art zEine solche Menge von Objekten gleicher Art heißt Klasse (vgl. Entity in ERM)

7 Unified Modeling Language (UML) zDer UML-Teil dieser Vorlesung enthält Material von Eckhardt Holz, Humboldt-Universität Berlin zAls detaillierter Referenz sei auch „The Unified Modeling Language – Reference Manual“ empfohlen

8 UML Konzepte zObjekte / Instanzen einer Klasse zKlassen beschreiben die statische Struktur von Objekten / Instanzen zKlassen sind gekennzeichnet durch: yName (aus dem Vokabular der Problemdomäne gewählt) yAttribute (beschreiben die Struktur der Instanzen einer Klasse) yOperationen (beschreiben das Verhalten der Instanzen einer Klasse) zObjekte erzeugen: Instantiieren yAutomatische Vergabe einer OID

9 Statische Strukturdiagramme (1)

10 Basis-Datentypen zBeschreibung des Wertebereich von Attributen yInteger, short,... yReal yString y...

11 Funktionalität ohne Struktur: Interfaces zNur Beschreibung der Nachrichten die an Objekte gesandt werden können, die das Interface implementieren (d.h. des Protokolls, das die Objekte unterstützen) zKeine Beschreibung der Struktur der Objekte zAuswahl der konkreten Struktur nach pragmatischen Gesichtspunkten zur Erzeugungszeit einer Instanz

12 Statische Strukturdiagramme (2)

13 Relationen: Graphische Notation z Komposition Vgl. Relationships in ERM

14 Relationen: Beispiel für Komposition

15 Relationen in Strukturdiagrammen: Bedeutung zAssoziationen, Aggregationen und Komposition modellieren auf Klassenebene Beziehungen zwischen Instanzen (der beteiligten Klassen) zGeneralisierungen modellieren Beziehungen zwischen Klassen (d.h. Mengen von Instanzen) zAbhängigkeiten haben keine wohldefinierte Semantik

16 Relationen: detailliertere Beschreibung zMultiplizität gibt an, wieviel Objekte an der Relation beteiligt sind zNavigierbarkeit beschränkt den bidirektionalen Charakter von Relationen zConstraints beschränken den Gültigkeitsbereich von Relationen zRollennamen beschreiben die Endpunkte der Relation

17 Relationen: Multiplizitäten

18 Klassen und Objektdiagramme (Beispiel) Erbringt Kostet

19 Multiplizität zJedes Element von Klasse A steht mit mindestens i Elementen der Klasse B in Beziehung z... und mit maximal j vielen Klasse-B-Elementen zAnaloges gilt für das Intervall k..l zMultiplizitätsangabe ist analog zur Funktionalitätsangabe im ER-Modell yNicht zur (min,max)-Angabe: Vorsicht!

20 Klassen und Assoziationen

21 Aggregation

22 Begrenzungsflächenmodellierung von Polyedern

23

24 Mehrstellige Relationen

25 Generalisierung zGeneralisierung ist eine Relation zwischen einer Superklasse und ihren Subklassen. zZwei Mechanismen: yGeneralisierung ySpezialisierung zGemeinsame Attribute, Operationen und Relationen werden auf dem höchsten anwendbaren Hierarchieniveau gezeigt zGeneralisierungen können Namen haben (!)

26 Generalisierung (Beispiel)

27 Abstrakte Klassen zDienen auf Modellierungsebene zur Beschreibung gemeinsamer Eigenschaften (Attribute und Operationen) zWerden nicht instantiiert

28 Generalisierung: Constraints zoverlapping, disjoint zcomplete, incomplete

29 Generalisierung und Vererbung zAttribute yVererbung „nach unten“ ySichtbarkeit steuerbar (public, protected, private) zOperationen yVererbung „nach unten“ yDynamisches Binden bei Operationen mit gleichem Namen in Unterklasssen xspeziellste Operation (zuerst) anwenden

30 Assoziationen: Constraints zSubset z...

31 Zusammenfassung, Kernpunkte zUML-Objektbegriff, statische Struktur zObjektorientierte Modellierung auf Entwurfsebene yKlassen und Instanzen xAttribute (inkl. Sichtbarkeit) xMethoden yKlassenbeziehungen xGeneralisierung, Zerlegung yAuf Klassenebene beschriebene Instanzenbeziehungen xRelationen: Komposition, Aggregate, Assoziationen

32 Was kommt beim nächsten Mal? zObjektorientierte Modellierung, Teil 2 zUmsetzung in Implementierungsmodell: Java


Herunterladen ppt "Objektorientierte Datenbanken zBeim vorigen Mal: yAnfragesprachen: SQL (kurz) yMehrbenutzerbetrieb und Sperren yTransaktionen yAnbindung an Programmiersprachen."

Ähnliche Präsentationen


Google-Anzeigen