Reading Material
- The following text books will be helpful for following the course and studying the presented material. All four textbooks have their merits, but any one should be sufficient as reading material.
- Garcia-Molina, Ullman, and Widom, Database Systems: The Complete Book, 2nd Edition, Prentice Hall, 2008
- Silberschatz, Korth, and Sudarshan , Database System Concepts, 6th/7th Edition , McGraw Hill , 2010/2019
- Elmasri and Navathe , Fundamentals of Database Systems, 6th Edition , Addison-Wesley , 2003
- Ramakrishnan and Gehrke , Database Management Systems, 3nd Edition , McGraw-Hill , 2002
- The slides for the course will be made available on the course schedule page
- For the brave, I will link research papers related to the topics covered in the course: resources
Grading Policies
- Programming Assignments: 50% (10% + 10% + 15% + 15%)
- Mid Term Exam: 15%
- Final Exam: 30%
- Quizzes: 5%
Detailed Course Topics
-
Major topics will be covered in the course:
- Disk Storage and Buffer Management
- Indexing and Hashing
- Query Optimization
- Query Execution
- Concurrency control and Recovery
- Advanced Topics
Course Objectives
After attending the course students should be able to:
- Understand the design decisions behind textbook DBMS architectures
- Know the trade-offs of various storage organization techniques
- Be able to build parts of a small-sized data processing system from scratch
- Understand the basics of query optimization
- Know standard implementations of relational operators such as join, aggregation, and set operations
- Be able to estimate the cost of executing an operator/query based on DB statistics
- Know standard database indexing techniques
- Understand concurrency control and recovery mechanisms