Introduction to Databases, Fall 2004

[News] [Schedule] [Useful links] [Course description] [Course goal] [Literature] [Prerequisites] [Course format] [Examination] [Lecturer]


January 31: Exams have been graded, and results passed on to the administration. Passing percentage was 78, average grade for passing students was 8.0.

Exam problems, January 2005. No solutions will be made available. The exam results will be available in early February on my.itu.

The exam curriculum can be found here.

By mistake, the last hand-in, due November 19, has only just been put on the exercise sheet for the last exercises.

The new Oracle 10 is finally up and running. To create a database go to You choose your own name for the database, user name, and password. To login to the database, specify "studora" instead of "studdb", e.g. type "sqlplus pagh@studora" in the ssh window.

Copies of selected pages from Database management systems by Ramakrishnan and Gehrke were handed out at the October 1st lecture. Leftover copies will be placed in the course's pigeonhole outside wing 1C.


Below is a preliminary schedule for the whole semester. The final contents of each lecture and exercises will be available about one week before they take place. Literature in square brackets is optional reading.

Date Time Subject Literature Exercises / hand-ins Place
August 27 9.00-12.00 Introduction. GUW chapter 1 [except 1.3.3 and box on page 16], 2.0 (i.e. the part before 2.1), 3.0, 5.0. For Sept. 10/17 2A 20
Sept. 10 9.00-12.00 Relations and SQL (examples, run) GUW 3.1, 6.1, 6.2 (except "Conversion to Relational Algebra" which you should read after the Oct. 15 lecture), 6.5 (you will understand example 6.35, box on p. 288, and example 6.38 after the Oct. 8 lecture), 6.6 [except 6.6.5, 6.6.6] For Sept. 17 3A 12
Sept. 17 9.00-12.00 E/R modeling GUW 2 [except 2.1.10, 2.1.11, and boxes on p. 25 and 37], 3.2, [3.3] For Sept. 24/Oct. 1 3A 12
Sept. 24 9.00-12.00 Normalization GUW 3.4, 3.6 For Oct. 1/8 3A 12
Oct. 1 9.00-12.00 Normalization II. Case studies in database design GUW 3.7, RG 2.8, 3.8, 19.9, [first 3 links in case] For Oct. 8 3A 12
Oct. 8 9.00-12.00 More on SQL (examples, run); OLAP and data cubes GUW 6.3 [except 6.3.6, 6.3.7, 6.3.8], 6.4.4, 6.4.5, 6.7, 8.3.2, 8.7, 20.1, 20.4, 20.5, PJ For Oct. 15/22 3A 12
Oct. 15 9.00-12.00 Relational algebra and SQL (examples, run) GUW 5 [except 5.2.10, 5.2.11, 5.5], 16.2.1, 16.2.2, 16.2.4, 6.4 For Oct. 22/29 3A 12
Oct. 22 9.00-12.00 Constraints and triggers in SQL (examples, run); XML for data exchange GUW 7 [except 7.1.3, 7.1.6], 4.6, 4.7, Murray p. 112-115, [rest of Murray] For Oct. 29/Nov. 5 3A 12
Oct. 29 9.00-12.00 Database efficiency (examples, run) GUW 6.6.5, 6.6.6, 7.1.3, and Greenspun chapter 13: Tuning sections "A simple B-Tree Index", "Tracing/Tuning Case 1", and "Tracing/Tuning Case 2" For Nov. 5/12 3A 12
Nov. 5 9.00-12.00 Transaction processing (examples, run); Commercial database management systems GUW 1.2.4, 8.6, 7.1.6, [GUW 17.0, 17.1.1, 17.1.2, 17.1.3, 18.0, 18.1.0, 18.1.1, 18.1.2, 18.1.3, 18.8.0, 18.8.1, 18.8.2]; [SKS chapter 25.0, 25.1, 25.2, 25.5, 26.0, 26.1, 26.2, 26.5, 27.0, 27.2, 27.5, 27.10.] For Nov. 12/19 3A 12
Nov. 12 9.00-12.00 DBMSs in real life (guest lecturer: Martin Jensen, Oracle).   No exercises Nov. 19 3A 12
Nov. 19 9.00-12.00 Course overview; Exam preparation     3A 12
Jan. 5 10.00-12.00 Question answering session     3A 14
Jan. 7 9.00-13.00 Written exam     2A18 + 2A20 and 4A20 + 4A22


Useful links

Course description

The course is an introduction to relational databases (the dominant database paradigm), covering their design, implementation, and theoretical foundation. The course focuses in particular on the skills needed to design and implement databases. It covers the following topics: A considerable part of the coursework will consist of practical experience with implementing databases. Also, the connection between practice and the theoretical foundation is emphasized.


Database Systems: The Complete Book by Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom, 2002. Copies for the course will be on sale from Samfundslitteratur.

Course goal

The goal of the course is to provide students with a firm background in database implementation. After the course, the student should be able to:


No formal prerequisites. The course may be taken as a first programming course. However, some mathematical background (such as A level high school mathematics or the course "IT Mathematics") is an advantage. If you have not already done so, it is a good choice to take a course in introductory programming along with this course.

Course format

Teaching consists of lectures plus exercise sessions with teaching assistants present. The course language is English.

Mandatory hand-ins

You must have 6 approved hand-ins (out of 8) to attend the exam. The idea is to hand in at the exercises. If you cannot attend, you may place your hand-in in the pigeonhole outside the student administration in wing 1C. Lise will then pick them up immediately before the exercises. Late hand-ins cannot be approved. The pigeonhole will also be used for handing back corrected hand-ins. Hand-ins must be completed individually. You are allowed to discuss hand-ins with fellow students, but you must understand and prepare your own solution.


Written exam, 4 hours. Satisfactory mandatory hand-ins required to enter exam.


Rasmus Pagh
Office: 3C 07
Phone: 7218 5284
Teaching assistant:
Lise Gregersen (