LUCENT GRID
SQL Lab ยท Transactions & Integrity โ€” Medium
Loading bank_db...
๐Ÿ–ฅ๏ธ
SQL Terminal
๐Ÿฆ
Accounts
๐Ÿ“‹
Audit Log
๐Ÿ“Œ OBJECTIVES
โ—‹Start transaction with BEGIN
โ—‹Debit sender account (UPDATE)
โ—‹Credit receiver account (UPDATE)
โ—‹Test ROLLBACK on crash
โ—‹Use SAVEPOINT for partial undo
โ—‹Complete successful COMMIT
0 / 6 complete
SQL TERMINAL โ€” bank_db
MySQL 8.0 โ€” bank_db (InnoDB engine) Tables: accounts, transactions โš  Previous transfer bug: ยฃ500 deducted from Account A but never credited to Account B Task: Implement atomic transfer using BEGIN/COMMIT/ROLLBACK/SAVEPOINT โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
mysql>
ACCOUNT BALANCES โ€” live view
TRANSACTION AUDIT LOG
Log initialised โ€” waiting for transaction...
โ˜ฐ BRIEF
๐Ÿ–ฅ Terminal
๐Ÿฆ Accounts
๐Ÿ“‹ Audit Log
MISSION BRIEF

MISSION BRIEFING

TRANSACTIONS โ€” VAULT BANKING SYSTEMS

SCENARIO

A bug in Vault Banking's transfer system has been deducting money from sender accounts but failing to credit receivers when the server crashes mid-operation. The result: money disappears. Your job is to wrap the transfer in an atomic transaction so it either fully completes or fully rolls back โ€” no partial states.

THE TRANSFER: ยฃ1,500 from A to B

  • BEGIN;
  • SAVEPOINT before_debit;
  • UPDATE accounts SET balance = balance - 1500 WHERE id = 'ACC-10042';
  • SAVEPOINT after_debit;
  • UPDATE accounts SET balance = balance + 1500 WHERE id = 'ACC-10091';
  • COMMIT;

CRASH TEST

Run BEGIN and the first UPDATE, then click "SIMULATE SERVER CRASH" in the Accounts window. The debit should be rolled back automatically, leaving both accounts unchanged. This is how atomicity protects data integrity.

SAVEPOINT SYNTAX

  • SAVEPOINT name; โ€” mark a point to return to
  • ROLLBACK TO SAVEPOINT name; โ€” undo back to that point
  • RELEASE SAVEPOINT name; โ€” discard the savepoint
Display Mode
LAB COMPLETE
๐Ÿ†
TRANSFER SECURED
Transactions & Integrity โ€” Vault Banking
โšก
+100 XP
EXPERIENCE EARNED
โฌ† LEVEL UP โ€” Level
โ†’ Return to Labs