Aufgaben zur Klausur in Objektorientierte Datenbanken

Werbung
Fachhochschule Wedel
24.08.2005
Prof. Dr. Sebastian Iwanowski
Aufgaben zur Klausur in
Objektorientierte Datenbanken (SS 2005)
Zeit: 60 Minuten,
erlaubte Hilfsmittel: keine
Bitte tragen Sie Ihre Antworten und fertigen Lösungen auf gesonderten Blättern ein.
Vergessen Sie nicht, das Deckblatt auszufüllen und zu unterschreiben.
Für die Klausur werden insgesamt 34 Bewertungseinheiten (BE) vergeben. Zum Bestehen
benötigen Sie mindestens 17 BE.
Viel Erfolg !
1. Aufgabe (4 BE), Thema: Datenmodellierung
a) Geben Sie jeweils eine Begründung dafür an, warum für die Softwareentwicklung die
objektorientierte Modellierung und für Datenbanken die relationale Modellierung
bevorzugt wird! (Schlagworte reichen)
b) Erklären Sie das Impedance Mismatch: Welche Anforderungen bezüglich Datenänderungen
stehen jeweils bei der Softwareentwicklung und bei Datenbanken im Vordergrund!
2. Aufgabe (3 BE), Thema: ODMG
a) Im Bibliotheksbeispiel (siehe Anhang) darf ein Leser mehrere Ausleihen vornehmen.
Wie modelliert man in ODMG diesen Sachverhalt? (nur für die Klasse Leser)
b) Geben Sie eine Java-Modellierung für die Klasse Leser an und nennen Sie, welcher
Aspekt ungenauer als in ODMG spezifiziert ist.
3. Aufgabe (4 BE), Thema: Persistenzkonzepte
a) Nennen Sie die drei unterschiedlichen Typen der Persistenz durch Erreichbarkeit bei
JDO (mit stichwortartiger Funktionsbeschreibung)!
b) Auf welche Weise kann man in JDO den Erreichbarkeitstyp einstellen? (keine genaue
Syntax erforderlich)
4. Aufgabe (3 BE) Thema: Transaktionskonzepte
Wann werden Lese- und Schreibsperren bei optimistischen Transaktionen vorgenommen?
Erklären Sie den Vorteil dieses Konzepts gegenüber pessimistischen Transaktionen!
5. Aufgabe (8 BE), Thema: Anfragesprachen
Betrachten Sie eine objektorientierte Modellierung des ER-Modells aus dem
Bibliotheksbeispiel: Jede Entity sei als Klasse deklariert mit den dort definierten Attributen,
ebenso die Relation Ausleihe. Die Beziehungen seien ebenfalls als Attribute deklariert
mit den dort definierten Referenznamen und Kardinalitäten. Außerdem dürfen Sie
Variablen verwenden, die den Extent einer Klasse enthalten, z.B. alleBuecher für den
(Bitte wenden!)
Extent der Klasse Buch.
-1-
a) Formulieren Sie die jeweiligen OQL- und JDOQL-Aufrufe für die Frage nach allen
Lesern, die an der Bibliothek mit Namen „FHWB“ ein Buch mit Titel „JDO“ ausgeliehen
haben! (Sie brauchen nur die Frage bzw. den Filter zu formulieren) (6 BE)
b) Nennen Sie einen Vorteil von OQL und einen Vorteil von JDOQL im Vergleich zur
jeweils anderen Anfragesprache!
(2 BE)
6. Aufgabe (6 BE), Thema: Lebenszykluszustände
a) Erklären Sie die Bedeutung des Zustands hollow!
b) Geben Sie eine typische Situation an, durch die ein Objekt in den Zustand hollow
gelangt und eine, durch die ein Objekt den Zustand hollow wieder verlässt!
c) Nennen Sie einen Vorteil des Arbeitens mit dem Zustand hollow gegenüber ODMG
sowie einen Nachteil gegenüber Hibernate!
7. Aufgabe (2 BE), Thema: Hibernate
a) Nennen Sie einen Vorteil und einen Nachteil von JDBC im Vergleich zu
objektorientierten Datenbanken!
b) Welchen Vorteil bietet einem Hibernate im Vergleich zu JDBC? (Stichwort reicht)
8. Aufgabe (4 BE), Thema: Hibernate
a) Nennen Sie die Analoga von HQL und Criteria unter den Anfragesprachen für
objektorientierte Datenbanken!
b) Nennen Sie einen wesentlichen konzeptionellen Unterschied zwischen HQL und SQL!
c) Nennen Sie jeweils einen Vor- und einen Nachteil von Hibernate gegenüber JDO!
Bibliotheksbeispiel
Titel
Name
Leser
Straße
entleiht
Buch
1
1
wirdEntliehen
n
n
Buch
Person
Ausleihdatum
Rückgabedatum
ISBN-Nr
Ausleihe
Ort
verleiht
n
1
Name
Bibliothek
Straße
-2-
Herunterladen