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
Validation Based Protocol in DBMS
Validation Based Protocol Kya Hota Hai?
Validation Based Protocol ya Optimistic Concurrency Control ek technique hai DBMS mein jo multiple transactions ko ek saath execute hone deti hai bina lock lagaye.
Ye “optimistic” isliye kehlata hai kyunki system maanta hai ki zyada conflicts nahi honge, aur transactions usually bina takraav ke complete ho jaayenge.
Transactions ko pehle freely chalne diya jaata hai, aur commit karne se pehle validate (check) kiya jaata hai ki koi conflict toh nahi hai.
Basic Idea
Har transaction aaraam se kaam karta hai (read/write karta hai).
Par jab woh commit karne jaata hai, tab system check karta hai ki:
Kya isne aise data read/write kiya jo kisi aur transaction ne bhi change kiya ho?
Agar conflict nahi hua → Commit allowed
Agar conflict hua → Transaction ko abort karke dobara start karna padega
Validation Protocol ke 3 Phases
1. Read Phase
Transaction database se data read karta hai.
Saari changes local memory mein store hoti hain (abhi database mein likha nahi jaata).
2. Validation Phase
Transaction jab commit karne jaata hai, tab check hota hai ki kya koi conflict toh nahi.
Agar sab thik hai → Write phase mein jaata hai.
Agar conflict mila → Abort karna padta hai.
3. Write Phase
Agar validation pass ho gaya, tab changes ko database mein likha jaata hai.
Important Timestamps
Har transaction ke kuch time markers hote hain:
Start(T)
→ Jab transaction start hota haiValidation(T)
→ Jab validation phase start hota haiFinish(T)
→ Jab write phase complete hota hai
Example
Maan lo teen transactions hain:
Transaction | Start | Validation | Finish |
---|---|---|---|
T1 | 10 | 20 | 25 |
T2 | 15 | 22 | 28 |
T3 | 23 | 30 | 35 |
Jab T3 commit karne jaata hai:
System check karega ki:
Kya T3 ne aise data pe kaam kiya hai jo T1 ya T2 ne bhi change kiya?
Agar T3 ka kaam T1 aur T2 se conflict nahi karta → Commit allowed
Agar conflict karta hai → T3 ko abort karna padega
Transaction Valid Kab Maana Jaata Hai?
Ek transaction Ti
valid tab hota hai agar pehle wale har transaction Tj
ke liye:
Tj
ka writeTi
ke start se pehle ho gaya ho, yaTj
sirf un data items ko read karta hai jiseTi
ne write kiya, yaTi
aurTj
alag-alag data items pe kaam karte ho (no overlap)
Real-Life Example
Socho 3 students apna assignment likh rahe hain:
Har student alag notebook mein likhta hai (Read Phase)
Submit karne se pehle dekhte hain ki kisi aur ne unka topic change toh nahi kiya (Validation Phase)
Agar sab theek hai → Assignment submit (Write Phase)
Agar kisi aur ne same topic pe change kar diya → Dobara likhna padega (Abort & Restart)
Advantages
Advantage | Description |
---|---|
No locking | Locks nahi lagte, toh deadlock bhi nahi hota |
High concurrency | Zyada transactions ek saath chal sakte hain |
Conflict rare ho toh perfect hai | Jab takraav kam ho, tab yeh bahut acha kaam karta hai |
Disadvantages
Disadvantage | Description |
---|---|
Zyada abort chances | Agar conflict ho gaya toh transaction fail ho jaata hai |
Wasted work | Agar transaction abort ho gaya toh uska pura kaam waste ho jaata hai |
Not good for high conflict | Jahan conflict zyada ho wahan yeh protocol suitable nahi |
Summary Table
Phase | Kya Hota Hai? |
---|---|
Read Phase | Transaction data read karta hai aur changes ko local mein rakhta hai |
Validation | Check hota hai ki conflict toh nahi |
Write Phase | Agar pass hua toh database mein changes likh diye jaate hain |
Conclusion
Validation-based protocol ek smart technique hai concurrency control ke liye.
Ismein no locking hoti hai, isliye deadlock ka issue nahi aata.
Teen phases hote hain: Read → Validate → Write
Agar conflict mile, toh transaction rollback ho jaata hai.