Klausur zur Vorlesung Datenbanksysteme I



Ähnliche Dokumente
Oracle: Abstrakte Datentypen:

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

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

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

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

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

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

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

Java: Vererbung. Teil 3: super()

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken. Sommersemester 2010 Probeklausur

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

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Klausur Interoperabilität

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

3. Stored Procedures und PL/SQL

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

How to do? Projekte - Zeiterfassung

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

7. Übung - Datenbanken

Programmierkurs Java

Vorlesung Dokumentation und Datenbanken Klausur

Ein Ausflug zu ACCESS

macs Support Ticket System

Professionelle Seminare im Bereich MS-Office

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

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

e-books aus der EBL-Datenbank

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Leichte-Sprache-Bilder

Vertraulich. Nachname: Vorname: Matrikel-Nummer: Studiengang: Datum: 30. Januar 2015

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

cs241: Datenbanken mit Übungen HS 2011

JDBC. Allgemeines ODBC. java.sql. Beispiele

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Lehrer: Einschreibemethoden

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 6

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Berechnungen in Access Teil I

my.ohm Content Services Autorenansicht Rechte

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

ACDSee 9 Foto-Manager

Informatik 12 Datenbanken SQL-Einführung

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Datenbanken (Bachelor) (SPO2007) WS 2011/12

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

Erstellen einer digitalen Signatur für Adobe-Formulare

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Hochschule Karlsruhe Technik und Wirtschaft

Adminer: Installationsanleitung

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Abfrage-Befehle in MySQL -diverse Funktionen -

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

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

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Fachhochschule Deggendorf Platzziffer:...


Anleitung Typo3-Extension - Raumbuchungssystem

Rechnung Angebot Zeiterfassung

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Vorlesung Suchmaschinen Semesterklausur Wintersemester 2013/14

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Klausur Software Engineering für WI (EuI)

Oracle SQL Tutorium - Wiederholung DB I -

Views in SQL. 2 Anlegen und Verwenden von Views 2

Anwendungsbeispiele Buchhaltung

Anleitung Abwesenheitsmeldung und -Weiterleitung (Kundencenter)

Probeklausur Softwareengineering SS 15

Erstellen und Bearbeiten von Inhalten (Assets)

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

Anlegen eines DLRG Accounts

Datenübernahme bei Umstieg von T-Online Banking 6 auf Quicken 2010 so wird s gemacht!

Tutorials für ACDSee 12: Hochladen von Fotos auf Ihren Account bei ACDSeeOnline.com

1. Weniger Steuern zahlen

Aufklappelemente anlegen

Artikel Schnittstelle über CSV

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Senioren helfen Junioren

Transkript:

Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe 1 2 3 4 5 6 7 8 Σ Punkte Note: Unterschrift: (Prof. Dr. Werner Kießling)

Aufgabe 1 (Erstellung eines ER-Modells) [8 P] Erstellen Sie ein ER-Modell, das als Basis für eine Rezepteverwaltung dienen kann. Ein Rezept soll dabei aus einem Namen, einer textuellen Anweisung zur Zubereitung und optionalen Angaben zur Dauer der Zubereitung, einer optionalen Beurteilung und einem optionalem Bild bestehen. Natürlich gibt es Beziehungen zu mehreren Zutaten mit Angaben zur Menge (ternäre Relationship). Zutaten sollen im Modell auch unabhängig von den Rezepten existieren. Außerdem soll es möglich sein, Bemerkungen und ein Bild zu jeder Zutat zu speichern. Jede der Zutaten soll einer Zutaten-Kategorie (z.b. Gewürze) zugeordnet sein. Die Zutaten- Kategorien sollen dabei eine Hierarchie bilden. Aufgabe 2 (Umsetzung eines ER-Modells) [4+2 P] Das folgende ER-Modell könnte das in der vorhergehenden Aufgabe erstellte Modell um Angaben zu den "Autoren" und der "Quelle" erweitern. a. Setzen Sie diesen Teil in SQL um. Beachten Sie dabei insbesondere auch die beinhalteten Constraints. b. Wenn möglich, optimieren Sie das entstandene Schema durch geeignete Zusammenfassung von Schemata. Aufgabe 3 (SQL, DRC, TRC und Relationale Algebra) [8 P] Folgende Relationen und die Anfrage seien gegeben: kredite (kreditnummer, bankname) kreditnehmer (name, kreditnummer, kredithöhe) Suche alle Kunden, die einen Kredit über mehr als 5000 bei der HERON -Bank haben! Formulieren Sie obige Anfrage in: a. SQL b. sicherem Domänenkalkül c. sicherem Tupelkalkül d. relationaler Algebra Seite 1 von 4

