Universität Dortmund Fachbereich Informatik, Lehrstuhl 6 Prof. Dr. Norbert Fuhr Informationssysteme (WS 2001/2002) Prof. Dr. Norbert Fuhr Leitung der Übungen: Christian Altenschmidt und Ralf Menzel Übungsblatt Nr. 4 Abgabetermin: 20. November 2001, 1200 Uhr, Briefkasten 36 Aufgabe 1 (Isomorphietreue von relationalen Anfragen) Jede relationale Anfrage Q muss isomorphietreu sein. Das heißt, falls es zu zwei Instanzen M = (d, r1 , . . . , rn ) und M 0 = (d0 , r10 , . . . , rn0 ) eine Bijektion h : d → d0 gibt, für die h[M ] = M 0 gilt, so muss auch h[Q(M )] = Q(M 0 ) gelten. Gegeben sei folgende Instanz einer Datenbank: spielt Musiker Mensch Peter Peter Tristan Tristan Instrument Gegenstand Trompete Pauke Triangel Trompete Zeigt, dass es keine relationale Anfrage gibt, die zu dieser Instanz das folgende Ergebnis liefert: ? Musiker Mensch Tristan Peter Peter Instrument Gegenstand Pauke Triangel Pauke Hinweis: Jeder Automorphismus ist ein Isomorphismus. Punkte 3 Aufgabe 2 Gegeben sei folgendes relationales Datenbankschema: RS = hhschöner | {schön, hässlich} | i, henthält | {Mischfarbe, Grundfarbe} | i | | i mit der Menge der Konstanten C = {rot, grün, blau, gelb, orange, pink, violett, weiß, schwarz}. Außerdem sei folgende Instanz gegeben: 1 Informationssysteme Übungsblatt Nr. 4 schöner schön rot gelb blau blau gelb schwarz violett hässlich pink grün gelb grün rot weiß grün enthält Misch pink pink grün grün orange orange Grund weiß rot blau gelb rot gelb Zusätzlich seien noch folgende relationale Ausdrücke gegeben: • Φ1 = σschön=s (schöner 1 πq (schöner)) q(hässlich) = schön, q(s) = hässlich • Φ2 = γ(πq1 (schöner) + πq2 (schöner)) q1 (X) = schön, q2 (X) = hässlich • Φ3 = schöner 1 πq (enthält) q(schön) = Mischfarbe, q(hässlich) = Grundfarbe 1. Berechnet die jeweiligen Domänen der relationalen Ausdrücke. 2. Gebt umgangssprachlich die Bedeutung der oben angegebenen relationalen Ausdrücke an. 3. Was liefert eval(Φi )(C, schöner, enthält) für i = 1, 2, 3? Punkte 2 + 2 + 2 = 6 Aufgabe 3 Betrachtet das Datenbankschema RS = hhAuftrag | {Kunde, Sorte, Anzahl, Brauerei} | i, hArt | {Sorte, Fl-Gr, Alkohol, Hopfen, Malz, Brauerei} | i | | i. Gegeben sei folgende Instanz zu oben angegebenem Schema: Auftrag Art Kunde String Imaginär Minus Minus Maxidurch Flop Flop Sorte String Pils Light Light Light Frei Alt Weizen Fl-Gr MiLiter 500 500 333 333 333 500 1000 Sorte String Light Weizen Alt Frei Pils Weizen Anzahl Liter 600 1000 330 500 600 600 Alkohol Vol-%‰ 49 29 29 29 6 49 38 Brauerei String Suff Bayernbräu Suff Schwips Bayernbräu Bayernbräu Hopfen mg 360 345 230 230 200 330 600 2 Malz mg 330 345 230 230 490 360 600 Brauerei String Schwips Suff Suff Schwips Bayernbräu Suff Bayernbräu Informationssysteme Übungsblatt Nr. 4 1. Gebt an, welche der folgenden semantischen Bedingungen erfüllt sind und welche nicht: • • • • • Sorte → Alkohol π{Sorte,Brauerei} (Auftrag) ⊆ π{Sorte,Brauerei} (Art) Sorte, Fl-Gr → Hopfen Alkohol ⇒ ⇒ Sorte, Brauerei | Fl-Gr, Hopfen, Malz Brauerei ⇒ ⇒ Sorte, Fl-Gr | Alkohol, Hopfen, Malz 2. Gebt selbst noch zwei nichttriviale semantische Bedingungen an, die von dieser Datenbankausprägung erfüllt werden. Punkte 3 + 3 = 6 Aufgabe 4 (Semantische Bedingungen) In den meisten Datenbanksystemen können nur wenige Arten von semantischen Bedingungen spezifiziert werden. Oft können nicht einmal beliebige funktionale Bedingungen verwendet werden. Wenn bestimmte semantische Bedingungen nicht durch das Datenbanksystem sichergestellt werden, bleibt bisweilen keine andere Wahl, als „von Hand“ zu überprüfen, ob die Bedingungen erfüllt sind. Eine Datenbank enthalte u. a. die Relationen r und s. Die dazugehörigen Schemas sind R und S. Für die Relation r sei die funktionale Abhängigkeit A, B → C gefordert ({A, B, C} ⊆ dom r). Außerdem soll für die Relationen r und s die globale Enthaltenseinsbedingung π{A,B} (R) ⊆ π{E,F} (S) gelten ({E, F} ⊆ dom s). 1. Welcher relationale Ausdruck liefert genau dann ein leeres Ergebnis, wenn r die funktionale Bedingung erfüllt? 2. Welcher relationale Ausdruck liefert genau dann ein leeres Ergebnis, wenn die Enthaltenseinsbedingung erfüllt ist? Punkte 2 + 2 = 4 Aufgabe 5 (Benutzung von Oracle) Für die Eingabe in Oracle-Datenbanksysteme steht das Programm sqlplus zur Verfügung (s. http://ls6-www/ir/teaching/lectures/is_ws01-02/). 1. Legt mit Hilfe von sqlplus Tabellen für folgendes ER-Schema an. Wie lauten die notwendigen SQL-Befehle? @ @ Nachname Sprache Tourist Vorname @ Beruf Einwohnerzahl H HH Reiseplan H H H HH HH Kosten 3 Name Land Fläche Informationssysteme Übungsblatt Nr. 4 2. Gebt folgende Änderungen in die Datenbank ein: • Meschede hat 32.679 Einwohner und eine Fläche von 219 km2 . • Die Bahamas haben 301.000 Einwohner und eine Fläche von 13.878 km2 . • Spanien hat 39.181.114 Einwohner und eine Fläche von 504.750 km2 . • Die Abteilungsleiterin Maria Meier plant für 5.000 DM eine Reise nach Spanien. Außer ihrer Muttersprache Deutsch spricht sie noch fließend Englisch und ein wenig Spanisch. • Der Bankräuber Stefan Schulze ist nach seinem letzten Banküberfall auf der Flucht. Er hat vor, die Beute im Wert von 22.548 DM vollständig auf den Bahamas zu verprassen. Leider spricht er keine Fremdsprachen, sodaß er sich wohl mit Deutsch durchschlagen muß. • Herr Martin Müller, der Theaterdirektor, ist in Meschede im Sauerland zur Schule gegangen und hat dort Englisch und Französisch als Fremdsprachen gelernt. Heute wohnt er in München. Er plant, seinen alten Englischlehrer zu besuchen und kauft für 448 DM eine Bahnfahrkarte. Protokolliert Eure Eingaben und die Ausgaben von sqlplus mit dem Programm script. Punkte 4 + 2 = 6 4