Ausgangspunkt einer Reihe von aufeinander aufbauenden Abstraktionen ist die Speicherung von Daten auf Hintergrundspeichern. Die erste Abstraktion ist die Datei. Dann werden Sätze eingeführt und auf verschiedene Weisen in Blöcken organisiert (sequenziell, mit Direktzugriff, indexsequentiell). Das schließt die Organisation eines Blockpuffers und Zugriffspfade (Indexstrukturen) unterschiedlichen Typs ein. Als zweite große Abstraktion werden Datenmodelle eingeführt und hier insbesondere das relationale. Dazu gehören sowohl Strukturen als auch Anfragesprachen wie SQL.
Der zweite Teil befasst sich mit der Realisierung der Leistungen eines Datenbanksystems unter Verwendung der vorher eingeführten Sätze und Zugriffspfade ("top-down"). Das umfasst die Anfrageverarbeitung und -optimierung, aber auch die Mechanismen zur Protokollierung von Aktionen und zur Wiederherstellung von Datenzuständen nach einem Fehler oder Ausfall. Ein Schichtenmodell fasst abschließend die Aufgaben in einer Architektur für Datenbank-Verwaltungssysteme zusammen. Ziel der Vorlesung ist es also, ein grundlegendes Verständnis für den Aufbau und die Funktionsweise eines Datenbanksystems zu vermitteln.
kennen das Schichtenmodell eines Datenbankverwaltungssystems;
verstehen das Prinzip der Datenunabhängigkeit (Datenabstraktion);
beherrschen das Aufbauprinzip einer Software-Schicht;
unterscheiden die Begriffe "Datenbank", "Datenbanksystem" und "Datenbankverwaltungssystem";
unterscheiden die Begriffe "Datenmodell" und "Schema";
zeigen das Konzept der blockorientierten Datei mit ihren Zugriffsoperationen auf;
unterscheiden einen Satz von einem Block;
erklären das Konzept der sequentiellen Satzdatei;
schildern das Prinzip der Wechselpuffertechnik;
charakterisieren den Schlüsselzugriff auf Sätze;
stellen Gestreute Speicherung (Hashing) auf der Basis von Blöcken (Buckets) dar;
formulieren die Funktionsweise des Virtuellen Hashings;
fassen die Funktionsweise eines B-Baums zusammen;
unterscheiden die Dienste eines B-Baums von denen des Hashings;
können für eine Folge von Schlüsselwerten einen B-Baum aufbauen;
unterscheiden einen B-Baum von einem B-Stern-Baum (B+-Baum);
veranschaulichen einen Bitmap-Index;
unterscheiden die Primär- und Sekundärorganisation von Sätzen;
zählen Ersetzungsstrategien der Pufferverwaltung auf und vergleichen sie;
benennen die Dienste einer Pufferverwaltung;
erklären die Konzepte "Seite" und "Segment" im Gegensatz zu "Block" und "Datei";
unterscheiden direkte und indirekte Seitenzuordnung;
interpretieren in Programmiersprachen eingebettete Anfragesprachen und Datenbank-Unterprogrammaufrufe;
charakterisieren Datenbank-Transaktionen;
kennen die Aufrufe zur Definition von Transaktionen;
erläutern die spaltenweise Abspeicherung von Relationen;
diskutieren die algebraische Optimierung von Anfragen;
stellen Planoperatoren eines Datenbanksystems dar;
unterscheiden Planoperatoren für den Verbund;
beschreiben Kostenformeln für die Abschätzung von Anfrageausführungen;
schildern die verschiedenen Anomalien im Mehrbenutzerbetrieb;
beschreiben die Serialisierbarkeit von Transaktionen;
erläutern das Konzept der Sperren in Datenbanksystemen;
unterscheiden physische und logische Konsistenz;
kennen die vier Recovery-Klassen;
erläutern die verschiedenen Arten von Sicherungspunkten.