CS3700 - Introduction to Database Systems
Course Data :
Introduction - General introduction to database systems; Database - DBMS disctinction, approaches to building a database, data models, database management system, three-schema architecture of a database, challenges in building a DBMS, various components of a DBMS.
E/R Model - Conceptual data modeling - motivation, entities, entity types, various types of attributes, relationships, relationship types, E/R diagram notation, examples.
Relational Data Model - Concept of relations, schema-instance distinction, keys, referential integrity and foreign keys, relational algebra operators: selection, projection, cross product, various types of joins, division, example queries, tuple relation calculus, domain relational calculus, converting the database specification in E/R notation to the relational schema.
SQL - Introduction, data definition in SQL, table, key and foreign key definitions, update behaviors. Querying in SQL - basic select-from-where block and its semantics, nested queries - correlated and uncorrelated, notion of aggregation, aggregation functions group by and having clauses, embedded SQL.
Dependencies and Normal forms - Importance of a good schema design, problems encountered with bad schema designs, motivation for normal forms, dependency theory - functional dependencies, Armstrong's axioms for FD's, closure of a set of FD's, minimal covers, definitions of 1NF, 2NF, 3NF and BCNF, decompositions and desirable properties of them, algorithms for 3NF and BCNF normalization, multi-valued dependencies and 4NF, join dependencies and definition of 5NF.
Data Storage and Indexes - file organizations, primary, secondary index structures, various index structures - hash-based, dynamic hashing techniques, multi-level indexes, B+ trees.
Transaction processing and Error recovery - concepts of transaction processing, ACID properties, concurrency control, locking based protocols for CC, error recovery and logging, undo, redo, undo-redo logging and recovery methods.
Note : The course is an elective course from CS15B* batch onwards.
Pre-Requisites |
Parameters
Credits |
Type |
Date of Introduction |
3-0-0-3 |
Elective |
(Core Course) |
|
Previous Instances of the Course
- Jan 2024 - May 2024
Instructor(s) : P. Sreenivasa Kumar.
- Jul 2022 - Nov 2022
Instructor(s) : P. Sreenivasa Kumar.
- Aug 2021 - Dec 2021
Instructor(s) : P. Sreenivasa Kumar.
Teaching Assistants : Suhas Pai, Suresh Kumar, Akshay Gupta, Sahil, Arnav Anil Mhaske.
- Aug 2020 - Dec 2020
Instructor(s) : P. Sreenivasa Kumar.
Teaching Assistants : Muhammed Abdul Majeed Ameen, R Sai Harshini, Suresh Kumar, Nalla Mrunalini, Akshay Gupta.
- Jul 2019 - Nov 2019
Instructor(s) : P. Sreenivasa Kumar.
- Jul 2018 - Nov 2018
Instructor(s) : P. Sreenivasa Kumar.
Teaching Assistants : Ajmeera Balaji Naik, Jithin Vachery, Dileep Kumar Pattipati, Pooja Kumari.
- Jul 2017 - Nov 2017
Instructor(s) : P. Sreenivasa Kumar.
Teaching Assistants : Subhashree S, Dileep Kumar Pattipati, Rajeev Irny.
- Jul 2016 - Nov 2016
Instructor(s) : P. Sreenivasa Kumar, D. Janakiram.
Teaching Assistants : Subhashree S, Padala Srikant, Kevin Alex Mathews, Ganesh Kulkarni, Nitesh Nikhare, Rajeev Irny.
- Aug 2015 - Nov 2015
Instructor(s) : D. Janakiram.
Teaching Assistants : Padala Srikant, Patanjali S L P S K, Muktikanta Sa.
- Jul 2014 - Nov 2014
Instructor(s) : P. Sreenivasa Kumar.
Teaching Assistants : Vinu E V, Subhashree S, Velamuri Rajasekhar Seshasaye, T. V. Krishna Chaitanya, Gayathri.V.