Fachschaft Informatik

Prüfungsprotokolle


Prüfungsprotokolle lesen



Protokolle (11 gefunden)

Nr.PrüferFach
67 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

= Datum der Prüfung
21. Februar 2005
9:30 bis 12:30 (3 Stunden)

= Benötigte Lernzeit als Empfehlung
zwei Wochen (und das reicht auch, wenn man nicht ganz so 
regelmäßig in der Vorlesung ist, weil wenig Stoff zu den 
Folien hinzu kommt.)


= Verwendete Materialien (Bücher, Skripte etc...)
Die Folien der Vorlesung als Überblick über den Stoff, die 
Folien des Praktikums als Überblick über die Algorithmen. 
Dazu am besten noch mindestens ein Buch aus der 
Literaturliste, z.B. "The Theory Of Relational Databases" von
David Maier. Trotzdem bleibt das Problem, dass gewisse 
Algorithmen (Basis, Dekomposition) von jedem anderns 
definiert werden. So war insbesondere bis wenige Tage vor der
Prüfung nicht klar, wie genau beim Dekompositionsalgorithmus
die Zuordnung der FDs aussieht... Außerdem ist kein Buch auf 
der Liste, das sich ausgiebig mit Datenstrukturen wie dem 
B-Baum oder XML befasst.


= "Atmosphäre" der Prüfung / Verhalten der Beisitzer
Absolut OK. Drei Stunden Ruhe...


= Prüfungsfragen
1. ENTITY-RELATION-MODELL
- Gegeben ein paar Instanzen und vorgegebenen Entitys sollten
die Relationships mit Kardinalitäten und sonstigen 
Constraints (partiell, total) eingezeichnet werden. Eine 
Generalisierung war auch dabei.
- Anschließend aus diesem ER-Modell wieder ein relationales 
Modell (mit Primär- und Fremdschlüsseln) erstellen.

2. FUNKTIONALE ABHÄNGIGKEITEN
- Gegeben ein paar funktionale Abhängigkeiten sollten 
Schlüsselkandidaten hergeleitet werden.
- Gegeben ein paar FDs sollten nur unter Anwendung der 
Armstrong-Regeln Erweiterung, Reflexivität und Transitivität 
eine andere FD hergeleitet werden.
- Gegeben ein paar FDs sollten diese mit dem Basisalgorithmus
minimalisiert werden.

3. NORMALFORMEN
- Gegeben ein Relationsschema mit FDs: welche 
Schlüsselkandidaten, welche Normalform und wegen welcher FD 
nicht eine Normalform höher? (Auch Grund angeben, z.B. "linke
Seite echte Teilmenge eines Schlüsselkandidaten" etc.
- Gegeben ein Relationsschema mit FDs: welche Normalform, 
lossless-join Zerlegung zu 2NF. Dann lossless-join Zerlegung 
zu 3NF. Warum ist Ergebnis noch nicht BCNF?

4. XML
- Gegeben zwei Relationsschema mit Instanzen: wie sieht 
XML-Version davon aus?
- Wie sieht die entsprechende DTD aus?
- Wie müssen die Schlüsselbeziehungen eingebunden werden?

5. B-BÄUME
- Geben Sie zwei Eigenschaften des B-Baumes an!
- Verändert sich beim Löschen zunächst Tiefe oder Breite des 
B-Baumes?
- Gegeben ein B-Baum mit Füllung. Wie sieht B-Baum nach 
Einfügen aus?
- Gegeben ein B-Baum mit Füllung. Wie sieht B-Bazm nach 
Löschen aus?

6. SQL
- Gegeben eine SQL-Beschreibung (DDL) eines 
Relationsschematas. Was kann aus 
Primary-/Foreignkeybeziehungen geschlossen werden?
- Nach Einfügen von gegebenen Tupeln, wie sieht Reihenfolge 
der Ausgabe auf "SELECT * FROM tabelle" aus?
- Anfrage als Text gegeben: wie sieht SQL-Abfrage dazu aus?
- Multiple-Choice-Frage zu korrellierten Anfragen
- Formulieren einer korrellierten SQL-Anfrage bei gegebenem 
Text, was die Anfrage zu leisten hat

7. TRANSAKTIONEN
- Was bedeutet ACID?
- Welche ACID-Eigenschaft sichert der Concurrency-Manager, 
welche der Error-Recovery-Manager des Transaktionsmanagers 
zu?
- Was ist ein Schedule?
- Was versteht man unter Serialisierbarkeit?
- Kann gegebener Schedule serialisiert werden?

8. RELATIONALE ALGEBRA
- Viele Multiple-Choice Fragen zu den einzelnen Operatoren. 
Beispiel: gilt ((R semijoin S) naturaljoin S) oder gilt (R 
join_true S) = (R x S)? Auch dabei z.B.: die genau Definition
der Division.
- Was versteht man im Hinblick auf die relationale Algebra 
unter minimalen Mengen?
- Geben Sie eine Minimale Menge von Operatoren für die 
relationale Algebra an!

9. JOIN
- Gegeben ein Algorithmus im Pseudocode zum Nested-Loop-Join.
Leiten Sie den entsprechenden Algorithmus für den 
"Nested-Loop-Semijoin" her!
- Herleiten der Join-Bäume bei verschiedenen 
Join-Reihenfolgen (bushy-tree etc.)
- Was sind die Vorteile des bushy-trees bei 
Multi-CPU-Systemen?
- Gegeben T_S, P_S, T_R, P_R, wie viele Seitenzugriffe sind 
nötig, wenn R (bzw. S) die äußere Relation ist? (Herleiten 
des Ergebnisses)
- Wie kann generell bestimmt werden, welche Relation die 
äußere und welche die innere sein sollte.

Die Aufgaben hatten mit Sicherheit eine didaktisch-sinnvolle 
Reihenfolge, die mir aber nicht mehr einfällt. Wenn ich was 
vergessen hab, tuts mir leid. :-)


