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 23.02.2024 28.02.2024
[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 05.02.2024 06.02.2024 11:59PM
[Jan 04] No class on Friday Jan 5th!

Course Logistics

  • All course related discussion will take place on Piazza
  • Moodle for assignments

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++

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
Kaustubh Beedkar
Kaustubh Beedkar
Assistant Professor