Database Systems

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.

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