Database Systems

DBMS Relational Model   ER-Diagrams   SQL   XML   JSON

This module on Master's level gives an introduction to databases and database management systems (DBMS), with focus on relational databases and an overview on NoSQL databases.

Content

Topics include

  • Basic concepts of databases and database management systems (architecture, functionality)
  • Data modeling using Entity Relationship and UML diagrams
  • The relational data model
  • SQL basics (including transactions)
  • Database applications: create database clients using Java and PHP
  • Data exchange languages (XML, JSON)
  • NoSQL-databases

The course description in German can be found on the Campusboard-platform of the university.

Learning goals

On completion of this course you should be able to:

  • describe basic concepts of databases
  • know the architecture and functionality of database management systems (DBMS)
  • explain the relational data model
  • design relational databases using Entity-Relationship Modeling and UML
  • use basic SQL-Syntax for select and update operations on the database
  • implement relational databases using SQL Server and MySQL as DBMS
  • implement simple database clients in Java or PHP

Literature

Here a selection of recommended readings.

  • 1. Kemper, Alfons; Eickler, André: Datenbanksysteme. Eine Einführung. 10. Auflage; München: Oldenbourg Verlag, 2015. ISBN 978-3-11-044375-2.
  • 2. Pernul G./Unland, R.: Datenbanken im Unternehmen. Analyse, Modellbildung und Einsatz. 2. Auflage; München: Oldenbourg Verlag, 2003. ISBN 3486272101.
  • 3. Vossen, Gottfried: Datenmodelle, Datenbanksprachen, und Datenmodellierung. 5. Auflage; München: Oldenbourg Verlag, 2008.
  • 4. Ramez A. Elmasri / Shamkant B. Navathe, Grundlagen von Datenbanksystemen, Pearson, 2009. 978-3-8689-4012-1.
  • 5. Kemper, Alfons; Wimmer, Martin: Übungsbuch Datenbanksysteme. 3. Auflage; München: Oldenbourg Verlag, 2011.

Software

As software, we use mainly XAMMP with MySQL / MariaDB and phpMyAdmin as user interface and SQL Server Express with SQL Server Management Studio (SSMS).

  • MySQL (as part of XAMPP)
    MySQL or the newer MariaDB are open source databases used frequently in web applications. For development purposes, we use the XAMPP-package, that contains the Apache Webserver, Tomcat, PHP and also phpMyAdmin as management user interface for the DBMS.
  • MySQL Workbench
    MySQL Workbench is a unified visual tool for MySQL that provides data modeling, SQL development, and administration tools, similar to SSMS. We use it because of its reverse engineering features. Using reverse engineering, you can generate nice ER diagrams from existing databases.
  • SQL Server Express:
    SQL Server is a powerful enterprise level database management system (DBMS), with many features. For entry level, it may appear overwhelming, especially since much of the functionality is hidden in context menus, but it is well worth the effort and the express edition is free for educational use.
  • yED Graph Editor
    With yED, we develop ER and UML-diagrams.


Learning Resources

  • SQL-Tutorial (Deutsch) »

    Das SQL-Tutorial gibt eine kompakte Übersicht der wichtigsten und am meisten genutzten SQL-Befehle, gruppiert nach Einsatzbereich: Befehle zur Datenabfrage und Datenmanipulation (DML, data manipulation language), Befehle zur Definition von Datenbankobjekten (DDL, data definition language), und Befehle zur Kontrolle von Zugangsberechtigungen (DCL, data control language). Die Beispiele beziehen sich auf eine University-Datenbank, die die Daten über Studiengänge, Module, Studenten und Prüfungen in einer Universitätsumgebung verwaltet, und die als Datenhaltungsschicht für eine Webanwendung verwendet werden soll. Die Beispiele beziehen sich auf eine University-Datenbank, die die Daten über Studiengänge, Module, Studenten und Prüfungen in einer Universitätsumgebung verwaltet, und die als Datenhaltungsschicht für eine Webanwendung verwendet werden soll.

  • Erste Schritte mit phpMyAdmin(Deutsch) »

    Das vorliegende phpMyAdmin-Tutorial gibt eine kompakte Übersicht über die Verwendung von phpMyAdmin zur Erstellung, Verwaltung und Abfrage von MySQL- bzw. MariaDB-Datenbanken. Wir verwenden dabei das XAMPP-Programmpaket, das MySQL/MariaDB und phpMyAdmin beinhaltet, und zeigen, wie die Struktur einer Datenbank (Tabellen, Integritätseinschränkungen, Sichten) mit der Benutzeroberfläche erstellt wird, wie die Datenbank über die Benutzeroberfläche und mit der Import-Funktionalität mit Daten befüllt wird, und wie Datenbank-Struktur und Inhalte mit der Export-Funktionalität exportiert werden.