Bird
Raised Fist0
DBMS Theoryknowledge~5 mins

Why transactions ensure data consistency in DBMS Theory - Performance Analysis

Choose your learning style10 modes available
Time Complexity: Why transactions ensure data consistency
O(n)
Understanding Time Complexity

We want to understand how the time taken by transactions changes as the amount of data or operations grows.

Specifically, how transactions keep data consistent while running multiple steps.

Scenario Under Consideration

Analyze the time complexity of this transaction example.

BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

This transaction moves money from one account to another, ensuring both updates happen together.

Identify Repeating Operations

Look for repeated actions that affect time.

  • Primary operation: Two update statements inside one transaction.
  • How many times: Each update runs once per transaction.
How Execution Grows With Input

As the number of accounts or transactions grows, the time grows roughly in proportion to the number of updates.

Input Size (n)Approx. Operations
10 transactions20 updates
100 transactions200 updates
1000 transactions2000 updates

Pattern observation: Time grows linearly with the number of transactions because each transaction has a fixed number of steps.

Final Time Complexity

Time Complexity: O(n)

This means the time to complete all transactions grows directly with how many transactions you run.

Common Mistake

[X] Wrong: "Transactions always take the same time no matter how many operations they include."

[OK] Correct: More operations inside a transaction mean more work, so time grows with the number of steps.

Interview Connect

Understanding how transaction time grows helps you explain database behavior clearly and shows you grasp how data consistency is maintained efficiently.

Self-Check

"What if the transaction included a loop updating 100 accounts instead of just two? How would the time complexity change?"

Practice

(1/5)
1. What is the main reason transactions ensure data consistency in a database?
easy
A. They speed up the database queries.
B. They allow multiple users to edit the same data at once without control.
C. They make sure all parts of a task complete successfully or none do.
D. They store data in multiple formats.

Solution

  1. Step 1: Understand the role of transactions

    Transactions group multiple operations into one unit that either fully succeeds or fully fails.
  2. Step 2: Connect to data consistency

    This all-or-nothing approach prevents partial updates that could corrupt data.
  3. Final Answer:

    They make sure all parts of a task complete successfully or none do. -> Option C
  4. Quick Check:

    All-or-nothing = Data consistency [OK]
Hint: Remember: transactions are all-or-nothing actions [OK]
Common Mistakes:
  • Thinking transactions speed up queries
  • Believing transactions allow uncontrolled edits
  • Confusing data formats with consistency
2. Which of the following is the correct SQL command to start a transaction?
easy
A. RUN TRANSACTION;
B. START QUERY;
C. OPEN DATABASE;
D. BEGIN TRANSACTION;

Solution

  1. Step 1: Identify the standard SQL command

    The standard command to begin a transaction is BEGIN TRANSACTION;.
  2. Step 2: Eliminate incorrect options

    Other options like START QUERY; or OPEN DATABASE; are not valid SQL commands for transactions.
  3. Final Answer:

    BEGIN TRANSACTION; -> Option D
  4. Quick Check:

    Start transaction = BEGIN TRANSACTION [OK]
Hint: Transaction always starts with BEGIN TRANSACTION [OK]
Common Mistakes:
  • Using START QUERY instead of BEGIN TRANSACTION
  • Confusing transaction start with database open
  • Using RUN TRANSACTION which is invalid
3. Consider this sequence of SQL commands:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

What is the main result of this transaction?
medium
A. Both updates are saved together or none if error occurs.
B. Only the first update is saved, second is ignored.
C. The transaction rolls back automatically after updates.
D. The updates happen but data may become inconsistent.

Solution

  1. Step 1: Analyze the transaction commands

    The commands start a transaction, perform two updates, then commit the changes.
  2. Step 2: Understand commit effect on data consistency

    Commit saves all changes together. If any error occurs before commit, none are saved, ensuring consistency.
  3. Final Answer:

    Both updates are saved together or none if error occurs. -> Option A
  4. Quick Check:

    Commit = all-or-nothing save [OK]
Hint: COMMIT saves all changes together [OK]
Common Mistakes:
  • Thinking only first update saves
  • Assuming automatic rollback without error
  • Believing updates cause inconsistency
4. A developer writes this code:
BEGIN TRANSACTION;
UPDATE inventory SET quantity = quantity - 5 WHERE product_id = 10;
-- Missing COMMIT here
UPDATE sales SET total = total + 100 WHERE sale_id = 20;

What is the main problem with this transaction?
medium
A. The transaction will never start.
B. The changes may not be saved due to missing COMMIT.
C. The updates will cause syntax errors.
D. The transaction will auto-commit after each update.

Solution

  1. Step 1: Identify missing transaction command

    The code starts a transaction but does not include a COMMIT command to save changes.
  2. Step 2: Understand effect of missing COMMIT

    Without COMMIT, changes remain uncommitted and may be lost if connection closes or rollback occurs.
  3. Final Answer:

    The changes may not be saved due to missing COMMIT. -> Option B
  4. Quick Check:

    Missing COMMIT = no save [OK]
Hint: Always end transactions with COMMIT or ROLLBACK [OK]
Common Mistakes:
  • Assuming transaction never starts
  • Expecting syntax errors from missing COMMIT
  • Believing auto-commit happens without command
5. A bank uses transactions to transfer money between accounts. If the system crashes after deducting money from one account but before adding it to another, how do transactions help maintain data consistency?
hard
A. They roll back all changes so no partial update remains.
B. They automatically retry the failed operation endlessly.
C. They save the deducted amount and ignore the addition.
D. They allow partial updates to keep data moving.

Solution

  1. Step 1: Understand partial failure risk in money transfer

    If money is deducted but not added, data becomes inconsistent and incorrect.
  2. Step 2: Explain transaction rollback mechanism

    Transactions ensure either all steps succeed or all fail. On crash, rollback undoes partial changes.
  3. Step 3: Connect rollback to data consistency

    Rollback prevents partial updates, keeping data accurate and consistent after failure.
  4. Final Answer:

    They roll back all changes so no partial update remains. -> Option A
  5. Quick Check:

    Rollback = no partial updates [OK]
Hint: Rollback undoes partial changes after failure [OK]
Common Mistakes:
  • Thinking partial updates are allowed
  • Believing system retries endlessly automatically
  • Assuming partial data is saved anyway
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