Datenbanksysteme (DBS)

Belegbar Sommersemester, Wintersemester
ECTS-Punkte 10 (ca. 300 Stunden)
Fachgebiet Praktische Informatik

Ziel des Moduls

Das Modul vermittelt grundlegende Erkenntnisse, Methoden und Techniken, die für den Entwurf, die Implementierung und die Anwendung von Datenbanken in der Praxis notwendig sind.

Inhalt des Moduls
  • Architekturmodelle von Datenbanksystemen I + II
  • Grundlagen des relationalen Datenmodells
  • Relationales und objektrelationales SQL
  • Datenbankentwurf und Qualitätssicherung
  • Datenintegration und -analyse
  • Datenbanksystemtechnik
  • XML und Datenbanken
Inhalt im Detail

DBS 1: Architekturmodelle von Datenbanksystemen I

  • Grundkonzepte für die Architektur von Datenbanksystemen: Ausgangspunkte für die Entwicklung von Datenbanksystemen; Das 3-Ebenen-Architekturkonzept für Datenbanken
  • Aufbau und Wirkungsweise von Datenbankmanagementsystemen: Abarbeiten einer Anfrage; Schichtenmodell für Datenbankmanagementsysteme; DBMS-interne Schnittstellen; Komponenten eines DBMS
  • Physische Architekturkonzepte für Datenbanksysteme: Zentralisierte Datenbanksysteme; Verteilte Datenbanksysteme
  • Server-Architekturen für Datenbanksysteme: Client/Server-Konzept; Anfrageserver-Konzept; Seitenserver-Konzept

DBS 2: Grundlagen des relationalen Datenmodells

  • Grundlagen des relationalen Modells: Struktur; Operationen
  • Relationen: Formale Interpretation; Relationen-Begriff; Relationen zur Beschreibung von Informationen; Struktur von Relationen; Äquivalente Relationen; Die Alternative
  • Relationale Algebra: Mengentheoretische Operationen; Selektion; Projektion; Verbund (Join); Division; Relationale Ausdrücke; Relationale Operationen in der Sprache SQL
  • Relationenkalküle: Tupelkalkül; Domainkalkül
  • Funktionale Abhängigkeiten: Definition; Schlüssel; Strukturgesetze für funktionale Abhängigkeiten; Verlustfreie Zerlegung; Zum Strukturbegriff von Relationen

DBS 3: Relationales und objektrelationales SQL

  • Datendefinition in SQL: Tabellendeklaration; Beispielanwendung Buchverlag; Verändern von Relationenstrukturen; Zugriffsschutz
  • Datenmanipulation in SQL: INSERT-Anweisung; DELETE-Anweisung; UPDATE-Anweisung
  • Anfragen in SQL: Das SELECT-Grundformat; Projektion um Umbenennung; Selektion; Aggregation; Mengenoperationen; Produkte und Join-Anfragen; Unteranfragen (Subqueries); Rekursive Anfragen; Sichtendefinition
  • Objektrelationale Konzepte in SQL:1999 und SQL:2003: Grundlegende objektorientierte Konzepte; Objektrelationale Datenbanken und SQL

DBS 4: Datenbankentwurf und Qualitätssicherung

  • Ausgangspunkte für einen qualitätsgerechten Datenbankentwurf: Datenbankentwurfs-Aufgaben; Grundlegende Qualitätskriterien für den Datenbankentwurf; Grundsätze ordnungsmäßiger Modellierung
  • Der Datenbank-Lebenszyklus: Organisatorisches Umfeld von Datenbanken; Lebenszyklus eines Informationssystems; Lebenszyklus von Datenbankanwendungen
  • Die Entwurfsphasen im Überblick: Entwurfsprozess; Daten- und funktionale Anforderungen
  • Konzepte der Datenmodellierung: Abstraktionskonzepte; Entity-Relationship-Modell
  • Konzeptioneller Entwurf: Mögliche Vorgehensweisen; Qualitätsmerkmale; Auswahl des Zielsystems
  • Logischer Entwurf: Vorbereitungen; Transformations-Regeln
  • Implementierungsentwurf: Normalformen für Relationenschemata; Sichten und Zugriffsrechte
  • Physischer Entwurf: Zielsetzungen; Beispiel: DB2-Speicherorganisation
  • Datenbankschema-Deklaration: Deklaration der Tabellen mit SQL; Sichten und Zugriffsrechte

