Course syllabus

Databases are at the core of most modern software applications. In this course you will learn the foundations of database systems, enabling you to build effective and efficient database applications. The course is divided into two parts: the first teaches you how to design and program a database application and the second looks in depth at how database systems are built to work in the current changing environment. In particular, it considers how consistency is maintained across a database when something breaks, how security of the data can be ensured, and what influence the Internet has had on database systems

Course Outcomes

The students will be able to:

  • Create conceptual diagrams to concisely model application domains
  • Normalize and de-normalize logical database schemata to process frequent database queries and database updates more efficiently
  • Exploit SQL to execute semantically sound database queries and updates
  • Apply relational algebra to optimize the evaluation of database queries
  • Apply transaction processing concepts to ensure correct concurrent execution of database programs and recovery from system failures
  • Employ and utilize database technology in a larger interconnected enterprise system context


Joerg Simon Wicker

Miao Qiao


Class Representatives

  • Jacob France -



  • Mon 9:00AM-10:00AM - PLT1/303-G20
  • Tue 9:00AM-10:00AM - PLT1/303-G20
  • Thu 10:00AM-11:00AM - PLT1/303-G20

Slides and Recordings

Lectures will be recorded, it will take one to two days until the recordings are available. Slides and recordings from lectures can be found here.


We use Piazza as a forum where you can ask questions and get help. Also in Piazza, we want to encourage and support the graduate capabilities of solution seeking and independence and integrity. To achieve this, we will not answer any questions on Piazza in the first 24 hours and give other students and yourself a chance to find the answer on your own. After the initial 24 hour period, we will try to answer all questions before another 24 has passed (i.e. within 48 hours of the initial question being posted), excluding weekends and public holidays. Please plan ahead and take this into account, especially towards the assignment deadlines. If there are any urgent issues that need to be resolved before 48 hours (for example technical problems in Canvas), additionally contact us via email to make sure this is not missed.


Course summary:

Date Details