TU/e logo 2ID05: Data Modeling and Databases (Semester 1, 2011-2012)

Staff: dr. George Fletcher, dr. Toon Calders, and dr. Alexander Serebrenik.

Note about this course: Although this is a Bachelor course at the TU/e it is also part of a mandatory preparation program for Master students and is therefore taught entirely in English. However, during instructions you can ask questions in some other languages (possibly including Dutch, French, German, Russian, Japanese, Hebrew, etc.).

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.

Any other material, such as (slide) presentations, exercises and (mandatory) tests is available through the Sakai Learning Management System. When you go to Sakai for the very first time you have to create a new account.

Note: The Sakai site is up. Please create an account, and check out the announcements to find out which instruction group to join. If you are having difficulties with Sakai, please contact dr. Natasha Stash.

A nice tool you can use to play with relational algebra is Relational. We will post tools for the other languages we will study as they become available. Please keep in mind that such tools can be used only to detect mistakes in your queries, not to "prove" that there are none!

The planned course schedule is as follows: Each week there are 2 hours of lectures and 4 hours of instructions. These are as follows:

Below is a tentative list of planned topics and events for each week.
Week 1 Introduction (what are the topics: database design, optimization/constraints/schema modification, data manipulation)
First basics of the Entity-Relationship Model (and on doing database design using ER modeling).
Week 2 The Relational Database Model: definitions and relational algebra.
Week 3 Advanced ER-Modeling topics (cardinality constraints, generalization/specialization, translation to relational model)
Week 4 Basic SQL: simple and nested queries
Week 5 Constraints: functional dependencies (definition, inference rules, introduction to soundness, completeness, redundancy)
Week 6 Other query languages: Query by Example and Tuple Calculus
Week 7 Constraints: completeness of Armstrong rules, "representative" or Armstrong instances
Week 8 Review of first quarter; question and answer session
Exam period Mandatory partial exam, 3 November (25% of final grade).
Week 9 Decomposition based on FDs: Boyce-Codd Normal Form and Third Normal Form
Week 10 Datalog (definition, examples, aspects of recursion and negation)
Week 11 Equivalence of query languages (RA, TC, SQL) in theory and in practice
Week 12 Advanced SQL: aggregation, null values, views, "with" construct, etc.
Week 13 Multivalued dependencies (definition, inference rules, Fourth Normal Form), Join Dependencies
Week 14 Advanced topics in database systems
Week 15 Review of course; question and answer session
Week 16 Trial exam discussion
Exam period Mandatory final exam, 24 January (75% of final grade)