Bird
Raised Fist0
DBMS Theoryknowledge~5 mins

Two-phase locking (2PL) in DBMS Theory - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is Two-phase locking (2PL) in database systems?
Two-phase locking (2PL) is a method used in databases to control how transactions access data to avoid conflicts. It ensures that transactions lock data before using it and unlock it only after finishing, following two phases: growing (locking) and shrinking (unlocking).
Click to reveal answer
beginner
What are the two phases in Two-phase locking (2PL)?
The two phases are:
1. Growing phase: The transaction acquires all the locks it needs and cannot release any lock.
2. Shrinking phase: The transaction releases locks and cannot acquire any new locks.
Click to reveal answer
beginner
Why is Two-phase locking important in databases?
It helps keep data correct and consistent when many transactions happen at the same time by preventing conflicts and ensuring transactions do not interfere with each other.
Click to reveal answer
intermediate
What happens if a transaction tries to lock data during the shrinking phase in 2PL?
It is not allowed. Once a transaction starts releasing locks (shrinking phase), it cannot get any new locks. This rule helps avoid conflicts and ensures consistency.
Click to reveal answer
intermediate
How does Two-phase locking (2PL) prevent deadlocks?
2PL itself does not prevent deadlocks but can cause them. Deadlocks happen when transactions wait for each other’s locks. Additional methods like timeout or deadlock detection are used alongside 2PL to handle deadlocks.
Click to reveal answer
What is the first phase in Two-phase locking (2PL)?
AGrowing phase where locks are acquired
BShrinking phase where locks are released
CExecution phase where data is processed
DCommit phase where changes are saved
During which phase in 2PL can a transaction release locks?
AGrowing phase
BBoth phases
CShrinking phase
DNeither phase
What does Two-phase locking (2PL) help to ensure in databases?
AData consistency and isolation
BFaster query execution
CAutomatic backup
DData encryption
Can a transaction acquire new locks after it starts releasing locks in 2PL?
AYes, anytime
BOnly for read operations
COnly if the database allows it
DNo, once it starts releasing locks it cannot acquire new ones
Does Two-phase locking (2PL) prevent deadlocks by itself?
AYes, it completely prevents deadlocks
BNo, it can cause deadlocks and needs extra methods to handle them
CIt depends on the database size
DOnly if transactions are short
Explain the two phases of Two-phase locking (2PL) and why they are important.
Think about when locks are acquired and released.
You got /4 concepts.
    Describe how Two-phase locking (2PL) helps maintain data integrity when multiple transactions run at the same time.
    Consider what happens if transactions access the same data simultaneously.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of Two-phase locking (2PL) in a database system?
      easy
      A. To allow multiple users to write to the same data simultaneously
      B. To speed up database queries by skipping locks
      C. To ensure transactions are executed without interfering with each other
      D. To delete old data automatically after transactions

      Solution

      1. Step 1: Understand the role of 2PL

        Two-phase locking controls how transactions lock data to avoid conflicts.
      2. Step 2: Identify the main goal

        The goal is to keep data consistent by preventing transactions from interfering with each other.
      3. Final Answer:

        To ensure transactions are executed without interfering with each other -> Option C
      4. Quick Check:

        2PL ensures safe transaction execution = To ensure transactions are executed without interfering with each other [OK]
      Hint: 2PL controls locks to keep data safe from conflicts [OK]
      Common Mistakes:
      • Thinking 2PL speeds up queries by skipping locks
      • Believing 2PL allows simultaneous writes on same data
      • Confusing 2PL with automatic data deletion
      2. Which of the following correctly describes the two phases in Two-phase locking (2PL)?
      easy
      A. Lock acquisition phase followed by lock release phase
      B. Lock release phase followed by lock acquisition phase
      C. Transaction commit phase followed by rollback phase
      D. Data read phase followed by data write phase

      Solution

      1. Step 1: Recall the two phases of 2PL

        2PL has a phase where locks are obtained first, then a phase where locks are released.
      2. Step 2: Match the correct order

        The correct order is acquiring locks first, then releasing them after work is done.
      3. Final Answer:

        Lock acquisition phase followed by lock release phase -> Option A
      4. Quick Check:

        2PL phases = acquire locks then release locks [OK]
      Hint: Locks must be acquired before releasing in 2PL [OK]
      Common Mistakes:
      • Reversing the order of lock release and acquisition
      • Confusing 2PL phases with commit and rollback
      • Mixing data read/write phases with locking phases
      3. Consider two transactions T1 and T2 using strict 2PL. If T1 locks data item X and then T2 requests a lock on X, what will happen?
      medium
      A. Both T1 and T2 will share the lock on X
      B. T2 will immediately get the lock on X
      C. T1 will release the lock on X immediately
      D. T2 will wait until T1 releases the lock on X

      Solution

      1. Step 1: Understand strict 2PL locking rules

        In strict 2PL, a transaction holds exclusive locks until it commits or aborts.
      2. Step 2: Analyze the lock request by T2

        T2 must wait because T1 still holds the lock on X and has not released it yet.
      3. Final Answer:

        T2 will wait until T1 releases the lock on X -> Option D
      4. Quick Check:

        Strict 2PL means waiting for lock release [OK]
      Hint: New lock requests wait if current lock is held [OK]
      Common Mistakes:
      • Assuming locks are shared simultaneously
      • Thinking locks are released immediately after use
      • Believing T2 can force lock release
      4. A transaction T1 acquires a lock on data item A and then releases it before completing all its operations. What problem can this cause in Two-phase locking?
      medium
      A. It can cause a deadlock
      B. It can violate serializability and cause inconsistent data
      C. It speeds up transaction processing safely
      D. It prevents other transactions from accessing data

      Solution

      1. Step 1: Understand the 2PL rule about lock release

        In 2PL, locks should be held until the transaction finishes to ensure consistency.
      2. Step 2: Analyze early lock release effect

        Releasing locks early can allow other transactions to access data prematurely, causing inconsistent results.
      3. Final Answer:

        It can violate serializability and cause inconsistent data -> Option B
      4. Quick Check:

        Early lock release breaks serializability = It can violate serializability and cause inconsistent data [OK]
      Hint: Releasing locks too soon breaks data consistency [OK]
      Common Mistakes:
      • Confusing deadlock with early lock release
      • Thinking early release speeds up safely
      • Assuming early release blocks others
      5. In a database using strict 2PL, two transactions T1 and T2 both want to update data items X and Y. T1 locks X then Y, while T2 locks Y then X. What problem can arise and how can it be resolved?
      hard
      A. Deadlock can occur; resolved by ordering lock acquisition consistently
      B. Data corruption can occur; resolved by disabling locks
      C. No problem occurs; transactions proceed normally
      D. Transactions will merge automatically; resolved by splitting data

      Solution

      1. Step 1: Identify the problem from lock order

        T1 locks X then Y, T2 locks Y then X, creating a circular wait condition.
      2. Step 2: Recognize deadlock and resolution

        This circular wait causes deadlock; it can be resolved by enforcing a consistent lock order for all transactions.
      3. Final Answer:

        Deadlock can occur; resolved by ordering lock acquisition consistently -> Option A
      4. Quick Check:

        Conflicting lock order causes deadlock; fix by consistent order [OK]
      Hint: Consistent lock order prevents deadlocks in 2PL [OK]
      Common Mistakes:
      • Ignoring deadlock possibility
      • Thinking disabling locks solves corruption
      • Assuming transactions merge automatically
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard