Đào tạo doanh nghiệpCơ sở Dữ liệu SQL & PostgreSQL Thực chiến: Thiết kế Schema, Tối ưu Truy vấn & Tích hợp AI pgvector
5/8

Giáo trình tự học miễn phí · Dịch vụ hỗ trợ theo nhu cầu.

Bài 0535phút ước tínhCơ bản đến Chuyên sâu

5. Transactions ACID, Locking & Bảo Toàn Dữ Liệu Tài Chính Tuyệt Đối

Xử lý các bài toán giao dịch ngân hàng: Đảm bảo tính nguyên tử (Atomicity), chống xung đột ghi đồng thời (Race Condition) với SELECT FOR UPDATE.

🛡️ 4 Trụ Cột ACID Trong Cơ Sở Dữ Liệu

  1. Atomicity (Nguyên tử): Toàn bộ các lệnh trong Transaction phải có tiêu chí kiểm tra kết quả, nếu 1 lệnh lỗi thì toàn bộ bị Rollback quay về trạng thái cũ.
  2. Consistency (Nhất quán): Dữ liệu luôn thỏa mãn mọi ràng buộc toàn vẹn.
  3. Isolation (Cô lập): Các giao dịch chạy song song không làm sai lệch kết quả của nhau.
  4. Durability (Bền vững): Khi đã Commit, dữ liệu được ghi vĩnh viễn vào ổ cứng.
example.py
-- GIAO DỊCH CHUYỂN TIỀN GIỮA 2 TÀI KHOẢN VỚI TRANSACTION & ROW LOCKING
BEGIN;

-- 1. Khóa dòng dữ liệu tài khoản nguồn để tránh xung đột
SELECT balance FROM bank_accounts WHERE account_no = 'ACC_001' FOR UPDATE;

-- 2. Trừ tiền tài khoản gửi (kiểm tra số  đủ)
UPDATE bank_accounts 
SET balance = balance - 1000000 
WHERE account_no = 'ACC_001' AND balance >= 1000000;

-- 3. Cộng tiền tài khoản nhận
UPDATE bank_accounts 
SET balance = balance + 1000000 
WHERE account_no = 'ACC_002';

-- 4. Ghi log giao dịch
INSERT INTO transaction_logs (from_acc, to_acc, amount, created_at)
VALUES ('ACC_001', 'ACC_002', 1000000, NOW());

-- Nếu không  lỗi xảy ra thì chốt giao dịch
COMMIT;
Thực hành

Thực hành và tự đánh giá

Mô phỏng tình huống chuyển tiền không đủ số dư và kiểm tra lệnh ROLLBACK bảo toàn dữ liệu.

🏢 BẠN MUỐN TRIỂN KHAI CHO CẢ PHÒNG BAN / DOANH NGHIỆP?
Đề Xuất Công Ty Tài Trợ & Đào Tạo In-House Trọn Gói

AI Tinh Gọn hỗ trợ khảo sát hiện trạng, kèm 1-1 on-premise bảo mật dữ liệu, setup hạ tầng riêng và xuất hóa đơn VAT hợp pháp cho doanh nghiệp.

⚖️ Bản quyền sở hữu trí tuệ: © 2026 AI Tinh Gọn (aitinhgon.vn) · Giấy phép Creative Commons CC BY-NC-ND 4.0. Cho phép tự học cá nhân, nghiêm cấm thương mại hóa hoặc bán lại. Giáo trình mở →

Tiến độ tự học lưu trên trình duyệt này. Chỉ đánh dấu khi đã kiểm tra sản phẩm thực hành.