Prüfungsprotokolle lesen
Protokolle (11 gefunden)
Nr. | Prüfer | Fach |
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üfer | Fach |
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üfer | Fach |
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üfer | Fach |
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üfer | Fach |
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üfer | Fach |
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üfer | Fach |
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üfer | Fach |
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üfer | Fach |
786 | Freytag J.C. Prof. | DBS1 - Grundlagen von Datenbanksystemen |
Datei (Zugriff nur aus dem HU-Netz)
Nr. | Prüfer | Fach |
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üfer | Fach |
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