Data Modeling and Databases (2ID50)

Quarter 2, 2017-2018 (5 ECTS Credits)
Department of Mathematics and Computer Science, Eindhoven University of Technology

Important: this page is under construction. Some information is not yet known at this time.


dr. George Fletcher (responsible lecturer, instructor)
dr. Nikolay Yakovets (instructor)
dr. Alexander Serebrenik (instructor)
Wilco van Leeuwen (instructor)
dr. Long Cheng (instructor)
prof. dr. Paul De Bra (homework architect, ├╝bergrader)

Learning Objectives

This course teaches students to design (the data structures of) information systems. With “design” we mean that the students learn to translate a natural language description of a business’ information needs into a data model, expressed in the entity relationship model. Students must be capable of translating that model into a relational database structure. They must be able to optimize this structure by means of constraints and decomposition algorithms. Students also must become fluent in query languages, in order to express natural language questions in query languages, and in order to express queries in natural language.

Course Material

This course uses parts of the following book: Database System Concepts, Sixth Edition, written by Silberschatz, Korth and Sudarshan, 2011 (ISBN 978-0-07-352332-3). Note that there exists a paperback and a hardcover version, having a different cover photo but content-wise identical. Also note that if you manage to find a cheap version of the fifth edition, that is good enough for this course but some chapter and exercise numbers may differ.

Any other material, such as (slide) presentations, exercises and (important) announcements is available through the Canvas Learning Management System. On Canvas you can log in using your TU/e login (and password).


Each week there are two sessions of two hours of lectures and two sessions of two hours of instructions. The instructions precede the lectures. Note that there is instruction already on November 15! Each week there is a mandatory homework that must be handed in on or before Sunday night. One exercise from the homework will be graded by Tuesday’s instruction time and all exercises from the homework will be reviewed in Tuesday’s instruction.

In the Quarter 2, exam period we will have a mandatory final exam. You need to have scored 50% on the homeworks to be allowed to participate in that exam. In the Quarter 3 exam period we will have a resit exam which is open to all students including those you scored less than 50% on the homeworks.


Your final grade in the course is based on the homeworks (50% of your final grade) and the exam (2ID51, 50% of your final grade) in the Quarter 2 examination period. Unlike with other courses there is no mid-term test. The homeworks count for 50% of your final grade. The grade for the homeworks is determined by averiging the grade of the 5 best homeworks (out of 6).

Note that there are no resits/retakes of the homeworks. The result of homework counts for both the final exam in the Quarter 2 exam period and the resit/retake in the Quarter 3 exam period.

Note that you must score at least 5.0 on the final exam to pass the course (this applies for all students and all bachelor college courses).


Instruction groups are formed by last names, and will be published after the registration deadline (3 weeks before the start of the course). For capacity reasons, it is important that you attend the assigned location for your instructions.

Below is a tentative list of planned topics and events for each week.

When What
Week 1 (lecture 1) Introduction and overview of the course. Basics of the Entity-Relationship model and database design. This uses Chapter 1 and the beginning of Chapter 7.
(lecture 2) The relational database model and basic relational algebra. This uses parts of Chapter 2 and the beginning of Chapter 6 (part of 6.1).
Week 2 (lecture 1) Advanced ER-modeling. This uses the rest of Chapter 7.
(lecture 2) Advanced relational algebra. This uses more from Chapter 6 (6.1).
Week 3 (lecture 1) Constraints: functional dependencies. This uses the parts of Chapter 8 (not in sequential order)
(lecture 2) Basic SQL. This uses parts of Chapter 3.
Week 4 (lecture 1) Constraints: completeness of Armstrong rules. This uses other parts of Chapter 8 plus additional material
(lecture 2) Advanced SQL. This uses the rest of Chapter 3 and bits from Chapters 4 and 5.
Week 5 (lecture 1) Decomposition based on FDs: Boyce-Codd Normal Form and Third Normal Form. This uses other parts of Chapter 8.
(lecture 2) Query-by-example and the tuple calculus. This uses parts of Chapter 6 (6.2 and part of Appendix C).
Week 6 (lecture 1) Multivalued dependencies. This uses the remainder of Chapter 8 and Appendix B.
(lecture 2) Datalog. This uses part of Appendix C.
Week 7 (lecture 1) Expressive power of query languages. This uses additional material, not in the book.
(lecture 2) Review of course; question and answer session.
Week 8 (lecture 1) Optional trial exam.
(lecture 2) Optional ultimate question and answer session.
Exam period Mandatory final exam (2ID51), January 2018. (50% of final grade)