2ID05: Data Modeling and
Databases (Semester 1, 2011-2012)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.).
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:
| 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) |