= Note
Herr Freytag behauptet, dass er die 120 Klausuren innerhalb 
der nächsten vier Tage korrigieren will... Es gab 100 Punkte.
Für Nebenfächler reichten 45 Punkte, für alle anderen 50 
Punkte zum Bestehen.


= Fazit
Da ich noch keine Note habe, kann ich nur mutmaßen. Herr 
Freytag hatte bereits angesagt, dass er in der Breite prüfen 
wollte, und auch kein Thema ausgeschlossen. So kamen dann 
auch Exoten-Themen wie XML dran. Nicht gefragt (obwohl er 
lange drauf rumgeritten ist) wurde DRC und TRC, wo man schöne
Fragen zu Sicherheit/Beschränktheit erwartet hat... Alles in 
allem eine faire Prüfung, die auch von der Zeit hingehauen 
hat.

Die Klausur ist machbar, wenn man die Praktika (bis auf die 
Java-Aufgaben) lösen kann und dazu zumindest die Definitionen
und die Vor- und Nachteile gewisser Dinge kennt. Für gute 
Noten muss man aber wohl alles richtig gut können, da halt 
nicht nur Rechenaufgaben gefragt sind.

Für die Zukunft wäre es wohl sinnvoller, vielleicht ein oder 
zwei Themenkomplexe von vorneherein als "nicht 
klausurrelevant" einzustufen.


Eine Zusammenfassung der prüfungsrelevanten Themen, sowie die
Lösung der Praktikumaufgaben gibt es unter 
http://www.kierberg.com/studium/dbs1/

Nr.PrüferFach
403 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

= Datum der Prüfung
KLAUSUR vom 03.02.2009

= Benötigte Lernzeit als Empfehlung
zwei Wochen (bei Nichtbesuchen der Vorlesung)

= Verwendete Materialien (Bücher, Skripte etc...)
Das Prüfungsprotokoll von Niels Lohmann, siehe anderer Eintrag.

= Prüfungsfragen

Gedächtnisprotokoll Klausur

1. Entity-Realtionship modell
- Aus gegebenen Instanzen sollen Kardinalitäten und Totalitäten, sowie Constraints der Spezialisierung gekennzeichnet werden
- Dieses Modell sollte dann wieder in ein relationales Modell überführt werden (wie üblich mit Schlüssel, Fremdschlüssel, UNIQUE und NOT NULL)

2. Funktionale Abhängigkeiten
- Gegeben eine Menge von FD's und eine Relation, gegen welche FD wird hier verstoßen, Begründung.
- Eine FD aus einer Menge von FD's mit Hilfe des Armstrong-Kalküls (nur Reflexivitäts-, Transitivität- und Erweiterungsregel erlaubt) ableiten
- Mehrere FD-Mengen und Relationschemata gegeben: alle Schlüsselkandidaten, Normalform und alle FD's, die gegen eine höhere Normalform verstoßen, angeben

3. Zerlegungen
- Welche Eigenschaften gelten für eine verlustlose Zerlegung (multiple choice)
- Berechenen Sie eine Basis der gegebenen FD-Menge
- Zerlegen Sie das Relationsschema mit Hilfe der Dekomposition in BCNF

4. Relationale Algebra und Domänenkalkül
- Was versteht man im Kontext der relatioalen Algebra unter einer minimalen Mengen? (multiple choice)
- Geben Sie eine minimale Menge von Operatoren an!
- Welche SQL-Statements haben die gleiche Wirkung wie der Divisionsoperator? (multiple choice)
- Gebundene, freie und beschränkte Variablen einer DRC-Formel (WFF) angeben.
- Ist die DRC-Anfrage sicher? Begründung! (Die gegebene Anfrage bestand wie im Praktikum und in den Klausuren der letzen Jahre nur aus Existenzquantoren gefolgt von einer "maximal konjunktiven Teilformel", die eine "sichere" Negation enthielt)
- Beschreiben Sie in einem Satz das Ergebnis der DRC-Anfrage!
- Welcher relationale Algebra Ausdruck ist zu der Anfrage äquivalent?

5. SQL
- Gegeben: Tabellendefinitionen und Primary/Foreign key Bedingungen in SQL. Was bedeuten diese Einschränkungen für die Menge der Tupel in den Relationen?
- Zwei Anfragen als Text gegeben. Wie sieht die SQL-Anfrage aus?
- Was ist eine korrellierte Anfrage? (kein multiple choice)
- Eine Anfrage als Text gegeben. Wie sieht eine entsprechende korrellierte SQL-Anfrage aus?

