Module CS2700-KP04, CS2700

Databases (DB)


Duration

1 Semester

Turnus of offer

each winter semester

Credit points

4

Course of studies, specific fields and terms:

  • Bachelor MES 2020, optional subject, computer science / electrical engineering
  • Bachelor Media Informatics 2020, compulsory, computer science
  • Bachelor Computer Science 2019, compulsory, foundations of computer science
  • Bachelor Robotics and Autonomous Systems 2020 , optional subject, computer science
  • Bachelor Medical Informatics 2019, compulsory, computer science
  • Bachelor Computer Science 2016, compulsory, foundations of computer science
  • Bachelor Robotics and Autonomous Systems 2016, optional subject, computer science
  • Bachelor IT-Security 2016, compulsory, computer science
  • Bachelor Biophysics 2016, optional subject, computer science
  • Bachelor MES 2011, optional subject, computer science
  • Bachelor Medical Informatics 2014, compulsory, computer science
  • Bachelor MES 2014, optional subject, computer science / electrical engineering
  • Bachelor Media Informatics 2014, compulsory, foundations of computer science
  • Bachelor Computer Science 2014, compulsory, foundations of computer science
  • Bachelor Medical Informatics 2011, compulsory, computer science
  • Master CLS 2010, optional subject, computer science
  • Bachelor CLS 2010, optional subject, computer science
  • Bachelor Computer Science 2012, compulsory, foundations of computer science

Classes and lectures:

  • Databases (exercise, 1 SWS)
  • Databases (lecture, 2 SWS)

Workload:

  • 45 hours in-classroom work
  • 55 hours private studies
  • 20 hours exam preparation

Contents of teaching:

  • Introduction, conceptual view of database systems, conceptual data modeling with the Entity-Relationship (ER) modeling language
  • The relational data model * Referential integrity, keys, foreign keys, functional dependencies (FDs) * Canonical mapping of entity types and relationships into the relational data model * Update, insertions, and deletion anomalies * Relational algebra as a query language * Database normalization, closure w.r.t. FD set, canonical cover of FD sets, normal forms, correct and dependency preserving decomposition of relation schemata, multi-value dependencies, inclusion dependencies
  • Practical query language: SQL * Selection, projection, join, aggregation, grouping, sorting, difference, relational algebra in SQL * Data management * Integrity constraints
  • Storage structures and database architecture * Characteristics of storage media, I/O complexity * DBMS architecture: disk space manager, buffer manager, files and access methods, record allocation strategies (row-wise, column-wise, mixed)
  • Query processing * Indexing techniques, ISAM index, B+-tree index, hash index * Sorting: Two-way merge sort, blockwise processing, selection trees, query execution plans, join operator: nested loops join, blockwise nested loops join, index-based joins, sort-merge join, partition-based join with hashing * Addition operators: grouping and duplicate elimination, selection, projection, pipeline principle
  • Datalog * Syntax, semantics, treatment of negation (stratification) * Evaluation strategies (naive, semi naive, magic set transformation)
  • Query optimization * Cost metrics, Estimating sizes of intermediate tables, selectivity * Join optimization, physical plan properties, interesting orders, query transformation * Index cuts, bitmap indexes
  • Transactions and recovery * ACID, anomalies, serializability, locks, 2-phase commit protocol, concurrent access to index structures, isolation levels * Implementation of transaction w.r.t. ACID, shadow pages, write ahead log, snapshots

Qualification-goals/Competencies:

  • For all subjects mentioned in the course contents under the indents students should name the central ideas, which can define relevant terms and explain the functioning of algorithms by means of application examples.

Grading through:

  • written exam

Responsible for this module:

Literature:

  • A. Kemper, A, Eickler : Datenbanksysteme - Eine Einführung Oldenbourg-Verlag

Language:

  • offered only in German

Notes:

Admission requirements for taking the module:
- None (the competences of the modules mentioned under ''requires'' are needed for this module, but are not a formal prerequisite).

Admission requirements for participation in module examination(s):
- Successful completion of exercise sheets as specified at the beginning of the semester.

Module Exam(s):
- CS2700-L1: Databases, written exam, 90min, 100% of the module grade.

Last Updated:

27.03.2025