Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12



Ähnliche Dokumente
Datenbanken (Bachelor) (SPO2007) WS 2009/10

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

4. BEZIEHUNGEN ZWISCHEN TABELLEN

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

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

Vorgehensweise bei Lastschriftverfahren

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

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Probeklausur Grundlagen der Datenbanksysteme II

1 Übungsaufgaben mit Lösungen YAWL-System

Datenbanken. Sommersemester 2010 Probeklausur

Anwendungsbeispiele Buchhaltung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Word 2010 Schnellbausteine

So funktioniert das online-bestellsystem GIMA-direkt

Professionelle Seminare im Bereich MS-Office

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

7. Übung - Datenbanken

Lernaufgabe Industriekauffrau/Industriekaufmann Angebot und Auftrag: Arbeitsblatt I Auftragsbeschreibung

Der Gabelstapler: Wie? Was? Wer? Wo?

Aufgaben zu XPath und XQuery

ABTEILUNGS- ABTEILUNGS- LEITER NAME

SQL - Übungen Bearbeitung der Datenbank Personal (1)

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

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug Name: Note:

Klausur Interoperabilität

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

Zugang zum Online-Portal mit Passwort Benutzeranleitung (Stand 01/2015)

Sparen in Deutschland - mit Blick über die Ländergrenzen

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

SMS-Tool. Seite 1 von 8

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen


Meine Entscheidung zur Wiederaufnahme der Arbeit

Anleitung Typo3-Extension - Raumbuchungssystem

Access 2000 und MS SQL Server im Teamwork

Auktionen erstellen und verwalten mit dem GV Büro System und der Justiz Auktion

Dokumentation PuSCH App. android phone

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Wie halte ich Ordnung auf meiner Festplatte?

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17

Was meinen die Leute eigentlich mit: Grexit?

Der neue persönliche Bereich/die CommSy-Leiste

Online Bestellsystem Bedienungsanleitung

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

Hochschule Darmstadt Darmstadt, den KLAUSUR zur Lehrveranstaltung "Datenbanken für FB MN"

Vorlesung Dokumentation und Datenbanken Klausur

Primzahlen und RSA-Verschlüsselung

Nachhaltigkeits- Check von Geldanlagen

Dokumentation PuSCH App. android phone

Sonderrundschreiben. Arbeitshilfe zu den Pflichtangaben in Immobilienanzeigen bei alten Energieausweisen

Fallbeispiel: Eintragen einer Behandlung

Meldung der Waffennummern (Waffenkennzeichen) nach der Feuerwaffenverordnung der EU

Word. Serienbrief erstellen

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

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Kinderarmut. 1. Kapitel: Kinderarmut in der Welt

Datenexport aus JS - Software

SEMINAR Modifikation für die Nutzung des Community Builders

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

MIN oder MAX Bildung per B*Tree Index Hint

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Schritt für Schritt. Anmeldung

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Geld Verdienen im Internet leicht gemacht

So gehts Schritt-für-Schritt-Anleitung

Aufgabe 1: Steuerwirkungen auf Investitionsentscheidungen (22 Punkte)

Zusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten:

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1 Mathematische Grundlagen

1. TEIL (3 5 Fragen) Freizeit, Unterhaltung 2,5 Min.

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

)XQNWLRQVWDVWH8PEXFKHQ

Webalizer HOWTO. Stand:

teamsync Kurzanleitung

Aufgabe 1: Erstellen Sie auf Basis des folgenden Anwendungsfalls ein Konzeptuelles Modell.

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Dokumentenverwaltung im Internet

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

Thematische Abfrage mit Computerlinguistik

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Wie Sie mit Mastern arbeiten

Produktschulung WinDachJournal

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

Was ist das Budget für Arbeit?

Fachbereich Wirtschaftswissenschaften Campus Sankt Augustin

Erstellen von x-y-diagrammen in OpenOffice.calc

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Datenbanken Kapitel 2

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Grundlagen verteilter Systeme

Anleitung zum GEPA EXCEL Import Tool

Um die Rücklagen ordnungsgemäß zu verbuchen, ist es wichtig, Schritt-für-Schritt vorzugehen:

Programmteil Bautagebuch

5. Übung: PHP-Grundlagen

Transkript:

Aufgabenstellung: Prof. Dr. Inge Schestag zugelassene Hilfsmittel: 1 beidseitig bedrucktes oder beschriebenes A4-Blatt Bearbeitungszeit: 90 Minuten Note: Name: Matrikelnr. Aufgabe 1 Aufgabe 2 Aufgabe 3 Aufgabe 4 Aufgabe 5 Aufgabe 6 Summe 6 10 8 12 14 10 60 Schreiben Sie Ihre Lösung jeweils in den leeren Raum unterhalb der Aufgabenstellung. Falls der Platz nicht ausreicht, nutzen Sie die Rückseiten der Aufgabenblätter. Sollten bestimmte Fakten aus Ihrer Sicht nicht eindeutig formuliert sein, so schreiben Sie Ihre Annahmen zur Lösung dazu. 08.02.2012 1 / 9

Aufgabe 1 (6 = 3 + 3 Punkte) Codd sche Normalformen ( / 6) Das Relationenmodell eines Webshop wurde folgendermaßen modelliert: Webshop WarenkorbID integer Identifier des Warenkorbs ProduktID integer Identifier eines Produktes (im Warenkorb) ProduktBez varchar(20) Bezeichnung des Produktes ProduktPreis varchar(20) Preis des Produktes Menge integer Menge des bestellten Produktes Bestelldatum date Bestelldatum des Warenkorbes Die Relation genügt der 1. Normalform (1NF) und enthält die beiden Primärschlüssel- Komponenten WarenkorbID und ProduktID. a) Überpüfen Sie, ob die Relation der 2. Normalform (2NF) genügt. Falls ja, formulieren Sie die Bedingung für die 2. Normalform. Falls nein, nennen Sie alle Verletzungen und überführen Sie die Relation in die 2NF. 08.02.2012 2 / 9

b) Die Relation aus Teilaufgabe a) wird jetzt dahingehend geändert, dass der zusammengesetzte Primärschlüssel durch eine einzige synthetische Primärschlüssel-Spalte SynthKey vom Typ autoincrement ersetzt wird: Webshop SynthKey auto - PK vom Typ autoincrement WarenkorbID integer Identifier des Warenkorbs ProduktID integer Identifier eines Produktes (im Warenkorb) ProduktBez varchar(20) Bezeichnung des Produktes ProduktPreis varchar(20) Preis des Produktes Menge integer Menge des bestellten Produktes Bestelldatum date Bestelldatum des Warenkorbes Befindet sich die Relation jetzt in normalisiertem Zustand bzgl. der ersten drei NF? Begründen Sie Ihre Entscheidung und normalisieren Sie gegebenenfalls. 08.02.2012 3 / 9

( / 10) Aufgabe 2 (10 = 4 + 6 Punkte) ER-Modell, Relationenmodell a) Erweitern Sie das folgende ER-Modell einer Projektverwaltung um die Informationen, in welchem Zeitraum bzw. in welchen Zeiträumen (jeweils von- und bis-datum) ein Mitarbeiter in einem Projekt mitarbeitet. Abteilung AbtNr <pi> Zugehoerigkeit Mitarbeiter MANr <pi> Projektmitarbeit Projekt ProjektID <pi> b) Überführen Sie das erweiterte ER-Modell aus a) nun in ein Relationenmodell. Kennzeichnen Sie dabei Primärschlüssel und Fremdschlüssel und geben Sie für jeden Fremdschlüssel an, ob er NULL-fähig ist oder nicht. 08.02.2012 4 / 9

Aufgabe 3 (8 = 2 + 2 + 2 + 2 Punkte) referentielle Integrität ( / 8) Gegeben sei das Datenmodell einer Mitfahrerzentrale auf der letzten Seiten relevant für diese Aufgabe sind die Tabellen Person, Fahrer und Angebot, deren Foreign Key- Constraints im DDL-Skript wie folgt deklariert sind: create table Fahrer (..., constraint FK_Fahrer_RELATIONS_Person foreign key (PersonenID) references Person (PersonenID) on delete cascade ); create table Angebot (..., constraint FK_Angebot_RELATIONS_Fahrer foreign key (PersonenID) references Fahrer (PersonenID) ); Die drei Tabellen haben auf den Schlüsselspalten die folgenden Inhalte: Person Fahrer Angebot PersonenI D PersonenI D AngebotID PersonenI D 100 200 11 200 200 300 22 200 300 33 300 Beschreiben Sie, was bei den (voneinander unabhängigen) SQL-Anweisungen a) d) geschieht und begründen Sie jeweils in Stichworten Ihre Antwort: a) delete from Person where PersonenID = 100; b) delete from Person where PersonenID = 200; c) delete from Fahrer where PersonenID = 300; d) delete from Angebot where PersonenID = 200; 08.02.2012 5 / 9