Aufgabe 4 (SQL Multiple Choice) [1 + 1 + 1 P] Beantworten Sie folgende Aufgaben. 1. Worauf muss man bei Gruppierungen in SQL achten? a. Nach allen nicht aggregierten Projektionsattributen muss gruppiert werden. b. Es darf nur auf aggregierte Attribute projiziert werden. c. Die HAVING Klausel darf keine Aggregationsfunktionen benutzen. d. In der WHERE-Klausel dürfen nur Gruppierungsattribute auftreten. 2. Wenn in durch AVG aggregierten Attributen NULL-Werte auftreten, dann a. wird das ganze Ergebnis zu NULL b. geht das Tupel mit 0 in die Berechnung ein c. wird das Tupel in der Berechnung ignoriert d. wird ein Fehler ausgegeben 3. Wenn zwei Relationen R und S mit einem Natural Join verbunden werden, dann a. muss Relation R mehr Tupel als Relation S beinhalten b. ermittelt man alle Tupel aus R und S, die übereinstimmen c. ermittelt man alle Tupel aus R, die einen natürlichen Join-Partner in S haben d. müssen die Relationen R und S ein gleichbezeichnetes Attribut haben Aufgabe 5 (SQL Anfragen) [2 + 4 + 2 P] Gegeben sei die folgende Relation im Modell eines Unternehmens abteilung (abt, mgr, stellv) Zu jeder Abteilung (gekennzeichnet durch ihren Namen abt) wird dabei der Name des Managers mgr und der seines Stellvertreters stellv angegeben. Gehen Sie grundsätzlich davon aus, dass Namen eindeutig sind und jeder Angestellte des Unternehmens sowohl Manager bzw. Stellvertreter von einer oder auch mehreren Abteilungen sein kann. a. Stellen Sie fest, in welchen Abteilungen der Angestellte Huber Manager ist, aber kein Stellvertreter benannt ist. b. Finden Sie heraus, wie viele leitende Positionen ihre leitenden Angestellten jeweils inne haben. Dabei sind leitende Positionen als Manager oder Stellvertreter definiert. c. Gegeben sei jetzt weiterhin die Relation angestellte(name, adresse, gehalt), welche alle Angestellten der Firma auflistet. Geben Sie alle Angestellten mit der Anzahl ihrer leitenden Positionen aus. Seite 2 von 4

Aufgabe 6 (JDBC Programmierung) [2+2+2+2+2 P] Folgendes JDBC-Programmfragment sei gegeben: import java.sql.*; public class MyClass static try Class.forName("oracle.jdbc.driver.OracleDriver"); catch ( ClassNotFoundException e ) System.out.println("Konnte den JDBC-Treiber nicht laden (" + e.getmessage() + ")."); String dburl = "jdbc:oracle:thin:@ls2pc15.informatik.uni-augsburg.de:1521:instanz2"; String dblogin = "dbpra"; String dbpwd = "dbpra"; Connection dbconn; Statement stmt; public void mymethod(string relation) Die Methode mymethod(string relation) soll den Inhalt einer zu übergebenden Relation ausgeben. Dabei sind die Spaltennamen und ihre Datentypen unbekannt. Verwenden Sie die JDBC-Klasse ResultSetMetaData, um entsprechende Informationen zu bekommen. Programmieren Sie den Rumpf der Methode mymethod(string relation). Gehen Sie dabei folgendermaßen vor: a. Erstellen Sie eine Datenbankverbindung. b. Ermitteln Sie die Anzahl der Spalten. c. Ermitteln Sie mit einer Schleife die Namen und DBMS-Typen aller Spalten und geben Sie sie auf Kommandozeile aus. d. Geben Sie die Daten der ersten Spalte auf Kommandozeile aus. e. Schließen Sie die Datenbankverbindung. Denken Sie auch daran, eventuell auftretende Exceptions abzufangen. Seite 3 von 4

Aufgabe 7 (JDBC, Multiple Choice) [1+1+1 P] Kreuzen Sie alle richtigen Aussagen an. Pro Teilaufgabe können mehr als eine Aussage richtig sein. 1. Bei der Java/JDBC-Programmierung gilt: a. Rekursion kann nicht implementiert werden. b. Es wird ein datenbankspezifischer Treiber benötigt. c. Bei JDBC-Zugriff auf die Datenbank wird kein Passwort benötigt. d. Das Java-Paket java.sql muss importiert werden. e. SQL-Daten vom Typ BLOB können nicht in JDBC 2.0 verarbeitet werden. 2. Für die Klasse Connection gilt: a. Sie verwaltet die Datenbankverbindung. b. Mit ihrer Methode close wird die Datenbankverbindung geschlossen. c. Ihre Methode close kann eine SQLException werfen. d. Sie enthält eine Methode rollback, mit der laufende Transaktionen abgebrochen werden können. e. Mit ihrer Methode commit kann der Auto-Commit-Modus deaktiviert werden. 3. Für die Klasse Statement gilt: a. Sie ist Oberklasse von PreparedStatement. b. Sie ist Unterklasse von CallableStatement. c. Sie kann nur SQL-Anweisungen verarbeiten, die keine Daten zurückliefern. d. Mit ihrer Methode executeupdate können Relationen auf der Datenbank erstellt werden. e. Die Klasse liefert stets ein ResultSet zurück. Aufgabe 8 (Query-Optimierung) [2+2+4 P] Gegeben seien die Relationen mutter(m,k) und vater(v,k), sowie der View eltern(e,k) definiert durch: CREATE VIEW eltern(e,k) AS ((SELECT * FROM vater) UNION (SELECT * FROM mutter)) Zur Berechnung von Großeltern-Beziehungen sei folgende Query gegeben: SELECT x.e FROM eltern x, eltern y WHERE x.k = y.e AND y.k = 'Josef Mohr' a. Transformieren Sie die Query (einschließlich Views) in unoptimierte relationale Algebra. b. Zeichnen Sie den dazugehörigen Operatorbaum. c. Optimieren Sie den Operatorbaum gemäß dem Hill-Climbing-Algorithmus aus der Vorlesung unter Angabe aller Zwischenschritte. Seite 4 von 4