Friedrich-Alexander-Universität DruckenUnivisDeutsch FAU-Logo
Techn. Fakultät Willkommen am Institut für Informatik FAU-Logo
cpn@work cpn@home alpha-Flow
Logo IMMD
Chair for Computer Science 6
Curriculum
Lectures
Exercises and Practice
Further Teaching
Unavailable
Dept. of Computer Science  >  CS 6  >  Teaching  >  Curriculum  >  Systems Programming II

Systems Programming II
(from WS 2004/2005 on: Software Systems II)

Content

The lecture is to introduce complex software systems that require modularization and layers with abstraction. It does so using database systems as an example. The emphasis therefore is on technological aspects of database systems.

The storage of data on non-volatile storage serves as a starting point for a sequence of abstractions which are defined on top of each other. The first abstraction is the file. Then records are introduced and organized in blocks in different ways (sequentially, with direct access, index-sequentially). As a second major abstraction, data models are introduced, especially the relational data model. That includes structures as well as query languages like SQL.

In the second part of the lecture these structures are used to create database applications. To do that, a database schema must be defined, and this schema should have specific properties not to inhibit the later development of applications that work with it. Access to the database by the applications is also considered, using interfaces like ODBC and embedded SQL. The part concludes with the concept of transaction as a database service that simplifies programming. The programmer need not take into account neither the repair of data after failures nor concurrent accesses to data.

The third part deals with the implementation of all these services, using the previously discussed records and access paths. This includes query processing and optimization, but also mechanisms to log actions and to recover data after failures. A layered architecture for database management systems finally comprises all the tasks. The goal of the lecture thus is to create a fundamental understanding of the structure and functionality of a particular software system, namely a database system.

Literature

Heue03a HEUER, Andreas ; SAAKE, Gunter ; SATTLER, Kai-Uwe: Datenbanken kompakt. 2. Aufl. Bonn : mitp, 2003. - ISBN 3-8266-0987-5
Kemp04a KEMPER, Alfons ; EICKLER, André: Datenbanksysteme : Eine Einführung. 5., aktual. u. erw. Aufl. München ; Wien : Oldenbourg, 2004. - ISBN 3-486-27392-2
Heue00a HEUER, Andreas ; SAAKE, Gunter: Datenbanken : Konzepte und Sprachen. 2. Aufl. Bonn : MITP-Verlag, 2000. - ISBN 3-8266-0619-1
Haer99a HÄRDER, Theo ; RAHM, Erhard: Datenbanksysteme : Konzepte und Techniken der Implementierung. Berlin : Springer, 1999 - ISBN 3-540-65040-7
This book and the associated lecture have been the prime source for SP2. Thanks to Prof. Härder for the extensive suppport!
Saak99a SAAKE, Gunter ; HEUER, Andreas: Datenbanken : Implementierungstechniken. Bonn : mitp, 1999. - ISBN 3-8266-0513-6

Target audience

Students of
  • Computer Science,
  • Business Computing,
  • Computational Engineering (Bachelor),
  • Computational Linguistics,
  • and other curriculae

Further information

  • Time: summer semester (SS) (from WS 2004/2005 on: winter semester)
  • Language: German
  • Hours per week (SWS): 3
  • Credit points (ECTS): 3.5
  • Examination: written
  • Contact: Prof. Dr. Klaus Meyer-Wegener

  Contact Last modified: 2004-03-30 20:36   KMW