6. Joins
- Gegeben ein Programmcode für den Nested-Loop-Join, wie sieht das Programm für den Nested-Loop-Semi-Join aus?
- worst-case-szenario und Laufzeit für Nested-Loop-Semi-Join
- Mit welchen Kriterium entscheidet man, ob R äußere Relation sein soll? (multiple choice)
- Gegeben 3 Kettenjoins der Form (A JOIN B JOIN C JOIN D) mit verschiedenen Ausführungsreihenfolgen. Wie sehen die Query Execution Plans (QEP) aus? Benennen Sie diese.

7. B-Bäume / Hashing
- Wo finden Einfügeoperationen in B-Bäumen statt?
- Wie viele Einträge muss ein B-Baum der Höhe h=1 und Ordnung m=2 mindestens haben, um den Regeln zu entsprechen?
- Gegeben ein B-Baum der Höhe h=1 und Ordnung m=2.
	-> Wie sieht der B-Baum nach dem Einfügen der Zahl "13" aus mit Ausgleichen durch Nachbarknoten.
	-> Wie sieht der B-Baum nach dem Einfügen der Zahl "13" aus ohne Ausgleichen durch Nachbarknoten.
	-> Wie sieht der B-Baum nach dem Löschen der Zahl "5" aus?
- Gegeben Elemente, Hashfunktion, Hashtabelle: Fügen sie die Elemente in die Hashtabelle ein
- Nennen Sie zwei Möglichleiten, um das Problem mit Kollisionen zu lösen.
- Sie sollen noch eine zusätzlich Zahl ("2") einfügen, es kommt zu einer Kollision. Benutzen Sie einer der genannten Methoden um das Problem zu beseitigen und geben Sie die geänderte Tabelle an.

8. XML
- Wann ist ein XML-Dokument valid?
- Gegeben XML-Dokument mit DTD
	-> DTD umänderen sodass vorgegebene Schlüssel- und Fremdschlüsseleigenschaften gelten.
	-> überführen der (geänderten) DTD in ein Relationsschema, dass in 3. Normalform ist.
	-> Gegeben: drei XPath-Ausdrücke. Welche Knoten (Bezeichnung, Typ, Zeilennummer) werden zurückgegeben?

9. Transaktionen
- Was bedeuted ACID?
- Welche ACID-Aufgaben sichert der Concurrency-Manager, welcher der Error-Recovery-Manager?
- Was ist ein Schedule?
- Was ist ein serialisierbarer Schedule?
- Ist dieser Schedule serialisierbar?
- Welche Locks sind verträglich (Lesen-Schreiben, Lesen-Lesen, etc.)?
- Nennen sie 4 Bedingungen, die im 2-Phasen-Sperrprotokoll gelten.

= Note (Optional)

Die Klausur ist erst zwei Stunden her, soll aber bis heute Abend kontrolliert sein.

= Fazit (Gute/schlechte Prüfung , angemessene Benotung etc...)

Da sich die Prüfungsfragen von Jahr zu Jahr doch stark ähneln und zum größten Teil mit dem Praktikum übereinstimmen, ist die Prüfung mit mittlerem Aufwand zu schaffen.

Nr.PrüferFach
404 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

= Datum der Prüfung
3.3.09
= Benötigte Lernzeit als Empfehlung
ein paar Tage, ich war immer in der Vorlesung

= Verwendete Materialien (Bücher, Skripte etc...)
Skript, Praktikumsfolien, Wikipedia

= Prüfungsfragen
ER-Modell
Instanzen gegeben, daraus ER-Modell vervollständigen, also Kardinalitäten, total/partielle Beteiligung, Eigenschaften der Generalisierung
ER dann in Relationenmodell umwandeln

Funktionale Abhängigkeiten, Basis berechnen, Normalform bestimmen, Zerlegung in BCNF mittels Dekomposition, minimale Menge,
ein paar einfache SQL-statements schreiben, Join-Bäume zu konkreten joins aufzeichnen und benennen (links-/rechtslinear, bushy), multiple-choice zur Division (welche der folgenden SQL-statements sind äquivalent zur Division von R und S?), Pseudocode zum Nested-Loop-Semijoin schreiben und Komplexität abschätzen

