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 itu.dk/sysadm/db. 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 |
Literature:
- GUW = Database systems - The complete book, by Garcia-Molina, Ullman, and Widom. (Main course textbook.)
- RG = Database management systems, by Ramakrishnan and Gehrke. (Copies handed out.)
- PJ = Multi-dimensional database technology, by Pedersen and Jensen, article from IEEE Computer magazine. In compendium.
- Greenspun = SQL for web nerds, by Philip Greenspun.
- Murray = Using XML as a medium for data exchange, by Murray, article from Communications of AIS. In compendium.
- SKS = Database System Concepts, by Silberschatz, Korth, and Sudarshan. In compendium.
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:
- The relational data model.
- Programming database queries in SQL.
- Database design using the entity-relationship data model.
- Theoretical foundation of SQL and database design (relational algebra and normalization).
- Efficient database implementation.
- Properties of database management systems (transactions, concurrency, error recovery).
- Information integration (using XML).
- An overview of widely used commercial database management systems.
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.
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:
- Design and implement moderate size relational databases. In particular:
- Make a database design in the entity-relationship model and convert it to the relational model.
- Program complex queries in SQL.
- Use theoretical tools such as normalization and relational algebra to improve database design and implementation.
- Understand the basics of database efficiency.
- Understand important database management system concepts such as transactions, concurrency, and error recovery.
- Know about issues and tools in information integration.
- Know about some widely used commercial database management systems.
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.
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.
Lecturer:
Rasmus Pagh
Office: 3C 07
Phone: 7218 5284
Email: pagh@itu.dk
|
Teaching assistant:
Lise Gregersen (liseg@itu.dk)
|