COL362/632 Introduction to Data Management Systems
Overview | Course Objectives | Prerequisites | Grading Scheme | Schedule
🕰 Tuesday, Wednesday, and Friday 10:00 -- 11:00 (slot E)
📍 LH 325
News
[Apr 24] | Make-up exam will be on 08.05.2024 room SIT001 at 09:00AM |
[Apr 24] | Major exam will be on 03.05.2024 |
[Apr 18] | Assignment-5 is now released on Moodle! Due by 27.04.2024 11:59PM |
[Apr 01] | Assignment-4 is now released on Moodle! Due by 16.04.2024 11:59PM |
[Mar 20] | No class on Friday March 22nd! |
[Feb 07] | Assignment-3 is now released on Moodle! Due by 22.03.2024 11:59PM |
[Feb 14] | No class on Friday 16th Feb! |
[Feb 14] | Mid-term will be on |
[Feb 07] | Assignment-2 is now released on Moodle! Due by 16.02.2024 11:59PM |
[Jan 20] | Assignment-1 is now released on Moodle! Due by |
[Jan 04] | No class on Friday Jan 5th! |
Course Logistics
Teaching Assistants
- Sai Aditya
- Raajita Bhamidipaty
- Siddharth S
- Rajat Singh
- Dharmisha Sharma
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.
Grading Scheme
Component | Weight (%) |
---|---|
5 x Assignments | 50 |
1 x Minor Exam | 25 |
1 x Major Exam | 25 |
Assignment Breakdown
Assignment | Weight (%) |
---|---|
A1 | 15 |
A2 | 10 |
A3 | 10 |
A4 | 10 |
A5 | 5 |
Schedule
Date |
Topic |
Notes/Additional Reading |
---|---|---|
[02-Jan] | Course Organization & Overview | |
[03-Jan] | Introduction to Data(base) Management Systems | |
[05-Jan] | No-class | |
[09-Jan] | Data Modelling-ER Model | B1: Ch6 & B2: Ch4 (4.1 – 4.4) |
[10-Jan] | Data Modelling-Relational Model | B1: Ch2 (2.1 – 2.3); Ch6 (6.7) & B2: Ch2 (2.2) |
[12-Jan] | Relational Algebra | B1: Ch2 (2.6) & B2: Ch2 (2.4) |
[16-Jan] | SQL PostgreSQL (v15.X), Jupyter Notebook | |
[17-Jan] | SQL Activity-1, ERD, testdb | B1: Ch3 (3.1–3.8) |
[19-Jan] | SQL Activity-2 | B1: Ch4 (4.1) & B2 Ch6 (6.1 – 6.4) |
[20-Jan] | SQL Activity-3 | B1: Ch5 (5.4, 5.5) & B2 Ch10 (10.2) |
[23-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 |
[30-Jan] | Database Design – Functional Dependencies | B1: Ch7 (7.1, 7.4) & B2: Ch3 (3.1, 3.2) |
[31-Jan] | Database Design – Decomposition & Normalization | B1: Ch7 (7.2, 7.3, 7.5–7.9) & B2: Ch3 (3.3–3.6) |
[02-Feb] | Database Implementation – Overview and Storage-I | B1: Ch12 (12.1 – 12.4, 12.6 |
[06-Feb] | Database Implementation – Storage-II | B1: Ch13 (13.1 – 13.4, 13.6, 13.7) |
[07-Feb] | Database Implementation – Buffer Manager | B1: Ch13 (13.5) |
[09-Feb] | Indexing-I (Basics) | B1: Ch14 (14.1, 14.2) & B2: Ch14 (14.1) |
[13-Feb] | Indexing-II (B-Trees/B+Trees) | Ch14 (14.3, 14.4) & B2: Ch14 (14.2) |
[14-Feb] | Indexing-II (Hashing, Bitmaps, Bloom Filter) | B1: Ch14 (14.5, 14.9) Ch24( 24.1, 24.3, 24.5) & B2: Ch14 (14.3, 14.7) |
[16-Feb] | No class | |
[04-Mar] | Query Processing–External Sorting | B1: Ch15 (15.4) |
[05-Mar] | Query Processing-Scans/Selections and Projections | B1: Ch15 (15.1–15.3) |
[06-Mar] | Query Processing-Joins | B1: Ch15 (15.5, 15.6) |
[12-Mar] | Query Processing-Processing Models | B1: Ch15 (15.7) |
[13-Mar] | Query Optimization-Cost Estimation | B1: Ch16 (16.3) |
[15-Mar] | Query Optimization-Plan Space | B1: Ch16(16.2) |
[19-Mar] | Query Optimization-Cost-based Optimization | B1: Ch16 (16.4–16.6) |
[20-Mar] | Query Optimization-Postgres Demo | Plan Visualizer, Using explain, Creating Indexes, Creating Statistics |
[22-Mar] | No class | |
[02-Apr] | Transactions – Basics | B1: Ch17 |
[03-Apr] | Transactions – Concurrency Control | B1: Ch18(18.1,18.2) |
[05-Apr] | Transactions – Concurrency Control | B1: Ch18(18.5,18.6) |
[09-Apr] | Transactions – Recovery | B1: Ch19(19.1–19.5.2) |
[10-Apr] | Transactions – Recovery | B1: Ch19(19.1–19.5.2) |
[12-Apr] | MapReduce | |
[16-Apr] | MapReduce | |
[19-Apr] | Spark | |
[20-Apr] | Flink | |
[23-Apr] | Vertex-centric & Bulk Synchronous Parallel Models | |
[24-Apr] | Cross-platform Data Processing | |
[27-Apr] | BTP/MTP opportunities |