XML
wann ist ein XML-file "gültig"? (wohlgeformt + erfüllt DTD)
gegebene DTD anpassen (Schlüssel einführen, per ATTLIST ... ID #REQUIRED)
Relationenmodell für 2 XML-Elemente erstellen
XPath-ausdrücke: angeben welche Knoten in der Ergebnismenge sind. Auch kompliziertere ausdrücke!

B-Bäume
einfügen, einfügen ohne auf Nachbarknoten auszuweichen, löschen

Transaktionen
ACID kurz erklären
welche Eigenschaften von ACID sichern Concurrency Manager und welche Recovery Manager?
4 Regeln des Sperrprotokolls
Definition Schedule
Def. serialisierbar
ist gegebener Schedule serialisierbar?


= Fazit (Gute/schlechte Prüfung , angemessene Benotung etc...)
Fast alle Aufgaben waren Standardalgorithmen, wie im Praktikum geübt. 3 Stunden haben zur Bearbeitung gut gereicht. Eine gute Prüfung.

Nr.PrüferFach
602 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

= Datum der Prüfung
17.07.2013
= Benötigte Lernzeit als Empfehlung
Knappe Woche
= Verwendete Materialien (Bücher, Skripte etc...)
Prüfungsprotokolle
= \"Atmosphäre\" der Prüfung / Verhalten der Beisitzer
Sehr formalisierter Ablauf (Sitzplatzzuweisung etc.) sonst ruhig.
= Prüfungsfragen
1. Gegebene Instanzen -> ERM zeichnen
2. Das ERM in ein RM umwandeln
3. FDs, Umformung mit Armstrong Kalkül (nur ersten 3 Regeln), Bestimmung: Schlüssel, Normalform, Basis, Synthese, Dekomposition durchführen so Praktikumsniveau
[Ab hier bin ich mir mit der Nummerierung unsicher]
Relationale Algebra, Multiple Choice zur Minimalen Menge, Transformationsregeln, Informations/Abhängigkeitserhaltend, Division
Gegebene SQL Anfrage in Relationalgebra umformen und anschließend optimieren
Zu gegebenen SQL tabellen ein paar anfragen schreiben, (relativ simpel, geht nich über group by und having hinaus) eine korrelierte anfrage schreiben
  ein einem satz beschreiben was \"alter table ... add primary key bzw. foreign key\" macht (guckt euch einfach den letzen (10.) Praktikumsfoliensatz an und da die SQL slide 26 - da ist das quasi andersrum als aufgabe)
Nested-Loop Pseudocode angeben
Seitengröße und Tupelanzahl waren für nen Join gegeben --> Anzahl Seitenzugriffe berechnen, sowie Anzahl Tupelvergleiche berechnen
Multiple Choice zu: welche Relation sollte innere/äußere sein
DRC: Anfrage gegeben, in einem Satz sagen, was sie macht, die freien/gebundenen variablen angeben und sagen ob die anfrage sicher ist
B-Baum gegeben - Ergebnis nach Einfügen (gefragt war einmal \"mit Einbeziehung des Nachbarknotens\" und einmal \"ohne Einbeziehung des Nachbarknotens\", KEINE AHNUNG, wir hatten in der VL nur den Splitting Algo...) und Löschen
Min. Anzahl an Werten bei höhe 1 und ordnung 2
Hashing, es waren zahlen gegeben und ein hashing algorithmus (mod 10) - dann soll man die werte in die tabelle einordnen.
2 Möglichkeiten angeben wie man Kollisionen behandeln kann beim Hashing und eine davon auch konkret am Beispielfall anwenden
ACID erklären, Multiple Choice: welche acid eigenschaft sichert concurrence/ recovery manager, serialisierbarer Schedule Definition (auch per multiple choice gefragt) sowie ob ein gegebener Schedule serialisierbar ist 

= Note (Optional)
kp
= Fazit (Gute/schlechte Prüfung , angemessene Benotung etc...)
Insgesamt okay, Zeit ist ausreichend, die Multiple Choice Fragen würde ich aber eindeutig als \"nasty\" einstufen, die sind gefühlt dazu gedacht um zu zeigen, dass man etwas nicht kann...

Nr.PrüferFach
673 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

= Datum der Prüfung
24.07.2014
= Benötigte Lernzeit als Empfehlung
3 - 4 Wochen
= Verwendete Materialien (Bücher, Skripte etc...)
nur das Skript zur Vorlesung
= \"Atmosphäre\" der Prüfung / Verhalten der Beisitzer
KLAUSUR
= Prüfungsfragen
[MC = Multiple-Choice]

1) ERM
a) Aus einer gegebenen Instanz eines ER Modells Kardinalität und Beteiligung für eine binäre und eine ternäre Beziehung ableiten
b) Aus der Instanz die Eigenschaften einer Vererbung ableiten

2) ERM -> RM
Das ER Modell aus 1) in RM überführen

3) Algorithmen
2 * Schlüssel berechnen, einmal die Basis berechnen, Synthese-Algo zu gegebener Basis für eine Relation durchführen, Dekomposition durchführen

4) RA
a) Ergebnis eines RA Ausdrucks angeben
b) MC: ankreuzen welche Eigenschaften für eine verlustfreie Zerlegung gelten
c) MC: Gleicheit von RA Ausdrücken (z.B. gilt: R = R JOIN R ?)
d) MC: Eigenschaften einer Minimalen Menge von Operatoren der RA
e) Minimale Menge von Operatoren der RA angeben

5) SQL
Gegeben die Beschriebung der Tabellen land, wueste, geo_wueste aus dbs2
gesucht (ungefähr):
a) der Name aller Länder, die mindestens drei Wüsten enthalten, absteigend sortiert ausgeben
b) Name des Landes, Name der Wüste und Anteil der Fläche der Wüste an der Fläche des Landes ausgeben
c) Name aller Länder, die mindestens eine Wüste enthalten

d) MC: Welche SQL Ausdrücke berechnen dasselbe Ergebnis wie der RA Ausdruck R DIVISION S

