Info
Teacher/TA: Miika Hannula (miika.hannula@ut.ee), Room 3097
Credits: 6 ECTS
Language: English
Lectures: Tuesdays 10:15-12:00, Room 2029, Delta Centre
Practicals: Wednesdays 10:15-12:00, Room 2030, Delta Centre
Moodle page: To appear
Grading:
F: <50%
E: >=50%
D: >=60%
C: >=70%
B: >=80%
A: >=90%
Point distribution:
Written test (60 %)
Weekly exercises (20 %)
Project (20 %)
Objectives:
The aim of this course is to study the mathematical principles that dictate the limits and possibilities of database systems. First, the course covers classics of the relational model such as relational algebra, first-order logic, and integrity constraints. Then, we concentrate on conjunctive queries (CQs) which correspond to the core fragment of SQL queries. CQs can be represented in various ways:
- Query as a logical formula.
- Query as an algebraic expression.
- Query as a hypergraph.
- Query as an information-theoretic constraint.
In this course we examine how each of representations provides unique insights into query evaluation, expressivity, and optimisation, some of which are not yet widely implemented in practice.
Project:
The course includes a project which has two components: a presentation (15-20min) and a written report (3-5 pages). Students can choose between an implementation project (e.g., building a CQ -> SQL translator) and theory project (e.g., expressive power of Datalog); a list of example topics is provided.
Pre-requisites:
The course is self-contained and assumes no prior background in databases. Familiarity with SQL can be helpful for context but is not required.