Introduction to Databases

Alternate Names: 
Inleiding Databases
Course Language: 
Beat Signer
Reinout Roels

The goal of this course is to teach students fundamental database concepts. This ranges from concepts and techniques of conceptual modelling and database design as well as the introduction of the basic components of a database, the relation between them and the methods for manipulating persistent data. Last but not least, the course will cover the different parts of a database management system (e.g. query processor, storage manager etc.) and provide a detailed description of the functionality of these components.

Lecture: Friday, 09:00-11:00, L.2.217
Exercise: Thursday, 11:00-13:00, E.1.5
Exercise: Thursday, 14:00-16:00, E.1.7

Lecture Schedule

Week 1 : Introduction

  • Overview
  • Conceptual Modelling and ER Model

Week 2 : Extended ER Model and other Modelling Languages

Week 3 : Relational Model and Relational Algebra

Week 4 : Relational Database Design

  • Reduction from ER to Relational Model
  • Functional Dependencies
  • Normalisation

Week 5 : Structured Query Language (SQL)

Week 6 : Advanced SQL

Week 7 : DBMS Architectures and Features

  • Main DBMS Components
  • Client-Server Architecture
  • Parallelisation and Distribution

Week 8 : Storage Management

Week 9 : Access Methods

  • Indexing and Hashing

Week 10 : Query Processing and Optimisation

Week 11 : Transaction Management

  • Transactions
  • Concurrency
  • Recovery

Week 12 : Current Trends and Review