6) Speicherstrukturen
---------- B-Baum
a) Wo werden in einem B-Baum neue Werte eingefügt?
b) Nennen Sie 2 Eigenschaften, die ein B-Baum mit Höhe h und Ordnung m hat (m ist hierbei die minimale Anzahl an Werten die ein Nicht-Wurzelknoten des B-Baums enthalten muss)
c) In einen gegeben B-Baum einfügen unter Verwendung der freien Plätze in den benachbarten Blättern
d) In einen gegebenen B-Baum einfügen ohne Verwendung der freien Plätze in den benachbarten Blättern
e) aus einem gegebenen B-Baum löschen
---------- Hashing
f) 6 Zahlen in eine Hashtabelle mit der Hashfunktion x mod 8 hashen
g) 2 Möglichkeiten beschreiben mit Kollisionen umzugehen
h) eine der in g) beschriebenen Möglichkeiten zum Umgehen mit Kollisionen dazu verwenden um eine Kollision in der Hashtable aus f) zu behandeln

7) Transaktionen
a) Was ist ACID? Beschreiben der Eigenschaften. 
b) MC: Welche der ACID Eigenschaften wird durch die Concurrency-Controll und welche durch das Recovery-System erreicht 
c) Wann ist ein Schedule serialisierbar?

Eventuell noch andere Fragen, das ist alles woran ich mich erinnern kann.
= Note (Optional)
Ausstehend
= Fazit (Gute/schlechte Prüfung , angemessene Benotung etc...)
Faire Fragen, imho genügend Zeit, viel im Praktikum geübtes

Nr.PrüferFach
674 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

So noch mal mit dem richtigen Prüfer ...
= Datum der Prüfung
24.07.2014
= Benötigte Lernzeit als Empfehlung
3 - 4 Wochen
= Verwendete Materialien (Bücher, Skripte etc...)
nur das Skript zur Vorlesung
= \"Atmosphäre\" der Prüfung / Verhalten der Beisitzer
KLAUSUR
= Prüfungsfragen
[MC = Multiple-Choice]

1) ERM
a) Aus einer gegebenen Instanz eines ER Modells Kardinalität und Beteiligung für eine binäre und eine ternäre Beziehung ableiten
b) Aus der Instanz die Eigenschaften einer Vererbung ableiten

2) ERM -> RM
Das ER Modell aus 1) in RM überführen

3) Algorithmen
2 * Schlüssel berechnen, einmal die Basis berechnen, Synthese-Algo zu gegebener Basis für eine Relation durchführen, Dekomposition durchführen

4) RA
a) Ergebnis eines RA Ausdrucks angeben
b) MC: ankreuzen welche Eigenschaften für eine verlustfreie Zerlegung gelten
c) MC: Gleicheit von RA Ausdrücken (z.B. gilt: R = R JOIN R ?)
d) MC: Eigenschaften einer Minimalen Menge von Operatoren der RA
e) Minimale Menge von Operatoren der RA angeben

5) SQL
Gegeben die Beschriebung der Tabellen land, wueste, geo_wueste aus dbs2
gesucht (ungefähr):
a) der Name aller Länder, die mindestens drei Wüsten enthalten, absteigend sortiert ausgeben
b) Name des Landes, Name der Wüste und Anteil der Fläche der Wüste an der Fläche des Landes ausgeben
c) Name aller Länder, die mindestens eine Wüste enthalten

d) MC: Welche SQL Ausdrücke berechnen dasselbe Ergebnis wie der RA Ausdruck R DIVISION S

6) Speicherstrukturen
---------- B-Baum
a) Wo werden in einem B-Baum neue Werte eingefügt?
b) Nennen Sie 2 Eigenschaften, die ein B-Baum mit Höhe h und Ordnung m hat (m ist hierbei die minimale Anzahl an Werten die ein Nicht-Wurzelknoten des B-Baums enthalten muss)
c) In einen gegeben B-Baum einfügen unter Verwendung der freien Plätze in den benachbarten Blättern
d) In einen gegebenen B-Baum einfügen ohne Verwendung der freien Plätze in den benachbarten Blättern
e) aus einem gegebenen B-Baum löschen
---------- Hashing
f) 6 Zahlen in eine Hashtabelle mit der Hashfunktion x mod 8 hashen
g) 2 Möglichkeiten beschreiben mit Kollisionen umzugehen
h) eine der in g) beschriebenen Möglichkeiten zum Umgehen mit Kollisionen dazu verwenden um eine Kollision in der Hashtable aus f) zu behandeln

7) Transaktionen
a) Was ist ACID? Beschreiben der Eigenschaften. 
b) MC: Welche der ACID Eigenschaften wird durch die Concurrency-Controll und welche durch das Recovery-System erreicht 
c) Wann ist ein Schedule serialisierbar?

Eventuell noch andere Fragen, das ist alles woran ich mich erinnern kann.
= Note (Optional)
Ausstehend
= Fazit (Gute/schlechte Prüfung , angemessene Benotung etc...)
Faire Fragen, imho genügend Zeit, viel im Praktikum geübtes

Nr.PrüferFach
676 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

= Datum: 24.07.2014
= Vorbereitungzeit: ich hatte nur 3 Tage, war aber ausreichend mit DB im Bachelor
= Material: nur Folien; die Vorlesung \"Neue Konzepte und Techniken für DB\" ist eine super Ergänzung
------------------------------
= Fragen:
---------
Achtung: 
1. Das ist nur eine Ergänzung zu Protokoll 674 (muss man ja nicht alles doppelt tippen)
2. bezieht sich auf die Master-/Diplom-Version
---------

