Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur

Ähnliche Dokumente
Vorlesung Suchmaschinen Semesterklausur Wintersemester 2013/14

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2014

Universität Augsburg, Institut für Informatik Wintersemester 2011/2012 Prof. Dr. W. Kießling 03. Feb Semesterklausur

Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, Uhr Bearbeitungszeit: 90 Minuten

Klausur zur Vorlesung Datenbanksysteme I

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected

Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, Uhr Bearbeitungszeit: 90 Minuten

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Probeklausur Grundlagen der Datenbanksysteme II

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Klausur Datenbanken Wintersemester 2013/2014 Prof. Dr. Wolfgang May 29. Januar 2014, Uhr Bearbeitungszeit: 90 Minuten

Kapitel 10: Relationale Anfragebearbeitung

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger

Indexstrukturen in SQL

Klausur Datenbanken Wintersemester 2011/2012 Prof. Dr. Wolfgang May 8. Februar 2012, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2005/2006 Prof. Dr. Wolfgang May 14. Februar 2006, Uhr Bearbeitungszeit: 90 Minuten

Aufgabe 1: Quer durch Java (5 Punkte) Bearbeiten Sie die folgenden Aufgaben:

Datenbanken: Transaktionskonzept und Concurrency Control

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12

Datenbanksysteme I, SS 2004

Klausur. Betriebssysteme SS 2007

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Musterlösung zur Finalklausur Datenbanksysteme am

Klausur Grundlagen der Datenbanksysteme I zum Erwerb einer Studienleistung / eines Leistungsscheins

Datenbanken 1 Sommersemester 2014/

Klausur Datenbankmanagementsysteme

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Datenbanken. Sommersemester 2010 Probeklausur

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Institut für Informatik

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Klausur Datenbanken Wintersemester 2006/2007 Prof. Dr. Wolfgang May 12. Februar 2007, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2011/2012 Prof. Dr. Wolfgang May 8. Februar 2012, Uhr Bearbeitungszeit: 90 Minuten

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger

Vorlesung Dokumentation und Datenbanken Klausur

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenbanksysteme I Aufgabenblatt 4: SQL

Klausur Datenbanken Wintersemester 2013/2014 Prof. Dr. Wolfgang May 29. Januar 2014, Uhr Bearbeitungszeit: 90 Minuten

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Transaktionen und Synchronisation konkurrierender Zugriffe

Anfrageoptimierung Logische Optimierung

Klausur Algorithmen und Datenstrukturen

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

Kapitel 12 Integrität der Datenbank

Klausur Datenbanken. Fachhochschule Furtwangen, WS 08/09,

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie

FACHHOCHSCHULE MANNHEIM. Hochschule für Technik und Gestaltung. Beispielklausur zur Vorlesung:

Niedersächsisches Kultusministerium Juli 2015

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

Einteilung von Datenbanken

Grundlagen: Datenbanken WS 15/16

Software-Engineering und Datenbanken

Vorlesung Datenbanken I Endklausur

Klausur. Einführung in die Wirtschaftspolitik (AVWL III)

Übungsaufgaben zur Klausurvorbereitung Datenbanken 2, SoSe 2016

Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

Software-Engineering Einführung

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Klausur zur Vorlesung Höhere Mathematik I

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Entwurf und Verarbeitung relationaler Datenbanken

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Übung Datenbanken in der Praxis. Relationale Algebra

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Klausur Datenbanken Wintersemester 2015/2016 Prof. Dr. Wolfgang May 2. März 2016, Uhr Bearbeitungszeit: 90 Minuten

Aufgabe 1 Indexstrukturen

2. Schriftliche Leistungskontrolle (EK)

Probeklausur Datenbanktechnologie

Klausur Datenbanken Wintersemester 2012/2013 Prof. Dr. Wolfgang May 6. Februar 2013, Uhr Bearbeitungszeit: 90 Minuten

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

5. Übungsblatt (Testatwoche: Mai 2010)

FachPraktikum 1590 Erweiterbare Datenbanksysteme. Aufgaben Phase 1

Probeklausur zur Vorlesung Datenbanksysteme II

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs

Vorname: Nachname: Matrikelnummer: Klausur. Betriebssysteme

Fachbereich 5 Wirtschaftswissenschaften Univ.-Prof. Dr. Jan Franke-Viebach

Datenbank- Implementierungstechniken

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Hochschule Karlsruhe Technik und Wirtschaft

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Klausur FHF * WI2 * SS 99. Name:.../ Semester:...

Klausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler

Übungen zu Datenbanksysteme

Klausur zur Veranstaltung "Wirtschaftsinformatik I" Wintersemester 2007/2008

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 18. Juni 2007

Transkript:

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar 2009 Dr. A. Huhn, M. Endres, T. Preisinger Datenbanksysteme I Semesterklausur Hinweise: Die Bearbeitungszeit beträgt 90 Minuten. Verwenden Sie für ihre Lösungen ausschließlich die gehefteten Blätter des Lösungsteils. Die Heftklammern dürfen nicht entfernt werden. Melden Sie sich bei der Aufsicht, falls die Blätter nicht ausreichen sollten! Es sind nur Hilfsmittel in Papierform zugelassen. Benutzen Sie einen dokumentenechten Stift! Verwenden Sie keinen Bleistift! Benutzen Sie außerdem keinen roten und keinen grünen Stift! Überprüfen Sie, ob ihre Platznummer mit der auf der Klausur vermerkten Platznummer übereinstimmt. Melden Sie sich sofort bei der Aufsicht, falls das nicht der Fall sein sollte. Unterschreiben Sie auf dem Deckblatt des Lösungsteils an der vorgesehenen Stelle mit ihrem vollen Vor- und Nachnamen. Schreiben Sie auf jedes Blatt des Lösungsteils ihren Namen und ihre Matrikelnummer. Die Klausur besteht aus 5 Aufgaben mit insgesamt 40 Punkten: 1. Datenbank Allerlei [9 Punkte] 2. ER-Modellierung [6 Punkte] 3. SQL [10 Punkte] 4. Queryoptimierung [8 Punkte] 5. Parallelverarbeitung von Transaktionen [7 Punkte]

Aufgabe 1: Datenbank-Allerlei, 9 Punkte (1+1+1+2+2+2) Beantworten Sie die folgenden Fragen: a) Erläutern Sie den Unterschied zwischen dem 2-Phasen-Commit und dem 2-Phasen-Sperrprotokoll. b) Wie kann man sich gegen Fehler während des Recovery-Vorgangs schützen? c) Gegeben sind die Relationen R, S und T. R A S A 3 7 T A B 3 1 NULL 2 Geben Sie das Ergebnis folgender Query an: SELECT S.A FROM R, S FULL OUTER JOIN T ON S.A = T.A WHERE R.A = S.A d) Erläutern Sie den Zusammenhang und Unterschied zwischen Wartegraphen und Serialisierungsgraphen. e) Erklären Sie kurz mit natürlicher Sprache, wie unter Verwendung von JDBC standardmäßig Transaktionen gehandhabt werden, und wie man explizit Transaktionen durchführen kann. Skizzieren Sie Java-Code, der bei Transaktionen Phantome erlaubt. f) Fügen Sie in einen anfänglich leeren B*-Baum mit k = 1 die aus Schlüssel und Information bestehenden Paare (5, A), (7, B), (9, C), (21, D), (13, E) in dieser Reihenfolge ein. Geben Sie den am Ende entstehenden B*-Baum an.

Aufgabe 2: ER-Modellierung, 6 Punkte (3+2+1) Gegeben ist folgendes ER-Modell (ohne Angabe von Attributen) für eine spezielle Anwendung. Arbeiter arbeitet_in arbeitet_an Projekt hat_sitz_in Ort Abbildung 1: ER-Modell a) Beschreiben Sie das ER-Modell in Abbildung 1 in natürlicher Sprache. b) Untersuchen Sie das ER-Modell in Abbildung 1 auf redundante Relationsships. Begründen Sie Ihre Antwort. c) Erweitern Sie obiges ER-Modell ohne Angabe von Attributen um die Entitätstypen Angestellter und Beschäftigter. Dabei soll gelten, dass Angestellter wie Arbeiter ein Beschäftigter ist. Ein Angestellter darf nicht zugleich auch Arbeiter sein.

