Database Management Systems (DMS)
Academic Year: | 2010/11, 2nd semester |
Lecturer: | Johann Gamper |
Lectures: | WE 10:30-12:30, Room C3.06 (with a few exceptions listed below) |
Exercises: | WE 14:00-15:00, Room C3.06 (with a few exceptions listed below) |
Office hours: | Gamper: WE 09:00-10:00 or email arrangement |
Objectives: Based on the concepts gained in the introductory database course, students will develop a deeper understanding of database technology. Advanced concepts and techniques of database management systems are introduced. Specifically, we will focus on data storage, data querying, and transaction management.
Prerequisites: Introduction to Databases, Introduction to Programming, and Data Structures and Algorithms
Syllabus:
- Introduction and overview (2h)
- Storage and file structure (2h)
- Indexing and hashing (6h)
- Query processing (3h)
- Query optimization (3h)
- Transaction processing (3h)
- Concurrency control (3h)
- Recovery system (2h)
Textbooks:
- Silberschatz, Korth, and Sudarshan: Database System Concepts, 5th edition, McGraw-Hill 2006 (recommended)
- Garcia-Molina, Ullman, Widom: Database Systems: The Complete Book, Prentice-Hall 2002
Lectures
1. | WE 23.02.11 | General introduction: syllabus, administration and organisation, the DB field, short overview of RDMS | |
2. | WE 02.03.11 | Storage and file structure: overview of physical storage media, disk block access, storage access and buffer manager, file organisation | |
3. | WE 09.03.11 | Indexing and hashing: basic concepts, ordered indices, B+-tree index files, B-tree index files | |
4. | WE 16.03.11 | Indexing and hashing: B+-tree index files, B+-tree file organization, B-tree index files | |
5. | WE 30.03.11 | Indexing and hashing: static hashing, dynamic hashing, comparison of ordered indexing and hashing, index deifnition in SQL, multiple-key access | |
6. | WE 06.04.11 | Query processing: overview, measures of query cost, selection operation, sorting | |
7. | WE 13.04.11 | Query processing: join operation, other operations, evaluation of expressions | |
8. | WE 20.04.11 | Query optimization: overview, statistical information for cost estimation, transformation of relational expressions | |
9. | WE 27.04.11 | Query optimization: rule-based and cost-based optimization, materialized views, optimizing nested subqueries | |
10. | WE 04.05.11 | Transactions: transaction concept and state, implementation of atomicity and durability, concurrent executions, serializability, testing for serializability, recoverability, implemenation of isolation | |
11. | WE 11.05.11 | Concurrency control: lock-based protocols, graph-based protocols, timestamp-based protocols, deadlock handling | |
12. | WE 18.05.11 | Recovery system: failure classification, recovery and atomicity, log-based recovery |
Exercises
1. | WE 02.03.11 | Storage and file structures | |
2. | WE 09.03.11 | Storage and file structures | |
3. | WE 16.03.11 | Indexing and hashing | |
4. | WE 30.03.11 | Indexing and hashing | |
5. | WE 06.04.11 | Indexing and hashing | |
6. | WE 13.04.11 | Query processing | |
7. | WE 20.04.11 | Query processing/optimization | |
8. | WE 27.04.11 | Query optimization | |
9. | WE 04.05.11 | Transactions | |
10. | WE 11.05.11 | Concurrency control | |
11. | WE 18.05.11 | Concurrency control | |
12. | WE 25.05.11 | Old exams |
Exam
- The exam is written at the end of the course and covers the entire course material.
- This is a closed book exam: the only resources allowed are blank paper, pens, and your head.
- The clarity of your explanations affects your grade.
Previous exams:
- 15.02.2012 05.09.2011 24.06.2011
- 07.02.2011 08.09.2010 25.06.2010
- 09.02.2010, 16.09.2009, 09.07.2009
- 02.02.2009, 25.09.2008, 01.07.2008
- 15.02.2008, 18.09.2007, 22.06.2007
- 14.02.2007, 27.09.2006, 16.06.2006