----- RA:
- gegebene RA-Query mit gegeben TRC- & DRC-Ausdrücken vergleichen
- gegebene SQL-Query in RA umsetzen und anschließend nach den Regeln aus der Vorlesung optimieren
- Nested-Loop-Join im Pseudocode (ka in welchem Abschnitt das genau war)

----- SQL:
- Wirkung von 2 Querys beschreiben (1x PK-Deklaration, 1x Constraint-Deklaration)

----- B-Bäume:
- Wieviele Spilts kann es in einem Baum der Höhe h maximal geben?
- Unterschiede zw. B- und B+-Baum erläutern

------ Hashing:
- Hash-Join im Pseudocode (hier waren die Komponenten für die Erstellung der Hashtabelle und das Abfragen derselben schon gegeben, also \"nur noch\" zusammensetzen)

----- Transaktionen:
- für einen gegebenen Schedule den Serialisierungsgraphen zeichnen
- erläutern ob der Schedule serialisierbar ist

----- JDBC:
- aus ca. 15 Zeilen Code die Auswirkung der Query auf die Datenbank erklären
- Code war leicht verständlich, wenn man das einmal gemacht hat

= Note: 1,7; kam am gleichen Abend

= Fazit: Hätte definitiv viel schlimmer sein können.

Nr.PrüferFach
766 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

= Datum der Prüfung
03. August 2016

= Benötigte Lernzeit als Empfehlung
1-2 Wochen

= Verwendete Materialien (Bücher, Skripte etc...)
Folien aus der Vorlesung und Übung

= Prüfungsfragen

FD = Functional Dependency = Funktionale Abhängigkeit

Notation von Projektion, Selektion, Join usw:
SELEKTION ( Was wird selektiert | Relation )
Relation JOIN Relation ON Bedingung
...



* * * * * * * * * *
*    AUFGABE 1    * ERM und RM
* * * * * * * * * *

Gegeben Entitätstypen A, B, C, D, E und F mit folgenden Entitäten:
A = { ... }
B = { ... }
C = { ... }
D = { D1, D2, D3, D4 }
E = { E1, E2 }
F = { F3, F4 }

Und Beziehungen:
Bez1 = { ... } (zwischen A und B)
Bez2 = { ... } (zwischen A, C und D)

Sowie das Diagramm (ohne Kanten), wobei im Diagramm E und F Spezialisierungen von D sind.
Gleiche Indizes bedeuten hierbei gleiche Entitäten (also E1 = D1 und F4 = D4, usw.).

1) Vervollständigen Sie das gegebene ER-Diagramm um die Kanten, Kardinailtäten
und Totalitäten der Beziehungen und die Eigenschaften der Spezialisierung.

2) Verwandeln Sie das ER Diagramm in ein Relationen-Modell.
Versuchen Sie alle Kardinalitäten, Totalitäten etc. zu modellieren.
Primarey Key, Forein Key, Unique und Null-Constraints sind in SQL-ähnlicher Notation anzugeben.



* * * * * * * * * *
*    AUFGABE 2    * Funktionale Abhängigkeiten
* * * * * * * * * *

1) Gegeben zwei Relationen und ihre FDs.
Berechnen Sie die Schlüsselkandidaten.
Bestimmen Sie die Normalform und geben Sie an, welche FDs gegen die nächst-höhere Normalform verstoßen.

2) Gegen drei Mengen von FDs.
Bestimmen Sie für jede die Normalform.
Welche FDs verstoßen jeweils gegen die nächst-höhere Normalform?

3) Geben Sie eine formale Definition für die minimale Überdeckung an.

4) Gegeben ein Relationsschema mit funktionalen Abhängigkeiten (die bereits eine minimale Überdeckung sind).
Berechnen Sie eine Zerlegung in Teilschemata in 3NF.
Welchen Algorithmus verwenden Sie?

5) Welche der Teilrealationen (der vorherigen Zerlegung) verstoßen gegen die BCNF?
Welche FDs in diesen Teilrelationen verstoßen gegen BCNF?



* * * * * * * * * *
*    AUFGABE 3    * Relationale Anfragesprachen
* * * * * * * * * *

Gegeben zwei Relationen:

Relation R     Relation S
A | B | C      D | E | F
--+---+--      --+---+--
1 | a | 1      0 | d | 0
2 | f | 1      1 | c | 1
3 | f | 2      2 | a | 1
4 | d | 2      2 | a | 0
5 | b | 3      2 | b | 1

1) Welches Ergebnis berechnet der folgende Ausdruck:
PROJEKTION( C, E | SELEKTION( A <= 3 AND F = 1 | R JOIN S ON R.C = S.D ) )

2) Ankreuzen: Wahr oder Falsch?
 - D Der DISTINCT Operator wurde eingeführt, um Duplikate zu vermeiden.
 - Ein Join lässt sich aus dem kartesischen Produkt und der Projektion darstellen.
 - Es existiert eine minimale Operator-Menge, mit deren Hilfe man alle anderen Operatoren darstellen kann.
 - 4)	Der Natural Join ist immer Teil einer minimalen Operator-Menge.

3) Gegeben zwei Relationsschemata R(A, B) und S(B, C), die über denselben Domänen definiert sind.
Ankreuzen: Wahr oder Falsch?
 - R ∩ S = R / ( R / S )
 - R ∩ S = R ∪ S / ( R / S) ∪ ( S / R )
 - R JOIN R = R
 - R JOIN S = R JOINR.B = S.B S
 - ΠA(ΠB(R)) = ΠB(R)
 - R SEMIJOIN S = S SEMIJOIN R