Aufgabe 3: SQL, 10 Punkte (1+2+2+2+3) Gegeben ist das folgende Schema einer Film-Datenbank. Auf die Angabe der Domänen wurde aus Gründen der Übersichtlichkeit verzichtet. Filme FilmStar Produzenten (FilmTitel, Jahr, Länge, StudioName, ProduzentNr) (StarName, Adresse) (ProduzentNr, Name, Adresse) Dabei gilt: Unterstrichene Attribute sind Primärschlüssel. Kursiv geschriebene Attribute sind Fremdschlüssel. Formulieren Sie die folgenden Anfragen in SQL: a) Finden Sie den Namen des Produzenten des Films Star Wars. b) Finden Sie alle Film-Stars, die die gleiche Adresse, aber unterschiedliche Namen haben. c) Finde FilmTitel und Länge der Filme, die in den Disney-Studios produziert wurden. Dabei sollen nur Filme berücksichtigt werden, die nach dem Jahr 1970 produziert wurden oder weniger als 90 Minuten dauern. Die FilmTitel sollen alphabetisch sortiert sein, und kürzere Filme sollen zuerst erscheinen. Im Ergebnis sollen die FilmTitel als Name und die Länge als Filmdauer erscheinen. d) Finden Sie die FilmTitel, die für zwei oder mehrere Filme verwendet wurden. e) Finden Sie die Gesamtfilmlänge für die Produzenten, die mindestens einen Film vor 1930 produziert haben.

Aufgabe 4: Queryoptimierung, 8 Punkte (4+2+2) Folgender Ausschnitt aus dem Schema der Film-Datenbank ist gegeben. Auf die Angabe der Domänen wurde aus Gründen der Übersichtlichkeit verzichtet. Filme StarsIn Produzenten (FilmTitel, Jahr, Länge, StudioName, ProduzentNr) (FilmTitel, Jahr, StarName) (ProduzentNr, Name, Adresse) a) Betrachten Sie folgende Query: SELECT DISTINCT * FROM Produzenten P, Filme F, StarsIn S WHERE P.ProduzentNr = F.ProduzentNr AND F.FilmTitel = S.FilmTitel AND F.Jahr = S.Jahr AND S.StarName = Bruce Willis ; i) Geben Sie die kanonische, nicht optimierte Darstellung dieser Anfrage in relationaler Algebra an. ii) Optimieren Sie diesen relationalen Algebraausdruck mit Hilfe des Hill-Climbing Algorithmus aus der Vorlesung. Geben Sie den Operatorbaum nach den Schritten 2 und 5 an. Schritt 3 (Push Projection) brauchen Sie nicht anzuwenden. b) Betrachten Sie folgende Query: SELECT * FROM StarsIn WHERE StarName = Bruce Willis AND Jahr > 1990; Es gelte: Anzahl Tupel: T StarsIn = 500 Anzahl Blöcke: B StarsIn = 50 Cluster-Index auf StarsIn(StarName) mit I StarName = 20 Nicht-Cluster-Index auf StarsIn(Jahr) Ermitteln Sie die kostengünstigste Ausführung obiger SQL-Query. c) Betrachten Sie folgende Query: SELECT S.StarName FROM StarsIn S, Filme F WHERE S.FilmTitel = F.FilmTitel Es gelte: Anzahl Tupel T StarsIn = 500 und Anzahl Blöcke B StarsIn = 50 Anzahl Tupel T Filme = 500 und Anzahl Blöcke B Filme = 10 Anzahl verfügbarer DB-Cache-Blöcke: M = 101 Parameter für Join-Trefferrate: J = 100 Bestimmen Sie die Gesamtkosten für i) Nested-Loop-Join ii) Index-Join. Dabei existieren ein Cluster-Index auf F.FilmTitel mit I F.FilmTitel = 200 und ein weiterer Cluster-Index auf S.FilmTitel mit I S.FilmTitel = 100.

Aufgabe 5: Parallelverarbeitung von Transaktionen, 7 Punkte (5+2) a) Gegeben seien die Datenbankobjekte A und B, die Transaktionen T1, T2, T3, T4 und ein Schedule S. Dabei sind RLOCKs Lesesperren und XLOCKs exklusive Sperren. S = ( RLOCK(A, T3), UNLOCK(A, T3), XLOCK(A, T1), RLOCK(B, T3), UNLOCK(A, T1), XLOCK(A, T2), UNLOCK(B, T3), RLOCK(B, T1), UNLOCK(A, T2), RLOCK(A, T4), UNLOCK(B, T1), XLOCK(B, T2), UNLOCK(A, T4), UNLOCK(B, T2) ) i) Ist S serialisierbar? Begründen Sie Ihre Antwort. ii) Führt oben dargestellter Schedule S zu einem Deadlock? Begründen Sie Ihre Antwort. b) Geben Sie zu folgendem Serialisierungsgraphen mit den Transaktionen T1, T2, T3 und T4 alle äquivalenten seriellen Reihenfolgen an. T 1 T 2 T 4 T 3