Database Management System (DBMS)

Chapter 1: Introduction to Databases


1.1 Database System Applications

 

1.2 Purpose of Database Systems

 

1.3 View of Data

🔷Data Abstraction (Physical, Logical, View Levels)

🔷Instances and Schemas

 

1.4 Database Languages

🔷DDL, DML, DCL, TCL

 

1.5 Database Users and Administrators

 

1.6 Database System Architecture

🔷3-tier architecture

🔷DBMS Components

 

Chapter 2: Data Models


2.1 Types of Data Models

🔷Hierarchical

🔷Network

🔷Relational

🔷Object-Oriented

 

2.2 Entity-Relationship (ER) Model

🔷Entities and Attributes

🔷Relationships

🔷Keys (Primary, Foreign, Composite)

 

2.3 Enhanced ER Model

🔷Generalization, Specialization, Aggregation

 

2.4 Mapping ER to Relational Model

 

Chapter 3: Relational Model


3.1 Structure of Relational Databases

🔷Tables, Tuples, Attributes

 

3.2 Relational Algebra

🔷Selection, Projection, Join, Union, Set Difference, Rename

 

3.3 Relational Calculus

🔷Tuple and Domain Relational Calculus

 

3.4 Keys and Constraints

🔷Domain, Entity Integrity, Referential Integrity

 

Chapter 4: Structured Query Language (SQL)


4.1 Basic SQL Queries

🔷SELECT, INSERT, DELETE, UPDATE

 

4.2 SQL Joins

🔷Inner, Outer, Self, Cross

 

4.3 Subqueries and Nested Queries

 

4.4 Views

 

4.5 Indexes

 

4.6 Triggers and Stored Procedures

 

Chapter 5: Database Design and Normalization


5.1 Functional Dependencies

 

5.2 Normal Forms

🔷1NF, 2NF, 3NF, BCNF

 

5.3 Multi-Valued and Join Dependencies

 

5.4 Decomposition

🔷Lossless Join and Dependency Preservation

 

5.5 Denormalization

 

Chapter 6: Transaction Management


6.1 Transactions and ACID Properties

 

6.2 States of a Transaction

 

6.3 Serializability

🔷Conflict and View Serializability

 

6.4 Concurrency Control

🔷Lock-Based Protocols

🔷Timestamp-Based Protocols

🔷Deadlock Handling

 

Chapter 7: Recovery System


7.1 Failure Classification

 

7.2 Log-Based Recovery

🔷Undo/Redo Techniques

 

7.3 Checkpoints

 

7.4 Shadow Paging

 

7.5 ARIES Recovery Algorithm

 

Chapter 8: File Organization and Indexing


8.1 File Organization Techniques

🔷Heap, Sequential, Hashing

 

8.2 Indexing

🔷Single-Level, Multi-Level Index

🔷Clustered vs Non-clustered Index

 

8.3 B+ Trees

 

8.4 Hash-Based Indexing

 

Chapter 9: Distributed Databases


9.1 Distributed Database Concepts

 

9.2 Data Fragmentation, Replication, and Allocation

 

9.3 Query Processing in Distributed Databases

 

9.4 Concurrency and Recovery in Distributed Systems

 

Chapter 10: Emerging Trends


10.1 NoSQL Databases

🔷Key-Value, Document, Column-Family, Graph Databases

 

10.2 Big Data & Hadoop

 

10.3 Cloud Databases

 

10.4 NewSQL Concepts