* * * * * * * * * *

Gegeben folgendes Relationsschema:
PE(ID, Alter, Wohnort)
FC(Name, Gründungsjahr, Standort)
SP(Name, ID, Anzahl)

Und folgende Anfrage:
{ Alter, Spiele | ∃ id, name, jahr, ort :
( PE(id, alter, ort) AND FC(name, jahr, ort) AND SP(name, id, anzahl) AND jahr > 1900) }

1) Beschreiben Sie in Worten, was die Anfrage ausrechnet.
2) Geben Sie die freien und gebunden Variablen der WFF der Anfrage an.
3) Ist die WFF der Anfrage sicher? Begründen Sie mit Hilfe der Definition einer sicheren WFF.
4) (Multiple Choice) Zu welcher der folgenden 4 Anfragen im DRC (Domänenkalkül) ist die Anfrage äquivalent?
5) (Multiple Choice) Zu welcher der folgenden 4 Anfragen im TRC (Tupelkalkül) ist die Anfrage äquivalent?



* * * * * * * * * *
*    AUFGABE 4    * SQL
* * * * * * * * * *

Gegeben sind folgende zwei SQL-Tabellen:

CREATE TABLE kunde
{
Name
Alter
}

CREATE TABLE verkauft
{
Käufer
Verkäufer
Artikelnr
Anzahl
Datum
}

1) Welche Eigesnchaften werden durch folgende SQL-Anfrage sichergestellt:
ALTER TABLE kunde
ADD PRIMARY KEY Name

2) Welche Eigenschaften werden durch folgende SQL-Anfrage sichergestellt:
ALTER TABLE verkauft
FOREIGEN KEY Käufer
REFERENCES kunde(Name)

3) Schreiben Sie eine Anfrage, die alle Kunden (Name) und die Artikelnummer des von ihnen gekauften Artikels ausgibt, wobei die Kunden genau 18 Jahre alt sind.

4) Schreiben Sie eine Anfrage, die alle Käufer und die Anzahl ihrer gekauften ausgibt, wobei die Kunden mindestens 10 Artikel gekauft haben müssen.



* * * * * * * * * *
*    AUFGABE 5    * Anfragebearbeitung
* * * * * * * * * *

Gegeben zwei Relationen R und S.
Anzahl der Tupel: TR = 1000, TS = 50
Anzahl der Seiten: PR = 100, PS = 25

1) Schreiben Sie den Algorithmus des Nested-Loop-Joins in Pseudo-Code auf. (R als äußere Relation)
2) Wie viele Tupel-Vergleiche vergleiche werden vom Nested-Loop-Join durchgeführt, wenn R äußere Relation ist?
3) Wie viele Page-Zugriffe erfolgen, wenn R die äußere Relation ist?
4) Wie viele Page-Zugriffe erfolgen, wenn R die innere Relation ist?
5) Wann sollte R als äußere Relation gewählt werden? (Nur eins ankreuzen)
 - PR > PS
 - PR < PS
 - TR > TS
 - TR < TS
 - PR / TR > PS / TS
 - PR / TR < PS / TS
 - PR * TR > PR * TS
 - PR * TR < PR * TS



* * * * * * * * * *
*    AUFGABE 6    * Speicherstrukturen (B-Bäume und Hashing)
* * * * * * * * * *

Gegeben ein B-Baum der Höhe h = 1 und der Ordnung m = 2:

[10, 20, -, -]
[2, 4, -, -] [13, 14, -, -] [21, 23, 24, 26], [-, -, -, -], [-, -, -, -]

1) Nennen Sie zwei Eigenschaften, die ein B-Baum der Höhe h und Ordnung m hat.
2) Wie viele Splits können in einem Baum der Höhe h maximal passieren?
3) Wie unterscheidet ein B+-Baum sich von einem B-Baum?
4) Fügen Sie (ohne Ausgleich mit den Nachbarknoten) 25 in den Baum ein.
5) Löschen Sie 13 aus dem Baum.

* * * * * * * * * *

Gegeben die Hashfunktion „modulo 10“ und eine Hash-Tabelle mit 10 freien Feldern.
1) Man sollte Werte einfügen und die Hash-Tabelle danach aufschreiben (Kollisionen sind nicht passiert).
2) Welche 2 Möglichkeiten gibt es, mit Hash-Kollisionen umzugehen?



* * * * * * * * * *
*    AUFGABE 7    * Transaktionen
* * * * * * * * * *

1) Beschreiben Sie die ACID-Eigenschaften.
2) Welche der ACID-Eigenschaften werden von Recovery Manager (RM)
und welche werden vom Concurrency Control (CC) sichergestellt (ankreuzen)?

  |  CC  |  RM
--+------+------
A |      |
C |      |
I |      |
D |      |




* * * * * * * * * *
*   ANMERKUNGEN   *
* * * * * * * * * *

zu Aufgabe 3.3)

Ich bin darüber gestolpert, daher:

Die Aussage "R JOIN S = R JOINR.B = S.B S" ist nicht wahr.
Der Equijoin (links) ist zwar über die Attribute die in R und S gleich sind (also B),
aber links erscheint B nur einmal im Ergebnis, wohingegen der rechte Ausdruck S zweimal
im Ergebnis erscheinen lässt!

* * * * * * * * * *

zu Aufgabe 5.5)

Ich hab lange gebraucht um mich zu erinnern, wie es war, lohnt sich also vielleicht,
die folgende Folie genauer anzugucken. Hier eine kleine Auffrischung aus den Folien
zur Anfragebearbeitung ([8.30] Join-Methode für R JOIN S, Nested Loop Join):

beta_R = PR / TR
beta_S = PS / TS
... (Anzahl Zugegriffener Seiten)
beta_S < beta_R => R als äußere Relation
beta_R < beta_S => S als äußere Relation

* * * * * * * * * *

zu Aufgabe 6)

Leider sind die B-Bäume in der Vorlesung (findet zumindestens meine Lerngruppe) nicht gut erklärt wurden. Um Sie zu verstehen haben wir uns auf Youtube Videos vom Löschen und Einfügen angeschaut, bis es klick gemacht hat und dann viel geübt.

* * * * * * * * * *

zu Aufgabe 7.2)

Die Aufgabe kam schon in anderen Protkollen vor und meine Lerngruppe und ich haben beim
Üben gerätselt, was wohl die richtige Lösung (besonders für A und C) ist. Wir konnten uns
nicht erinnern es explizit behandelt zu haben und in den Folien stand auch nichts direktes.
Daher hier die korrekte Lösung:

  |  CC  |  RM
--+------+------
A |      |   X
C |      |       **
I |  X   |
D |      |   X

** C kann ENTWEDER im CC ODER im RM implementiert sein, man kann also das eine oder
das andere ankreuzen, weil beides richtig ist (nur nicht beide zusammen ankreuzen).

= Fazit (Gute/schlechte Prüfung , angemessene Benotung etc...)
Ich fand die Prüfung sehr machbar. Wer die Algorithmen fleißig übt (und zum Glück gibt es dazu gute Übungen und viel Material) der hat schonmal eine gute Grundlage. (Und mit Hilfe der anderen Protokolle hatte ich vorher ein gutes Bild von den sonstigen Themen^^).

Nr.PrüferFach
786 Freytag J.C. Prof. DBS1 - Grundlagen von Datenbanksystemen

Datei (Zugriff nur aus dem HU-Netz)

Protokoll_DBS1_Freytag_SoSe_2016.pdf

Nr.PrüferFach
938 Weidlich, Matthias, Prof. Dr. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

= Datum der Prüfung
2020-08-20

= Benötigte Lernzeit als Empfehlung
Hab mich ne Woche hingesetzt, aber auch sonst die Vorlesung nicht verfolgt

= Verwendete Materialien (Bücher, Skripte etc...)
Das "Script" und Video im Internetz

= "Atmosphäre" der Prüfung / Verhalten der Beisitzer
War ok. War Corona.

= Prüfungsfragen
Ich hab das ganze handschriftlich notiert, inklusive Lösungen zu den meisten Aufgaben, zu denen bei denen ich volle Punktzahl hatte. Die Datei war leider zu groß, daher verlinke ich sie aus meiner Cloud.
https://my.hidrive.com/lnk/5viMideW
Das Passwort ist "Hyggelig"

= Note (Optional)
1,7

= Fazit (Gute/schlechte Prüfung , angemessene Benotung etc...)
Sehr vollgepackte Prüfung und man hatte den Eindruck, dass überall die Fragen so kompliziert wie möglich gemacht werden sollten. Lernt nicht auf Lücke! Alles was jemals irgendwann erwähnt wurde wird gewiss in eine Klausurfrage verwandelt

Nr.PrüferFach
960 Weidlich, Matthias, Prof. Dr. DBS1 - Grundlagen von Datenbanksystemen

Protokoll

Info: Dieses Protokoll ist eine Kopie des Protokolls davor, aber da funktioniert der Link nicht mehr, sorry. Ich hab diesmal drauf geachtet, dass der Link erhalten bleibt.


= Datum der Prüfung
2020-08-20

= Benötigte Lernzeit als Empfehlung
Hab mich ne Woche hingesetzt, aber auch sonst die Vorlesung nicht verfolgt

= Verwendete Materialien (Bücher, Skripte etc...)
Das "Script" und Video im Internet

= "Atmosphäre" der Prüfung / Verhalten der Beisitzer
War ok. War Corona.

= Prüfungsfragen
Ich hab das ganze handschriftlich notiert, inklusive Lösungen zu den meisten Aufgaben, zu denen bei denen ich volle Punktzahl hatte. Die Datei war leider zu groß, daher verlinke ich sie aus meiner Cloud.
https://drive.google.com/file/d/1v9xlJ-cTDEgXQF978wzalrSc0bi9nBZO/view?usp=sharing

= Note (Optional)
1,7

= Fazit (Gute/schlechte Prüfung , angemessene Benotung etc...)
Sehr vollgepackte Prüfung und man hatte den Eindruck, dass überall die Fragen so kompliziert wie möglich gemacht werden sollten. Lernt nicht auf Lücke! Alles was jemals irgendwann erwähnt wurde wird gewiss in eine Klausurfrage verwandelt