[Stud.IP]
[Dozent]
[Termine]
[Materialien]
[Prüfung]
[Punkte-DB]
[Bücher]
[Links]
MARTIN-LUTHER-UNIVERSITÄT HALLE-WITTENBERG
Institut für Informatik
Prof. Dr. Stefan Brass
Datenbanken IIB:
Implementierung von Datenbank-Managementsystemen
(Wintersemester 2011/12)
Link zur Oracle 11g Dokumentation
Die Übung findet jetzt im Raum 304 statt.
Wie in der ersten Vorlesung besprochen,
beginnt die Vorlesung um 10:05
und endet dann um 11:40 (mit 5min Pause).
Elftes Übungsblatt:
[PDF]
[ps].
Die alten Hausaufgaben finden Sie
unten.
Beispiele für Klausuren:
[Nachholklausur aus WS 2006/07]
Weitere siehe
unten.
(Liste wird ggf. noch erweitert.)
Geplante Themen
- Architektur eines DBMS
- Data Dictionary / Systemkatalog (Wiederholung)
- Einführung in die Datenbank-Administration (Oracle)
- Platten, RAID-Systeme, SANs
- Tablespaces in Oracle (logische Platten)
- Pufferung (Caching), Parameter in Oracle
- Speicherverwaltung auf Block-Ebene
(Implementierung von Dateien/Segmenten)
- Speicherverwaltung auf Tupel-Ebene
(innerhalb von Dateien/Segmenten)
- Speicher-Parameter bei der Deklaration von Tabellen in Oracle
- Index-Strukturen I: B-Bäume
- Index-Strukturen II (sofern Zeit):
Spezielle Index-Strukturen
(Cluster, Hash Cluster, Bitmap Indexes).
- Anfrage-Auswertungspläne (Query Evaluation Plans in Oracle),
Algorithmen für Operatoren der Relationalen Algebra.
- Anfrage-Optimierung (Berechnung von Auswertungsplänen).
- Backup und Recovery (sofern noch Zeit).
Dieser Kurs wird im Rahmen der
"Oracle Academy: Advanced Computer Science (OAI)"
veranstaltet.
Das bedeutet,
daß die Kursteilnehmer bestimmte Oracle-Software
für die Dauer des Kurses kostenlos lizensieren können
und einen Rabatt für Oracle-Zertifizierungsprüfungen bekommen.
Der Dozent ist
Oracle Certified Professional (Oracle8 DBA)
und
IBM Certified Database Administrator
- DB2 9 DBA for Linux, UNIX and Windows
(sowie Advanced DBA für DB2 UDB V8.1).
Dozent
Dr. Stefan Brass
- Büro:
- Raum 313
(Institut für Informatik, Von-Seckendorff-Platz 1)
- Sprechstunde:
- Mittwochs, 12:15-13:15
(und direkt nach den Vorlesungen).
- Email:
- brass@informatik.uni-halle.de
- Telefon:
- 0345/55-24740
- Fax:
- 0345/55-27333 (im Sekretariat)
- Sekretariat:
- Frau Vahrenhold, Telefon 0345/55-24750, Zimmer 324
(dienstags geschlossen)
Termine
Vorlesung (2 SWS):
- Donnerstags, 10:15-12:00 (mit 15 min Pause), Raum 1.23,
Informatikgebäude (Von-Seckendorff-Platz 1)
Übung (2 SWS):
- Zwei Stunden pro Woche,
es ist nur eine Gruppe geplant:
ID | Tag | Zeit | Raum |
Beginn | Webseite |
DO12 | Donnerstags | 12:15-13:45 |
0.03/3.32 | 13.10. |
Stud.IP |
Modulbestandteile (5 LP):
- Der durchschnittliche studentische Arbeitsaufwand
für ein Modul mit 5 LP sind 150 Stunden.
Folgende Aufteilung ist geplant:
Lehr- und Lernformen |
SWS |
Studentische Arbeitszeit |
Vorlesung |
2 |
30 Stunden |
Selbstudium |
- |
60 Stunden |
Tafelübung |
1 |
15 Stunden |
Praktische Übung |
1 |
15 Stunden |
Lösen von Hausaufgaben |
- |
30 Stunden |
Vorlesungs-Materialien
Die Folien der Vorlesung (in Englisch)
werden hier zur Verfügung gestellt.
Die Folien sind inzwischen relativ alt
und werden noch im Laufe des Semesters
aktualisiert werden.
Informationen zur Vorlesung
Skript (in Englisch)
- 1. Introduction (146 Folien) [wird noch überarbeitet]:
[Postscript, S/W, verkleinert]
[PDF, farbig, gross]
- 2. Disks and Caching (111 Folien) [wird noch überarbeitet]:
[Postscript, S/W, verkleinert]
[PDF, farbig, gross]
- 3. Physical Storage of Relations (99 Folien)
[wird noch überarbeitet]:
[Postscript, S/W, verkleinert]
[PDF, farbig, gross]
[Einige SQL-Befehle mit Ausgaben zum Experiment
- 4. B-Tree Indexes (100 Folien) [wird noch überarbeitet]:
[Postscript, S/W, verkleinert]
[PDF, farbig, gross]
- 5. More Data Structures for Relations (49 Folien)
[wird noch überarbeitet]:
[Postscript, S/W, verkleinert]
[PDF, farbig, gross]
- 6. Query Evaluation (86 Folien) [wird noch überarbeitet]:
[Postscript, S/W, verkleinert]
[PDF, farbig, gross]
- 7. Query Optimization (71 Folien) [wird noch überarbeitet]:
[Postscript, S/W, verkleinert]
[PDF, farbig, gross]
- ...
Hausaufgaben:
- Erstes Übungsblatt (File Manager):
- [PDF]
- [ps, verkleinert]
- Wie in der Übung erklärt,
ist die vorgeschlagene Schnittstelle
nur als Diskussionsgrundlage zu verstehen.
- Noch ein Hinweis:
Wenn Sie bei der Programmierung von open in file_c
die Funktion open aufrufen,
bekommen Sie natürlich eine Rekursion!
Verwenden Sie ::open(...) zum Aufruf der globalen Methode
open aus der Bibliothek.
- Zweites Übungsblatt (Fehlerbehandlung):
- [PDF]
- Wie in der Übung diskutiert,
dürfen Sie auch Exceptions zur Fehlerbehandlung einsetzen.
Beteiligen Sie sich ggf. an der Diskussion
im Forum in StudIP.
- Drittes Übungsblatt (Platten):
- Viertes Übungsblatt (Puffer Manager):
- Fünftes Übungsblatt (Segment Manager):
- Sechstes Übungsblatt (RAID Systeme, Oracle Speicherverwaltung):
- [PDF]
- [ps, verkleinert]
- Hinweis: Bitte soweit als möglich mit den gegebenen
Plattendaten rechnen.
Annahmen nur, wenn unbedingt nötig.
Bei RAID-Systemen Gleichverteilung der Zugriffe annehmen.
Abgabetermin: 14.12.2011.
Überarbeitete Versionen werden noch akzeptiert.
- Siebtes Übungsblatt
(B-Bäume, Datenstrukturen für Relationen):
- [PDF].
- [ps].
- Abgabetermin: 15.12.2011 (vor der Übung).
- Achtes Übungsblatt (Data Dictionary, Index-Auswahl):
- [PDF].
- [ps].
- Abgabetermin für 8B: 22.12.2011 (vor der Übung).
Bei den Programmieraufgaben (wie 8A) sind die Abgabetermine
großzügiger,
allerspätestens 6 Wochen vor der Klausur
muß aber feststehen,
ob Sie die Modulleistung erreicht haben
(und ich brauche auch noch einige Tage).
- Neuntes Übungsblatt (Data Dictionary: Spalten):
- Zehntes Übungsblatt (Relationenscan, Oracle QEP):
- Elftes Übungsblatt (Benchmark, Oracle QEP, Kostenschätzung):
Frühere Klausuren:
Ablauf / Terminplanung
- 13.10.2011:
Organisatorisches, Wiederholung zu DBMS Diensten,
Datenunabhängigkeit, DBMS Architektur: Schichtenmodell
(Folien 0-1 bis 0-33 und 1-1 bis 1-19)
- 20.10.2011:
Oracle Data Dictionary, Rechte, Rollen, Benutzer anlegen
Tablespaces
(Folien 1-20 bis 1-93)
- 27.10.2011:
Oracle Architektur: Daten-Dateien,
Dateien für temporäre Daten,
Control Files,
Redo Log
(Vorteile verzögerten Schreibens geänderter Blöcke),
Prozesse, Haupspeicher-Bereiche,
Einloggen für Administrator zum Starten von Oracle:
externe Passwort-Datei
(Folien 1-93 bis 1-138)
Voraussetzungen zur Teilnahme
Ich gehe davon aus,
daß die meisten Zuhörer "Datenbanken I"
besucht haben.
Genauer gibt es folgende Voraussetzungen:
- Sie sollten das relationale Modell kennen
(inklusive Integritätsbedingungen wie Schlüssel,
Fremdschlüssel, NOT NULL und CHECK-Constraints).
- Sie sollten SQL gut kennen (auch die CREATE TABLE Anweisung).
- Sie sollten einige Vorstellungen von Datenbank-Sicherheit haben
(GRANT Befehl).
- Grundkenntnisse vom ER-Modell wären nützlich.
Die Vorlesung "Datenbanken IIA" wird nicht vorausgesetzt,
die beiden Vorlesungen sind von einander unabhängig.
- Programmierkenntnisse sind nötig,
damit Sie die in der Vorlesung angegebenen Pseudocode-Algorithmen
und Datenstrukturen verstehen können.
In den Übungen kann es auch Programmier-Aufgaben geben.
- Grundkenntnisse über Datenstrukturen und Algorithmen.
- Englische Sprachkenntnisse:
Ich werde in Deutsch sprechen, aber meine Folien sind in Englisch.
Einige der Lehrbücher sind in Deutsch,
aber viele weitere Literatur ist in Englisch.
- Genug Zeit.
Was Sie in einer Vorlesung lernen,
hängt ganz wesentlich daran,
wie viel Zeit Sie investieren.
Ich empfehle dringend,
zusätzlich zum Skript auch ein Lehrbuch zu lesen.
Man beachte,
das für dieses Modul 60 Stunden
an Selbstudium geplant sind.
Prüfung
Modulvorleistung:
- Mindestens ca. 2/3 der Übungsblätter bearbeitet
und abgegeben (per EMail an den Dozenten mit Betreff [dbi11]).
Sie können einzeln oder
in Gruppen von zwei Personen abgeben,
und müssen aber jede von Ihrer Gruppe abgegebene Lösung
einzeln erklären können.
Zu ähnliche Abgaben oder offensichtlich schlechte Lösungen
zählen als nicht bearbeitet.
- Regelmäße und aktive Teilnahme an den Übungen.
Sie dürfen drei Mal fehlen,
darüber hinaus liegt es im Ermessen des Übungsleiters.
In den Übungen wird es auch Präsenzaufgaben geben.
Sie müssen sich angemessen an Diskussionen beteiligen.
- Mindestens zwei Kurzvorträge in den Übungen über
die Hausaufgaben,
dabei Beantwortung von Fragen zum Umfeld der Aufgaben.
Sie können sich die Termine für die Kurzvorträge
nicht aussuchen.
Unabhängig davon müssen Sie jede abgegebene Hausaufgabe
erklären können (nicht nur zwei).
- In Einzelfällen (begründete Ausnahmen)
kann der Modulverantwortliche
Alternativen für die Modulvorleistung anbieten,
z.B. ein Projekt mit Verteidigung.
- Als Teil der Hausaufgaben könnte eventuell
ein kleines Stück eine DBMS in C++ programmiert werden.
Z.B. Pufferverwaltung, Datenstrukturen für Relationen
und Tupel (Satzschnittstelle),
einige Operationen der Relationalenalgebra
(Auswertungspläne).
Parallele Zugriffe und Transaktionsverwaltung
würden wir weglassen,
auch SQL und Anfrageoptimierung würden wir sicher nicht schaffen.
Eventuell könnte man die Aufgaben aufteilen,
wenn man in der Übung gemeinsam die Schnittstelle entwirft.
- Es ist geplant,
dass die Teilnehmer Zugriff auf eine Oracle-Datenbank
mit DBA-Rechten bekommen.
Die Durchführung einiger typischer DBA-Aufgaben
sollte auch Teil der Übung sein.
Modulleistung:
- Die Prüfung erfolgt als Klausur
voraussichtlich am 22.03.2012, 10:00-12:00, in Raum 5.09/5.10.
Der Termin steht noch nicht absolut fest,
bitte achten Sie auf weitere Ankündigungen.
Falls es nur sehr wenig Teilnehmer geben sollte,
kann die Prüfung auch als mündliche Prüfung
erfolgen.
- Am Nachholtermin (ca. April 2012)
finden voraussichtlich mündliche Prüfungen statt.
- Die Modulvorleistung ist Voraussetzung zur Teilnahme an der Klausur
(Modulleistung).
Dies gilt auch für Diplom-Studierende.
- Beachten Sie bitte,
daß Sie sich zur Prüfung fristgemäß
anmelden müssen
(im Löwenportal oder im Prüfungsamt).
Punkte Datenbank
Die Punkte-Datenbank gibt Ihnen die Möglichkeit,
die für Sie eingetragenen Punkte für Hausaufgaben und
Klausur einzusehen,
so daß Sie sich bei möglichen Unstimmigkeiten
melden können.
Außerdem werden einige statistische Angaben
(Durchschnittspunktzahl etc.) angezeigt.
Wir hoffen,
die Bewertung so transparenter zu machen.
Inzwischen hat die Übungsplattform in StudIP
ähnliche Möglichkeiten,
und eine bessere Benutzerschnittstelle.
Für einen Datenbank-Kurs ist es aber gut,
eine praktische Anwendung zu haben.
Ich habe schon manches dadurch gelernt.
Eine vereinfachte Version der Punkte-Datenbank wird
auch in der Vorlesung als Beispiel verwendet.
Ich entwickle die Punkte-Datenbank noch weiter (wenn ich Zeit habe),
Verbesserungsvorschläge sind also willkommen.
Wir können die Sicherheit Ihrer Daten nicht garantieren
(obwohl wir uns natürlich etwas Mühe geben).
Falls Sie Ihre Daten nicht in der Punkte-Datenbank wünschen,
melden Sie sich bitte.
Ansonsten könnte sich jemand anders unter Ihrem Namen eintragen
und dann Ihre Punkte einsehen.
Sich nicht einzutragen und nicht zu melden
wäre also für den Datenschutz
sogar besonders gefährlich.
Literatur (Bücher)
Allgemeine Datenbank-Lehrbücher
(mit Teil über DBMS-Implementierung)
- Alfons Kemper, André Eickler:
Datenbanksysteme. Eine Einführung. 7. Auflage.
Oldenbourg, 2009, ISBN: 3486590189, 718 Seiten.
[Amazon.De]
- Ramez Elmasri, Shamkant B. Navathe:
Fundamentals of Database Systems, 5th Edition
Addison Wesley, 2006,
ISBN 032141506X, 1168 pages.
[Elmasri]
[Navathe]
[Price Comparison]
[Amazon.De]
- Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom:
Database Systems: The Complete Book. 2nd Edition.
Prentice Hall, 2008, ISBN: 0131354280, 1248 pages.
[Amazon.De]
- Raghu Ramakrishnan, Johannes Gehrke:
Database Management Systems. 3rd Edition.
McGraw-Hill, 2002, ISBN: 0071151109, 1065 pages.
[Amazon.De]
- Gottfried Vossen:
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme,
5. Auflage.
Oldenbourg, 2008, ISBN: 3486275747, 821 Seiten.
[Amazon.De]
Bücher speziell über DBMS-Interna und Performance Tuning
- Gunter Saake, Andreas Heuer:
Datenbanken: Implementierungstechniken, 2. Auflage
MITP-Verlag, 2005, ISBN 3-8266-1438-0, 869 Seiten.
[Amazon.De]
- Theo Härder, Erhard Rahm:
Datenbanksysteme: Konzepte und Techniken der Implementierung,
2. Auflage
Springer, 2001, ISBN 3-540-42133-5, 582 pages.
[Amazon.De]
- Jim Gray, Andreas Reuter:
Transaction Processing: Concepts and Techniques.
Morgan Kaufmann, 1993, ISBN 1-55860-190-2, 1070 pages.
[Amazon.De]
- Mark Gurry, Peter Corrigan:
Oracle Performance Tuning, 2nd Edition.
O'Reilly, 1997, ISBN 1-56592-237-9, 968 pages.
[Amazon.De]
Verweise auf wissenschaftliche Literatur
- Forschungsprojekt zur Technik der Beschichtung
von Festplattenoberflächen
- RAID-Systeme
- Freispeicherverwaltung in Datenbanksystemen
- Datenstrukturen zur Abspeicherung von Relationen
- Puffer-Verwaltung in DBMSen (Caching von DB-Blöcken)
- Hong-Tai Chou, David J. DeWitt:
An Evaluation of Buffer Management Strategies for
Relational Database Systems.
VLDB 1985: 127-14.
[Eintrag auf www.vldb.org]
- Raymond Ng, Christos Faloutsos, Timos Sellis:
Flexible buffer allocation based on marginal gains.
Proceedings of the 1991 ACM SIGMOD international conference
on Management of data,
pages 387-396.
[Eintrag in der ACM Digital Library]
- Christos Faloutsos, Raymond T. Ng, Timos K. Sellis:
Predictive Load Control for Flexible Buffer Allocation.
VLDB 1991: 265-274
[Eintrag auf www.vldb.org]
Weitere Informationsquellen im WWW
Informationen zur Installation von Oracle:
Informationen Zertifizierung als Oracle-DBA:
Informationen zur IBM DB2 Zertifizierung
Meine Sammlung von WWW-Referenzen:
Weitere Informationsquellen:
Stefan Brass
(brass@informatik.uni-halle.de),
05. April 2010
Original URL:
http://www.informatik.uni-halle.de/~brass/dbi10/
[XHTML 1.0 Checked]
[CSS 2.1 Checked]
[Links Geprüft]