DATABASE MANAGEMENT SYSTEM

A Database Management System (DBMS) course typically covers the fundamental principles and practices related to the design, implementation, and management of databases. The course aims to provide students with a solid foundation in database concepts, modeling, and query languages. 

1.  Introduction [3 hours]

1.1. Concepts and Applications

1.2. Objective and Evolution

1.3. Data Abstraction and Data Independence

1.4. Schema and Instances

1.5. Concepts of DDL, DML and DCL

2. Data Models [7 hours]

2.1. Logical, Physical and Conceptual

2.2. E-R Model

2.3. Entities and Entities sets

2.4. Relationship and Relationship sets

2.5. Strong and Weak Entity Sets

2.6. Attributes and Keys

2.7. E-R Diagram

2.8. Alternate Data Model (hierarchical, network, graph)

3. Relational Languages and Relational Model [7 hours]

3.1. Introduction to SQL

3.2. Features of SQL

3.3. Queries and Sub-Queries

3.4. Set Operations

3.5. Relations (Joined, Derived)

3.6. Queries under DDL and DML Commands

3.7. Embedded SQL

3.8. Views

3.9. Relational Algebra

3.10. Database Modification

3.11. QBE and domain relational calculus

4. Database Constraints and Normalization [6 hours]

4.1. Integrity Constraints and Domain Constraints

4.2. Assertions and Triggering

4.3. Functional Dependencies

4.4. Multi-valued and Joined Dependencies

4.5. Different Normal Forms (1st, 2nd, 3rd, BCNF, DKNF)

5. Query Processing and Optimization [4 hours]

5.1. Query Cost Estimation

5.2. Query Operations

5.3. Evaluation of Expressions

5.4. Query Optimization

5.5. Query Decomposition

5.6. Performance Tuning

6. File Structure and Hashing [4 hours]

6.1. Records Organizations

6.2. Disks and Storage

6.3. Remote Backup System

6.4. Hashing Concepts, Static and Dynamic Hashing

6.5. Order Indices

6.6. B+ tree index

7. Transactions processing and Concurrency Control [6 hours]

7.1. ACID properties

7.2. Concurrent Executions

7.3. Serializability Concept

7.4. Lock based Protocols

7.5. Deadlock handling and Prevention

8. Crash Recovery [4 hours]

8.1. Failure Classification

8.2. Recovery and Atomicity

8.3. Log-based Recovery

8.4. Shadow paging

8.5. Advanced Recovery Techniques

9. Advanced database Concepts [4 hours]

9.1. Concept of Object-Oriented and Distributed Database Model

9.2. Properties of Parallel and Distributed Databases

9.3. Concept of Data warehouse Database

9.4. Concept of Spatial Database