DATABASE SYSTEMS
Professor: Leonid
Libkin
Class meets: Mondays and Thursdays 9-9:50 in AT LT5
Tutorials See
here
for tutorial groups. Please remember that attendance
is compulsory; absences will be reported to your PT.
Syllabus:
- Introduction to databases
- Relational model, algebra, calculus
- Basics of SQL programming
- Advanced SQL programming
- Database design and normalization
- Basics of query and transaction processing
- Other topics, as time permits (could include XML, graph data,
top-k algorithms)
Requirements:
- Exam (75%)
- 2 assignments:
- Theoretical assignment: relational
model, design, query languages, query/transaction processing (pencil-paper,
10%); released 22 October; due 21 November (ITO, 4pm)
- Practical assignment: SQL programming
(15%), released 2 October, due 31
October, 4pm, see the assignment for submission
instructions
Additional instructions: most assignments will be marked based on
the printout alone. We shall run your queries only if there are
doubts about correctness. The printout should be easy for marking:
nicely formatted, in particular. Include all DDL statements,
statements to populate tables, queries, and query answers. Make
sure all your queries run on postgresql on dice; if they don't and
we check them, you'll get no marks.
Using PostgreSQL on dice machines
PostgreSQL tutorial 1
PostgreSQL tutorial 2
Textbook (recommended): Ramakrishnan-Gehrke Database Management Systems
Announcements:
- The first class is scheduled for Monday the 15th which is a
public holiday in Edinburgh - meaning that schools are closed. This
may create insurmountable difficulties for the instructor. Most
likely there will be a substitute instructor for the first
class. Further updates will be provided here. Update: please
do come to class.
- New room: Appleton Tower Lecture Theater 5.
- Both the lecture and the 10am tutorial are cancelled on Thursday 20
November. For students in the 10am Thursday tutorial
- you are welcome to attend any other tutorial during that week. If
you prefer not to change tutors, please come to the
Monday 10am tutorial in
AT4.14.
UPDATE: As per email sent on
Monday the 17th, there will be lecture at 9am on the 20th,
as usual. Please come to class. There will be no lecture on Monday
the 24th however.
Lecture materials:
Tutorial problem sets: