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.