Databases

læseplan-E93Titel

Databases

The lectures try to give an answer to the following three questions:
  • why do we want to use databases and what are the benefits of doing so,
  • how do we use databases as users and application programmers, and
  • how do databases work.

The understanding of the inner operations of a database management system is used to study and justify various design principles for structuring data in actual databases. All the questions are studied with respect to the relational model - the basis of most modern database systems. Other models will be mentioned only briefly to contrast them against the relational model.

Why do we use Databases?

  • Functionality provided by a Database Management System (DBMS), models of databases: Network, Relational, OO.

How do we use a DBMS?

  • Relational model, logic-based query languages (relational calculus), relational Algebra: the operational approach, SQL and dirty tricks, embedded query languages and application programming, brief notes on database administration, security, etc.

How do Database Management Systems work?

  • Anatomy of a DBMS: the big picture, a naive query evaluation model and the bottom-up approach, storing data on disks, physical representation, index structures and techniques, more relational operations: Joins and sorting, query optimization. Cost of relational operations, transaction processing, distributed databases.

How do we design Databases?

  • Entity-Relationship (ER) model, universal relations and functional dependencies, data redundancy and normal forms, database tuning.

Advanced Topics

  • More powerful query languages, more powerful representation techniques.

Lecturer

David Toman

Course Material

Database Management Systems, Raghu Ramakrishnan, McGraw-Hill, 1997

Prerequisites

Datalogi 1, dFM