DBMS
DBMS Part-1
- DBMS Introduction
- DBMS Architecture
- Database Approach vs Traditional File System
- Advantages of DBMS
- Data Models in DBMS
- Schemas in DBMS
- Instances in DBMS
- Data Independence in DBMS
- Database Languages in DBMS
- Interfaces in DBMS
- Structure of DBMS
- Functions of DBA and Designer
- Entities and Attributes in DBMS
- ER Diagram in DBMS
- Generalization, Specialization and Aggregation in DBMS
- Converting ER Diagram to Tables in DBMS
- Difference between Object Oriented, Network and Relational Data Models
DBMS Part-2
- Relational Data Model in DBMS
- Keys in DBMS
- SQL Introduction
- DDL(Data Definition Language)
- DML(Data Manipulation Language)
- Integrity Constraints in DBMS
- Complex SQL Queries
- Joins in DBMS
- Indexing in DBMS
- Triggers in DBMS
- Assertions in DBMS
- Relational Algebra in DBMS
- Tuple Relational Calculus in DBMS
- Domain Relational Calculus in DBMS
DBMS Part-3
- Introduction to Normalization in DBMS
- Normal Forms in DBMS
- Functional Dependency in DBMS
- Decomposition in DBMS
- Dependency Preserving Decomposition in DBMS
- Lossless Join Decomposition in DBMS
- Problems with Null Values and Dangling Tuples
- Multivalued Dependency in DBMS
- Query Optimization in DBMS
- Algorithms for Select, Project and Join Operations in DBMS
- Query Optimization Methods in DBMS
DBMS Part-4
- Transactions in DBMS
- Serializability in DBMS
- Recoverability in DBMS
- Recovery Techniques in DBMS
- Log Based Recovery in DBMS
- Checkpoint in DBMS
- Deadlock in DBMS
- Concurrency Control in DBMS
- Lock Based Protocol in DBMS
- Timestamp Based Protocol in DBMS
- Validation Based Protocol in DBMS
- Multiple Granularity in DBMS
- Multi-Version Concurrency Control(MVCC) in DBMS
- Recovery with Concurrent Transactions in DBMS
DBMS Part-5
Serializability in DBMS
Serializability ka matlab hota hai ki jab multiple transactions ek hi time par database mein chal rahe ho (concurrently), to system is baat ka dhyan rakhe ki final result aisa ho jaise sab transactions ek ke baad ek (serially) chale ho.
Serializability kyu important hai?
Real life mein database pe kai users ek saath kaam karte hain. Agar hum in transactions ka order control nahi karte, to galat data aa sakta hai.
Isiliye DBMS serializability ka concept use karta hai taaki sab kuch properly aur safely ho, aur database hamesha consistent rahe.
Types of Serializability
Serializability ke do main types hote hain:
-
Conflict Serializability
-
View Serializability
-
1. Conflict Serializability
Iska matlab hota hai ki agar hum transactions ke operations ka order badal dein, lekin final result same rahe, to schedule conflict serializable hai.
Conflicting Operations
Do operations tab conflict karte hain jab:
-
Dono alag-alag transactions se ho
-
Dono same data item pe kaam kar rahe ho
-
Aur kam se kam ek operation write ho
Operation | Conflicts With |
---|---|
Read(X) | Write(X) |
Write(X) | Read(X) |
Write(X) | Write(X) |
Example: Conflict Serializable
Maan lo do transactions hain:
T1:
Read(A)
Write(A)
T2:
Read(B)
Write(B)
Dono alag-alag data (A & B) pe kaam kar rahe hain, isiliye ye conflict serializable hain.
Example: Not Conflict Serializable
T1:
Read(X)
Write(X)
T2:
Write(X)
Yahan dono same data item X
pe write kar rahe hain, to agar order galat ho gaya to result bhi galat ho sakta hai. Agar hum inhe reorder nahi kar paaye bina result badle, to ye conflict serializable nahi hai.
Conflict Serializability Check Karne Ka Tarika – Precedence Graph
-
Har transaction ko ek node bana lo.
-
Agar T1 ka operation T2 ke saath conflict karta hai aur pehle aata hai, to T1 → T2 ek arrow draw karo.
-
Agar graph me cycle nahi hai, to wo schedule conflict serializable hai.
-
Agar cycle hai, to wo nahi hai.
Precedence Graph
Schedule:
T1: Read(A), Write(A)
T2: Read(A), Write(A)
Yahan dono A
pe write kar rahe hain.
Graph:
T1 → T2
T2 → T1
Cycle ban gaya, to Not Conflict Serializable
2. View Serializability
Ye concept conflict serializability se thoda zyada flexible hota hai.
Agar transactions ke read/write ka result aur final output same hai jaise ek serial schedule me hota, to wo schedule view serializable hai.
Note:
-
Har conflict serializable schedule, view serializable bhi hota hai.
-
Lekin har view serializable schedule, conflict serializable nahi hota.
Serial vs Concurrent Schedule
Type | Description |
---|---|
Serial Schedule | Transactions ek ke baad ek run hoti hain |
Concurrent Schedule | Transactions ek saath interleaved hoti hain lekin agar serializable hai to safe hai |
Real Life Example – Movie Booking
Maan lo 2 log ek hi seat book karna chahte hain:
-
T1: Check karta hai seat available hai → Book karta hai
-
T2: Wahi seat ke liye same karta hai
Agar ye dono saath chal rahe hain aur DBMS control nahi kare, to dono ko same seat mil sakti hai, jo galat hai.
Serializability ensure karta hai ki sirf ek hi transaction success ho, jisse data consistent rahe.
Summary
-
Serializability = Safe concurrent transactions
-
Conflict Serializability = Operations ka order change karo bina result badle
-
View Serializability = Read/write ka net result same ho
-
Precedence graph = Cycle → Not serializable, No cycle → Serializable