The course introduces the foundations of database management systems focusing on significance of a database, relational data model, schema creation and normalization, transaction processing, indexing, and the relevant data structures (files and B+-trees).
At the end of the course, students should be able to:
Introduction to databases: Characteristics of database approach, data models, database system architecture, data independence and data abstraction.
Data modeling: Entity relationship (ER) modeling: Entity types, relationships, constraints, ER diagrams, EER model.
Relation data model: Relational model concepts, relational constraints, relational algebra.
SQL queries: SQL data definition, data types, specifying constraints, Queries for retrieval, insertion, deletion, updation, introduction to views.
Database design: Mapping ER/EER model to relational database, functional dependencies, Lossless decomposition, Normal forms (upto BCNF).
Transaction and data storage: Introduction to transaction processing: ACID properties, concurrency control; Introduction to indexing structures for files.