Datenbanksysteme-Klausur

· by

Inhalt
Dieser Artikel beschäftigt sich mit der Vorlesung „Datenbanksysteme“ des Moduls „Kommunikation und Datenhaltung“ am KIT. Er dient als Prüfungsvorbereitung. Ich habe die Vorlesungen bei Herrn Prof. Dr. Böhm im Sommersemester 2013 gehört.

An diesem Artikel wird natürlich noch gearbeitet.

Behandelter Stoff

15.04.2013 Warum Datenbanken toll sind; Transaktionseigenschaften; Datenschutz; Datensicherheit; Relationsmodell; Integritätsbedingungen; Schlüssel; Fremdschlüssel; SQL; View; Selektion; Projektion; Query-Algebra; Anfrage-Optimierer; Anfragen sind deklarativ; 3-Ebenen-Architektur; Trennung zwischen Schema und Instanz, 9 Codd'sche Regeln
Kapitel 1
18.04.2013 Datentyp, Instanz, Polymorphes Typsystem, Typkonstruktoren, ...
Kapitel 2 - Kapitel 3, Folie 32
22.04.2013 SQL (alter, drop, index, unique); Index; ER-Diagramm; UML; Trägermenge $\mu$, Aktueller Zustand einer Variablen $\sigma$
Kapitel 3, Folie 32 - Kapitel 4, Folie 33
29.04.2013 Systemunabhängige Modellierung - Strukturelle Seite; abstrakte Klassen, Metaklassen, Parametrisierte Klassen; Aggregation und Assoziation
Kapitel 5, Folie 1 - Kapitel 6, Folie 24
06.06.2013 FD, Reflexivität, Projektivität, Akkumulation, RAP-Regeln, Einfügeanomalie, Löschanomalie; Abhängigkeitstreue / Verbundtreue; 1. - 4. Normalform
Kapitel 7
13.06.2013 Nebenläufigkeitsprobleme: Lost update, dirty read, non-repeatable read; Serielle Ausführung beseitigt Probleme, aber IO/Kommunikation macht's ineffizient; History, Prefix Commit-Closed, Committed Projection; Transaktionen
Kapitel 11
24.06.2013 Serialisierbarkeitsgraph; Synthese-Verfahren; BCNF; Histories: RC, ACA, ST; prefix commit-closed
Kapitel 11
27.06.2013 Kapitel 8: Relationale Algebra, Bereichskalkül; Syntaktisch sicher $\Rightarrow$ Semantisch sicher; Kapitel 12: Anwendungsprogrammierung
Kapitel 8, 12

Falls hier was fehlt, könnt ihr mich gerne in den Kommentaren oder per Mail ([email protected]) darauf aufmerksam machen. Ich bin ja mal gespannt, ob ich das bis zum Ende aktuell halte.

SQL

create view MG as
select Mitarbeiter, Gehalt
from MGA
where Gehalt > 70
insert into MG
values ('Alice', 90)

Fragen

Was ist der Unterschied zwischen einem DBS und einem DBMS?
Ein DBMS ist eine Software zur Datenverwaltung. Die eigentlichen Daten sind in der Datenbank. Ein DBS besteht aus einem DBMS und einer Datenbank. Ein DBMS kann mehrere Datenbanken verwalten.
Sei $H = r_1[y] w_1[x] r_3[x] w_1[z] r_2[z] w_3[y] r_2[x] w_2[y] c_1 r_3[y] c_3 w_2[z] c_2$.
Welche Transaktionen sind in dieser History?
  • Ein Eintrag $r_i[x]$ bedeutet, dass die Transaktion $i$ die Ressource $x$ liest.
  • Ein Eintrag $w_i[x]$ bedeutet, dass die Transaktion $i$ die Ressource $x$ schreibt.
  • $c_i$ bedeutet, dass die $i$-te Transaktion committet wird.
Es gibt also die Transaktionen $T_1, T_2$ und $T_3$ mit * $T_1 = r_1[y] w_1[x] w_1[z] c_1$ * $T_2 = r_2[z] r_2[x] w_2[y] w_2[z] c_2$ * $T_3 = r_3[x] w_3[y] r_3[y] c_3$

Material

In der Fachschaft gibt es folgende Altklausuren:

  • 25. Februar 2011
  • 30. Juli 2010 (DB + Rechnernetze, mit Lösung)

Aufbau der Klausur

Häufige Aufgabenstellungen sind:

  • Histories und Transaktionen: Ist eine gegebene History RC, ACA, Strict?
  • Modellierung
  • SQL-Abfragen formulieren

In der Klausur vom SS 2013 wurde das in 4 Aufgaben à 15 Punkte aufgeteilt. Unter anderem waren diesmal der RAP-Algorithmus und der Dekompositionsalgorithmus relevant.

Übungsbetrieb

Es gibt nur ein "Übungsblatt" mit Bonuspunkten für die Klausur. Auf dieses beziehe ich mich.

  • Wo sind die Übungsblätter: Portal - Aufgaben
  • Abgabeform: Online
  • Abgabe: 07.07.2013
  • Rücknahme: ?
  • Turnus: Einmalig
  • Übungsschein verpflichtend: Nein
  • Bonus durch Übungsschein: Ja

Ein paar interessante Informationen zum Blatt:

Was ist mit "Brute-Force-Ansätze" in der Aufgabenstellung gemeint?
Antwort von Herrn Keller: Bei Anfragen, die nur eine Anzahl in der Projektionsliste erwarten, können Sie mit einer Query SELECT <korrekte_Anzahl> FROM <irgendeiner_Tabelle> das korrekte Ergebnistupel durch Ausprobieren herausbekommen. Im Portal wird das zunächst als "korrekt" bewertet, allerdings werden wir das im Nachhinein filtern.
Wie kann man bei der Oracle-Datenbank die Anzahl der ausgegebenen Zeilen beschränken (LIMIT)?
SELECT *
FROM
( your selection )
WHERE ROWNUM <= 5

Ein bisschen was zu JOIN sollte man sich durchlesen.

Ich habe übrigens das folgende Captcha bekommen:

Datenbanksysteme - Captcha
Datenbanksysteme - Captcha

Wie zur Hölle soll man das lösen? Ich hatte auf „448444“ getippt, aber das war falsch.

Termine und Klausurablauf

Datum: Mittwoch, den 31. Juli 2013 von 11:00 bis 13:00 Uhr
Ort: seit 29.07.2013 online:

Wer Wo
Nachnamen A-G Gerthsen Hörsaal
Nachnamen H-J Nusselt Hörsaal
Nachnamen K-L Hörsaal Neue Chemie
Nachnamen M-R Daimler Hörsaal
Nachnamen S Gaede Hörsaal
Nachnamen T-Z Benz Hörsaal

Punkte: 60
Bestehensgrenze: ?
Übungsschein: ?
Bonuspunkte: ?

Nicht vergessen

  • Studentenausweis
  • Kugelschreiber

Ergebnisse

Sind noch nicht draußen (Stand: 20.04.2013)