Aufgabe 4 (12 = 4 + 4 + 4 Punkte) DML SELECT ( / 12) Die folgenden Teilaufgaben für die SELECT-Anweisungen a), b) und c) beziehen sich auf das Datenmodell auf der letzten Seite! a) Erstellen Sie eine Liste aller Fahrer (PersonenID und Name), die selbst schon mindestens einmal ein Angebot als Mitfahrer gebucht haben. b) Erstellen Sie eine Liste aller Fahrer (PersonenID und Name), die im Jahr 2011 mindestens 10 Fahrten angeboten hatten. Geben Sie die Anzahl der angebotenen Fahrten in 2011 mit aus. Ausschlaggebend ist das Abfahrtsdatum in 2011! c) Erstellen Sie eine Liste aller Zielorte in den Angeboten, absteigend sortiert nach der Häufigkeit des Angebotes. 08.02.2012 6 / 9

Aufgabe 5 (14 = 7 + 7 Punkte) ESQL / JDBC Trigger ( / 14) a) Schreiben Sie eine Prozedur, die zeilenweise von allen Angeboten die AngebotID, Startort, Zielort und Abfahrtsdatum an der Konsole ausgibt, deren Abfahrtsdatum in der Zukunft, also nach dem 08.02.2012 liegt, und die noch nicht ausgebucht sind (Datenmodell auf der letzten Seite!). Schreiben Sie die Prozedur entweder - als anonymen ESQL-Block einer prozeduralen Spracherweiterung von SQL (Pseudocode in Anlehnung an PL/SQL) für die Ausgabe an der Konsole können Sie die PL/SQL-Prozedur dbms_output.put_line(string ausgabe) verwenden, oder - als JDBC-Anweisungsblock einer Java-Applikation (Sie können davon ausgehen, dass die Connection schon aufgebaut ist und eine Connection-Instanz con zur Verfügung steht). b) Schreiben Sie einen Insert-Trigger für die Tabelle Buchung, - der die Spalte AnzahlGebucht um die entsprechende AnzahlMitfahrer erhöht, wenn die Anzahl der freien Plätze noch ausreicht für die gewünschte Buchung, und - der die Spalte ausgebucht in der Tabelle Angebot auf TRUE setzt, wenn die angebotene Anzahl der Plätze durch die Buchungen der Mitfahrer genau erreicht ist bzw. - der die neue Buchung mit entsprechender Fehlermeldung abweist, wenn die Anzahl der noch freien Plätze nicht mehr ausreicht für die gewünschte Buchung. 08.02.2012 7 / 9

( / 10) Aufgabe 6 (10 = 4+2+4 Punkte) Transaktionsmanagement, Backup & Recovery Die Teilaufgabe a) bezieht sich auf den SQL-92 Standard: a) Skizzieren Sie einen Verlauf zweier konkurrierender Transaktionen T1 und T2, bei dem es zu einem Non Repeatable Read kommt und geben Sie den von Ihnen vorgesehenen Isolation Level hierfür an: b) Nennen Sie die drei Fehlerkategorien, bzgl. derer man Backup- und Recovery-Maßnahmen klassifiziert: 1. 2. 3, c) Die Backups x-1 und x einer DB seien als Online-Backups erstellt worden: Online- Log-Datei n-4 Log-Datei n-3 Backup x Log-Datei n-2 Log-Datei n-1 Log-Datei n Online- Backup x-1 Beschreiben Sie ein Fehlerszenario, in dem es erforderlich ist, (mindestens) eines der vorhandenen Backups wieder ein zu spielen. Skizzieren Sie in Stichworten, wie das anschließende vollständige Recovery erfolgt. Schreiben Sie dabei an die entsprechenden Log-Dateien, ob UNDO und/oder REDO- Aktivitäten erforderlich sind. Zeit 08.02.2012 8 / 9

Datenmodell Mitfahrerzentrale zu den Aufgaben 3, 4 und 5 PersonenID = PersonenID PersonenID Name Vorname Person VARCHAR2(20) VARCHAR2(20) <pk> PersonenID = PersonenID PersonenID Führerscheinklasse Fahrzeugtyp Fahrer CHAR(3) CHAR(1) <pk,fk> Mitfahrer PersonenID <pk,fk> PersonenID = PersonenID AngebotID PersonenID Startort Zielort Abfahrtsdatum Ankunftsdatum Abfahrtszeit Ankunftszeit AnzahlPlaetze AnzahlGebucht ausgebucht Angebot VARCHAR2(20) VARCHAR2(20) DATE DATE DATE DATE BOOLEAN <pk> <fk> PersonenID = PersonenID AngebotID = AngebotID PersonenID AngebotID AnzahlMitfahrer Buchung <pk,fk1> <pk,fk2> 08.02.2012 9 / 9