Overview of DBMS, File vs DBMS, elements of DBMS. Database design: E-R model, Notations, constraints, cardinality and participation constraints, ER design issues, Weak and strong entity sets, Extended ER features. Relational Data Model: Introduction to relational model, Structure of relational mode, domain, keys, tuples to relational models.
Relational Database Design: Functional dependency, Normalization: 1NF, 1NF, 2NF, 3NF, BCNF, Relational Synthesis algorithm, Lossless join testing algorithm, Decomposition Using Functional Dependencies, Functional-Dependency Theory – Reduction of ER model to Relational model. SQL: Various DDLs, DMLs, DCLs.
Indexing Mechanisms: Clustered, Non-Clustered, B-tree, B+tree, Hash based. Transactions: Transaction Concept, Transaction model, Storage Structure, Transaction Atomicity and Durability, Transaction Isolation, Serializability Concurrency control: Lock-based protocols – Locks, Granting of Locks, The Two-Phase Locking Protocol, Implementation of Locking, Graph-Based Protocols. Deadlock handling: Deadlock Prevention, Deadlock Detection, Recovery from Deadlock.
ACID properties, NOSQL databases, Timeseries databases, Introduction to data warehousing and big-data, databases in embedded systems and small devices.
Other than the topics covers in the unit descriptions lab exercises to cover setup of a local database, database management console, schema setup, NOSQL database setup and operation, timeseries database operations.