Instructor
- Boris Glavic
- Email: bglavic@iit.edu
- Phone: 312-567-5205
- Office Hours: Mondays 12pm-1pm, SB226c
- Course Webpage: http://cs.iit.edu/~cs425
- Course web forum: cs425-2016-fall-group
- Instructor Webpage: http://cs.iit.edu/~glavic
- Research Group Webpage: http://cs.iit.edu/~dbgroup
TAs
- Su Feng
- Email: sfeng14@hawk.iit.edu
- Office Hour:: Wednesdays 3pm-4pm, SB 012
- Deven Chhillar
- Email: dchhilla@hawk.iit.edu
- Office Hour:: M/W 10am-11am, SB 019
- Shalin Chopra
- Email: schopr10@hawk.iit.edu
- Office Hour:: Fridays 2:30pm-3:30pm, SB 019
Syllabus
syllabus.pdfCourse Overview
1:50 pm - 3:05 pm, Mondays + Wednesdays, RE 104
Databases management systems are a crucial part of most large-scale industry and open-source systems. This course familiarizes students with important concepts of database systems and design. We will learn how to design a database using the Entity-Relationship model, how query and modify a database using the declarative SQL language, and study APIs for write application programs that use a database system to persist data. Furthermore, the course given an overview of important database systems techniques such as indexing, query optimization and execution, concurrency control, and recovery.
Workload
Prerequisites
- Courses: One of CS 331, CS 401, or CS 403
Reading Material
- The following text book is required reading material for the course.
- Silberschatz, Korth, and Sudarshan , Database System Concepts, 6th Edition , McGraw Hill , 2010
- The slides for the course will be made available on the course schedule page
Grading Policies
- Course Project: 20%
- Midterm Exam: 25%
- Final Exam: 35%
- Homework Assignments: 20%
The final grade for the course is computed by weighting the individual grade percentages. The final percentage determines your grade:
- A 80% or higher
- B 50% or higher
- C 35% or higher
- D 25% or higher
- E 20% or higher
- F less than 20%
- Note that bonus points are excluded when calculating the 100% bound. For example, if a home work assignment makes up 5% of the total grade and has 50 regular points and 10 bonus points then it will contribute your points divided by 50 times 0.05 to the final grade.
Detailed Course Topics
- The relational data model
- Database modelling and design
- The Entity-Relationship (ER) model
- Database design and normalization
- SQL
- Data-definition language (DDL)
- Data-manipulation language (DML)
- Formal relational languages
- Relational algebra
- Database Architecture
- Database System Concepts
- Transactions processing and concurrency control
- Recovery
- Indexing
- Query processing and optimization
- Security and access control
Course Objectives
After attending the course students should be able to:
- Understand the underlying ideas of database systems
- Understand the relational data model
- Be able to write and understand SQL queries and data definition statements
- Understand relational algebra and its connection to SQL
- Understand how to write programs that access a database server
- Understand the ER model used in database design
- Understand normalization of database schemata
- Be able to create a database design from a requirement analysis for a specific domain
- Know basic index structures and understand their importance
- Have a basic understanding of relational database concepts such as concurrency control, recovery, query optimization, and access control