DBS 5: Datenintegration und -analyse

  • Datenintegration: Virtuelle Systeme; Materialisierte Systeme
  • Datenwarenhäuser: Aufbau eines Datenlagers; Datenlager-Wartung
  • Grundlagen des Online Analytical Processing (OLAP): Mehrdimensionale Daten und Würfelsicht; Schemaformen für das OLAP, Datenlager-Entwurf und Qualitätssicherung; Die OLAP-Operatoren von SQL:1999; Effiziente Speicherung von Faktentabellen
  • Data Mining: Ziele, Motivationen und Anwendungen des Data Mining; Klassifikationen; Cluster-Bildung; Assoziationsregeln; Berechnung von Assoziationsregeln; Analyse von Ereignissequenzen; Sprachkonstrukte für das Data Mining

DBS 6: Datenbanksystemtechnik

  • Integritätssicherung über Assertions und Trigger: Assertions und deren Anwendung; Trigger
  • Organisation der Datenspeicherung: Plattenspeicher, Blöcke und Blockzugriffe; Indexierung von Dateien; B-Baum- und B*-Baum-Indexstrukturen; Hash-Organisationsformen
  • Verarbeitung, insbesondere Optimierung von Anfragen: Anfrageverarbeitung im Überblick; Anfrage-Optimierung; Implementierungstechniken für den Verbund
  • Transaktionsverarbeitung: Das Konzept der Read-Write-Transaktionen; Klassische Synchronisationsprobleme. Das ACID-Prinzip; Korrektheitskonzepte für Schedules; Das 2-Phasen-Sperrprotokoll; Concurrency Control oberhalb der Page-Ebene; Grundlagen der Recovery

DBS 7: XML und Datenbanken

  • Einführung in XML: HTML und XML; Grundlegende Strukturkonzepte von XML und deren Verwendung; Namensräume
  • XML-Grammatiken: Gültige XML-Dokumente; Dokument-Typ-Definitionen im Überblick; XML Schema Description Language (XSD)
  • Link- und Anfragesprachen von XML: Linksprache XLink; Lokatorsprache XPath; Anfragesprache XQuery
  • Stylesheets und XML-Transformationen: XSLT; XSL-FO
  • XML und Datenbanken: Speicherung von XML-Dokumenten; XML-Unterstützung in Relationalen/Objektrelationalen DBMS am Beispiel von Oracle; XML-Unterstützung in nativen XML-DBMS am Beispiel von Tamino XML-Server

DBS 8: Architekturmodelle von Datenbanksystemen II

  • Einführung in verteilte Datenbanksysteme: Zentrale Datenbanksysteme; Verteilte Datenbanksysteme
  • Homogene Verteilung: Transparenzaspekte; Anforderungen an homogene verteilte Datenbanksysteme; Schemaentwurf, Anfrageverarbeitung; Synchronisation von Transaktionen; Erkennung von Verklemmungen; Fehlerbehandlung
  • Heterogene Verteilung: Motivation und Ziele; Schemaebenen in Multidatenbanksystemen; Grundprobleme der Transaktionsverarbeitung
  • Parallele Datenbanksysteme: Architekturformen; Ebenen der Parallelität
  • Datenbankanbindungen an das Internet: Anwendungsprogrammierung
  • Verwendung von SQL in Anwendungsprogrammen; Technische Internet-Konzepte; Datenbankanbindungen in Web-Anwendungen mit PHP; Datenbanken und Java; Semistrukturierte Daten und XML

DBS 9: Präsenzpraktikum

Im Präsenzpraktikum arbeiten Sie mit dem Datenbanksystem Oracle. 

  • Datenmodellierung: Datenmodellierung mit dem ER-Modell; Entwicklung der Relationen aus dem ER-Modell; Normalisierung; Netzwerk- und hierarchische Modelle
  • Implementierung mit SQL: Definition der Tabellen und Indizes; Integritätsbedingungen; Views; Berechtigungen
  • Abfrage und Manipulation der Daten mit SQL: Anfragen an das Data Dictionary; Anfragen an die Anwendungsdatenbank
  • Skripts in Oracle SQL*Plus: Anwendungsprogrammierung
  • Objektrelationale Datenbanken
Umfang des Moduls
  • 8 Lehrhefte mit Übungsaufgaben
  • Präsenzpraktikum (1 Woche)
Empfohlene Vorkenntnisse

Gute mathematische, insbesondere algebraische, Grundkenntnisse in einem Umfang und einer Tiefe, wie sie der Vorkurs Mathematik vermittelt. Fähigkeit zum abstrakten Denken. Grundkenntnisse in einer Programmiersprache (z.B. C, C++, Java).