Datenbanken IIB: DBMS-Implementierung

Allgemeine Informationen

Dies ist die Homepage der Vorlesung „Datenbanken IIB: DBMS-Implementierung” an der Martin-Luther-Universität Halle-Wittenberg im Wintersemester 2023/24. Die Vorlesung wird gehalten von Prof. Dr. Stefan Brass. Sie hat 5 Leistungspunkte, 2+2 SWS und ist u.a. für die Master-Studiengänge Informatik, Bioinformatik und Wirtschaftsinformatik gedacht. Genauere Angaben finden sich in der offiziellen Modulbeschreibung.

Hinweis:

PDF-Datein der Folien finden Sie im Menu links unter Folien.

Vergessen Sie die Modul-Anmeldung im Löwenportal nicht! Sie ist nur in den ersten zwei Wochen des Semesters möglich. Ohne Modulanmeldung können Sie sich später nicht zur Prüfung anmelden.

Erste Vorlesung:

Die erste Vorlesung ist am Donnerstag, den 12.10.2023, 12:15-13:45, im Raum 3.04 im Von-Seckendorff-Platz 1 [Google Maps] [Orientierungsplan].

Die Vorlesung wird aufgezeichnet. Die Vorlesungsaufzeichnung sollte spätestens ab Freitag morgen in StudIP zur Verfügung stehen (Reiter „Opencast”). Es wird aber Präsenzteilnahme empfohlen! Die Aufzeichnung ist nur für Ausnahmefälle gedacht. Falls eine Aufnahme misslungen sein sollte, gibt es keine Garantie, dass die Aufzeichnung wiederholt wird.

Erste Übung:

Die Übung findet 10:15–11:45 in Präsenz im Hörsaal 1.26 statt (gleiches Gebäude wie die Vorlesung: Von-Seckendorff-Platz 1). Sie beginnt in der zweiten Semesterwoche, also am 19.10.2023.

Von der Übung gibt es keine Aufzeichnung. Es sollen ja auch Teilnehmerinnen und Teilnehmer der Übung an der Tafel ihre Lösungen vorführen.

Bitte in StudIP eintragen:

Tragen Sie sich bitte in StudIP für diese Vorlesung ein. Eventuelle dringende Informationen werden über den EMail-Verteiler von StudIP versendet.

Lernziele:

Dies ist eine Spezialvorlesung aus dem Datenbank-Bereich. Nach erfolgreicher Teilnahme an dieser Vorlesung sollten die Teilnehmenden Folgendes können:

  • Erklären, wie Datenbank-Managementsysteme intern funktionieren. Insbesondere gehören dazu Datenstrukturen für Relationen und Indexe, sowie die Themen Anfrageoptimierung und Anfrageauswertung.
  • Selbst ein DBMS oder Teile davon entwicklen (entsprechende Zeit vorausgesetzt, diese Aufgabe ist normalerweise für eine einzelne Person zu groß. In den Übungen werden kleine Teile eines DBMS programmiert.).
  • Maßnahmen zur Leistungssteigerung (Performance Tuning) vorschlagen, insbesondere für das in den Übungen verwendete DBMS (zur Zeit Oracle).
  • Ein wichtiger Teil davon ist die Fähigkeit, gute Indexe für eine gegebene SQL-Anfrage vorschlagen zu können.
  • Anfragen an den Systemkatalog (Data Dictionary) in SQL formulieren, insbesondere auch für die Leistung wichtige Daten abfragen.
  • Ein DBMS administrieren (nach kurzer Einarbeitung).

Inhalte (vorläufige Planung):

  • Architektur eines DBMS
  • Data Dictionary / Systemkatalog (Wiederholung)
  • Einführung in die Datenbank-Administration (Oracle)
  • Platten, RAID-Systeme, SAN-Systeme
  • Pufferung (Caching)
  • Tablespaces in Oracle (logische Platten)
  • Speicherverwaltung auf Block-Ebene (Implementierung von Dateien/Segmenten)
  • Speicherverwaltung auf Tupel-Ebene (innerhalb von Dateien/Segmenten)
  • Tupelformat
  • 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).

Der Dozent hat inzwischen veraltete DBA-Zertifizierungen: Er 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), siehe: Aktuelle DB2-Zertifizierung). Falls Sie eine DBA-Zertifizierung für Oracle anstreben, könnte diese Vorlesung ein Teil Ihrer Vorbereitung sein, würde aber alleine nicht ausreichen.

Teilnahmevoraussetzungen:

Ich gehe davon aus, dass die meisten Zuhörer wenigstens „Einführung in Datenbanken” besucht haben, am besten auch „Datenbank-Programmierung”. 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 gibt es ernsthafte Programmier-Aufgaben, die gute Programmierfähigkeiten voraussetzen.
  • 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 45 Stunden an Selbstudium geplant sind.

Wenn Sie nicht anständig programmieren können, z.B. weil Sie ein Quereinsteiger in den Wirtschaftsinformatik-Master von der BWL sind, ist dies nicht die richtige Vorlesung für Sie!

Prof. Dr. Stefan Brass
Impressum