COL362/632 Introduction to Data Management Systems
Overview | Course Objectives | Prerequisites | Evaluation | Syllabus
🕰 Tuesday, Wednesday, and Friday 10:00 -- 11:00 (slot E)
📍 LH 308
Notice
12-Feb |
Mid-term will be on 25.02.2025 |
13-Jan |
Check you assigned seats here. Please contact your TA if you have not been assigned a seat. |
08-Jan |
Give your seating preference by Friday 10th Jan, 7:00 PM. (Link on Piazza) |
07-Jan |
No class on January 10th! |
Course Logistics
Teaching Assistants
- Abhinav Barnawal
- Rajat Bhardwaj
- Sadiya Ajaz Churoo
- Nilanjan Ghosh
- Rahul Kumar
- Manshi Sagar
Overview
Data management systems play a foundational role in data analytics. They provide a structured and organized mechanism for storing, querying, and retrieving data, allowing data analysts and scientists to extract specific information and insights from datasets. The course “Introduction to Database Management Systems” will provide students with a comprehensive understanding of the fundamental concepts and principles associated with designing and implementing data management systems focusing on relational database management systems. The course aims to empower students with a solid foundation in data management systems, preparing them for more advanced studies or professional roles in data analytics and related fields.
Objectives
-
Fundamentals: Develop a foundational understanding of the basic concepts and principles associated with data management systems.
-
Relational Data Modeling: Introduce students to ER and relational data model and equip them with the skills to design and create effective database structures.
-
Query Language Proficiency: Familiarize students with Relational Algebra and Structured Query Language (SQL) to enable them to interact with databases and perform analytical tasks including retrieval, data manipulation, and reporting.
-
Database Design and Implementation: Provide knowledge and skills for designing and implementing databases systems, and applying them to broader data analytical tasks.
-
Practical Application: Offer hands-on experience and practical exercises to apply theoretical knowledge, allowing students to develop the skills needed for real-world scenarios in data analytics.
Prerequisites
- COL 106
- Programming in Java/C/C++
Recommended Textbooks
B1. Database System Concepts (7 ed.) by Silberschatz, Korth and Sudarshan, McGraw-Hill.
B2. Database Systems: The Complete Book (2 ed.) by Garcia-Molina, Ullman, Widom, Prentice Hall.
Evaluation
The course will follow the IIT Honor code
Grading
Component | Weight (%) |
---|---|
Mid-term exam | 25 |
End-term exam | 25 |
5xAssignments (35) & 5xQuizzes (15) | 50 |
Class Participation | 4 |
Late Submission Policy
- You have a total of 72 late hours (across all assignments).
- Late hours will be counted in granularity of hours. For example, if you submit an assignment 20 mins past its deadline, 1 hour will be subtracted from your late hour.
- You will get a penalty of (-20)% for each late day after you have exhausted all your late hours.
Pass Criteria
- Score at least 30% to pass the course (D grade)
Audit Policy
- Score 50% overall.
- Attempt and submit all assignments and score at least 50%.
Attendance Policy
- If attendance is less than 75%, the student will be awarded one grade less than the actual grade that he/she has earned. For example, a student who has got an A grade but has attendance less than 75% will be awarded an A(-) grade.
- A student cannot get NP for an audit course if his/her attendance is less than 75%.
Syllabus
Date |
Topic |
Notes/Additional Reading |
---|---|---|
[03-Jan] | Introduction & Course Organization | |
[07-Jan] | Data Modelling-ER Model | B1: Ch6 & B2: Ch4 (4.1 – 4.4) |
[08-Jan] | Data Modelling-Relational Model | B1: Ch2 (2.1 – 2.3); Ch6 (6.7) & B2: Ch2 (2.2) |
[12-Jan] | No class | |
[15-Jan] | Relational Algebra | B1: Ch2 (2.6) & B2: Ch2 (2.4) |
[16-Jan] | SQL Activity-1, ERD, testdb | B1: Ch3 (3.1–3.8) |
[17-Jan] | SQL Activity-2 | B1: Ch4 (4.1) & B2 Ch6 (6.1 – 6.4) |
[21-Jan] | SQL Activity-3 | B1: Ch5 (5.4, 5.5) & B2 Ch10 (10.2) |
[22-Jan] | SQL Activity-4 | B1: Ch3 (3.2, 3.9), Ch4 (4.2, 4.4, 4.5) & B2: Ch6 (6.5) Ch8 (8.1, 8.2) |
[24-Jan] | SQL Activity-5, Activity-6 | B1: Ch5 (5.1 – 5.3) & B2: Ch7 |
[28-Jan] | Database Design – Functional Dependencies | B1: Ch7 (7.1, 7.4) & B2: Ch3 (3.1, 3.2) |
[29-Jan] | Database Design – Decomposition & Normalization | B1: Ch7 (7.2, 7.3, 7.5–7.9) & B2: Ch3 (3.3–3.6) |
[31-Jan] | Database Implementation – Overview | |
[04-Feb] | Database Implementation – Storage | B1: Ch12 (12.1 – 12.4, 12.6) Ch13 (13.1 – 13.4, 13.6, 13.7) |
[15-Feb] | No class | |
[07-Feb] | Database Implementation – Buffer Manager | B1: Ch13 (13.5) |
[11-Feb] | Indexing-I (Basics) | B1: Ch14 (14.1, 14.2) & B2: Ch14 (14.1) |
[12-Feb] | Indexing-I (Basics) | B1: Ch14 (14.1, 14.2) & B2: Ch14 (14.1) |
[14-Feb] | Indexing-II (B-Trees/B+Trees) | B1: Ch14 (14.3, 14.4) & B2: Ch14 (14.2) |
[18-Feb] | Indexing-II (Extendible Hashing, BitMaps, BloomFilters) | B1: Ch14 (14.5, 14.9) Ch24( 24.1, 24.3, 24.5) & B2: Ch14 (14.3, 14.7) |
[19-Feb] | Indexing-II (Extendible Hashing, BitMaps, BloomFilters) | B1: Ch14 (14.5, 14.9) Ch24( 24.1, 24.3, 24.5) & B2: Ch14 (14.3, 14.7) |
Mid-term Exams |
||
[28-Feb] | Mid-term Review | |
[04-Mar] | Query Processing–External Sorting | B1: Ch15 (15.4) |
[05-Mar] | Query Processing–External Sorting | B1: Ch15 (15.4) |
Semester Break |
||
[18-Mar] | Query Processing-Scans/Selections and Projections | B1: Ch15 (15.1–15.3) |
[19-Mar] | Query Processing-BNLJ,SMJ | B1: Ch15 (15.5, 15.6) |
[21-Mar] | Query Processing-Hash Joins | B1: Ch15 (15.5, 15.6) |
[25-Mar] | Query Optimization-Cost Estimation | B1: Ch16 (16.3) |
[26-Mar] | Query Processing-Processing Models | B1: Ch15 (15.7) |
[28-Mar] | Query Optimization-Plan Space | B1: Ch16(16.2) |
[01-Ap] | Query Optimization-Plan Space | B1: Ch16(16.2) |
[01-Apr] | Query Optimization-Cost-based Optimization | B1: Ch16 (16.4–16.6) |
[02-Apr] | Query Optimization-Cost-based Optimization | B1: Ch16 (16.4–16.6) |
[04-Apr] | Transactions – Basics | B1: Ch17 |
[08-Apr] | Transactions – Basics | B1: Ch17 |
[09-Apr] | Transactions – Concurrency Control | B1: Ch18(18.1,18.2) |
[11-Apr] | Transactions – Concurrency Control | B1: Ch18(18.5,18.6) |
[15-Apr] | Transactions – Recovery | B1: Ch19(19.1–19.5.2) |
[16-Apr] | Transactions – Recovery | B1: Ch19(19.1–19.5.2) |
[20-Apr] | No class |