Datenbanksysteme (DBS)

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

Ziel des Moduls

Informatikerinnen und Informatiker werden in vielen beruflichen Tätigkeitsfeldern mit Datenbanksystemen konfrontiert: in der Entwicklung datenbankgestützter Geschäftsanwendungen, in der Datenbankadministration, bei Analysen für Führungskräfte oder Produktmanagement, beim Befüllen und Verwenden von Data Warehouses uvm. Das Modul vermittelt die dazu notwendigen Erkenntnisse, Methoden und Techniken.

Inhalt des Moduls
  • Grundkonzepte, Systemarchitektur und Schichtenmodell
  • Datenbankentwurf im Entity-Relationship-Modell
  • Relationales Modell und relationale Algebra
  • SQL
  • Relationale Entwurfstheorie, funktionale Abhängigkeiten und Normalformen
  • Transaktionen und Mehrbenutzersynchronisation
  • Physische Speicherorganisation und Anfrageoptimierung
  • Anwendungsentwicklung mit Datenbanken
  • OLAP und Data Warehouse
  • Semistrukturierte Daten und NoSQL-Datenbanken
Inhalt im Detail

DBS 1: Grundkonzepte, Systemarchitektur und Schichtenmodell

  • Datenbanken und Datenbanknutzer
  • Datenbanksystemkonzepte und Architektur

DBS 2: Datenbankentwurf im Entity-Relationship-Modell

  • Datenmodellierung mit Hilfe des Entity-Relationship-Modells
  • Erweitertes Entity-Relationship-Modell und Objektmodellierung

DBS 3: Relationales Modell und relationale Algebra

  • Das relationale Datenmodell, relationale Einschränkungen und relationale Algebra
  • Relationaler Datenbankentwurf
  • Überführung von Konzepten des EER-Modells in Relationen

DBS 4: SQL

  • Datendefinition
  • Anfragen
  • Insert-, Delete- und Update-Anweisungen
  • Views
  • Spezifikation allgemeiner Einschränkungen
  • Weitere SQL-Merkmale

DBS 5: Relationale Entwurfstheorie, funktionale Abhängigkeiten und Normalformen

  • Funktionale Abhängigkeiten und Normalisierung: Schlüssel; Normalformen (1NF, 2NF, 3NF, BCNF)
  • Algorithmen für den relationalen Datenbankentwurf und weitere Abhängigkeiten

DBS 6: Transaktionen und Mehrbenutzersynchronisation

  • Konzepte der Transaktionsverarbeitung
  • Techniken zur Nebenläufigkeitskontrolle

DBS 7: Physische Speicherorganisation und Anfrageoptimierung

  • Physische Speicherorganisation: Charakteristika von Speichermedien; Segmente und Seiten; Pufferverwaltung; Adressierung von Sätzen
  • Logging und Recovery: Fehlerarten; Logging; Wiederanlauf
  • Indizes: Sequentielle Zugriffspfade; Baumstrukturierte Zugriffspfade; Hashbasierte Zugriffspfade; Vor- und Nachteile der gezeigten Zugriffspfade; Verwendung von Zugriffspfaden in SQL
  • Anfrageoptimierung: Einführung; Umsetzung ausgewählter relationaler Operationen; Standardisierung, Vereinfachung, Restrukturierung, Transformation

DBS 8: Anwendungsentwicklung mit Datenbanken

  • Grundlagen: Client-Server-Konzept; Schichtenarchitektur von Datenbankanwendungen; Impedance Mismatch
  • Programmierschnittstellen: Programmieren mit Datenbanksystemen; Eingebettetes SQL; Dynamisches SQL; Programmieren innerhalb des DBS: PL/SQL
  • Entwurfsmuster: Datenbankzugriffe innerhalb von Anwendungsprogrammen; Table Data Gateway; Row Data Gateway; Data Access Object; Active Record; Transaction Script; Connection Pool; O/R-Mapper (Data Mapper)
  • Besonderheiten im Entwicklungsprozess: DBS im Softwareentwicklungsprozess; Eingebettete DBMS; Testbarkeit

DBS 9: OLAP und Data Warehouse

  • Grundlagen: OLAP und OLTP; Anwendungsfälle für OLAP; Gewachsene und geplante Datenarchitektur; Data Warehouse
  • Dimensionale Modellierung: Grundidee; Sternschema und Schneeflockenschema; DWH-Entwicklungsprozess; Cubes, ROLAP und MOLAP
  • Umsetzung und Bewirtschaftung des DWH: Bewirtschaftung eines DWH; Komponenten des DWH; ETL und ELT; ELT-Technologien; Betriebsaspekte
  • Analytische Anfragen in SQL: Analytische Anfragen in Standard-SQL; OLAP-Funktionen in Oracle

DBS 10: Semistrukturierte Daten und NoSQL-Datenbanken

  • Semistrukturierte Daten: Strukturierte Daten; Unstrukturierte Daten; Semistrukturierte Daten
  • XML und JSON
  • Semistrukturierte Daten in relationalen DBS: Einführung; XML in relationalen Datenbanken; JSON in relationalen Datenbanken
  • NoSQL-Datenbanksysteme: Einführung; Kategorien von NoSQL-Datenbanksystemen
  • NoSQL - Key-Value-Stores: Motivation; Einführung Redis; Datenstrukturen in Redis; Persistenz; Transaktionen; Weitere Möglichkeiten
  • NoSQL - Dokumentenorientierte DBS: Motivation; Einführung MongoDB; Anfragen MongoDB; Transaktionen; Weitere Möglichkeiten
Umfang des Moduls
  • Lehrbuch mit Begleittext
  • 4 Lehrhefte
  • Übungsaufgaben
  • Studienbegleitendes Online-Tutorium
  • Prüfungstag - Art der Durchführung
Empfohlene Vorkenntnisse

Gute mathematische, insbesondere algebraische, Grundkenntnisse in einem Umfang und einer Tiefe, wie sie das Propädeutikum Mathematik vermittelt. Fähigkeit zum abstrakten Denken. Grundkenntnisse in einer Programmiersprache sind von Vorteil.

Leseprobe

Lehrbuch
Grundlagen von Datenbanksystemen
(in den Modulkosten enthalten)

Lehrhefte
DBS 9: OLAP und Data Warehouse, Kapitel 1
DBS 10: Semistrukturierte Daten und NoSQL, Kapitel 5

back-to-top nach oben