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