Khác biệt giữa bản sửa đổi của “Giao dịch cơ sở dữ liệu”

Nội dung được xóa Nội dung được thêm vào
nKhông có tóm lược sửa đổi
Dòng 1:
'''Giao dịch cơ sở dữ liệu''' (''database transaction'') là đơn vị tương tác của một [[hệ quản lý cơ sở dữ liệu]] hoặc các hệ tương tự, mỗi giao dịch được xử lý một cách nhất quán và tin cậy mà không phụ thuộc vào các giao dịch khác. Một [[hệ cơ sở dữ liệu]] lý tưởng sẽ phải bảo đảm toàn bộ các tính chất [[ACID]] cho mỗi giao dịch. Trên thực tế, các tính chất này thường được nới lỏng để giúp việc thực thi đạt hiệu quả hơn.
 
Trong các sản phẩm [[cơ sở dữ liệu]], khả năng xử lý được các giao dịch cho phép người dùng đảm bảo duy trì được [[tính toàn vẹn dữ liệu|tính toàn vẹn]] của một cơ sở dữ liệu.
 
Mỗi giao dịch có thể cần vài [[câu truy vấn (cơ sở dữ liệu)|câu truy vấn]], mỗi câu sẽ đọc và/hay viết thông tin trong cơ sở dữ liệu. Khi thực hiện các câu truy vấn phải bảo đảm là [[cơ sở dữ liệu]] chỉ được tác động bởi một số câu truy vấn. Chẳng hạn như, khi thực hiện một giao dịch chuyển tiền, nếu như tiền đã bị trừ đi trong một tài khoản thì bắt buộc phải cộng vào khoản tương ứng trong tài khoản tiền gửi kia. Ngoài ra các giao dịch cũng không được can thiệp vào nhau. Xem [[ACID]] để có thêm thông tin về các tính chất giao dịch cần thiết .
 
Một giao dịch đơn giản thông thường được gửi đến [[hệ cơ sở dữ liệu]] bằng ngôn ngữ như [[SQL]] dưới dạng:
 
# Bắt đầu giao dịch
# Thực hiện các câu truy vấn (trong lúc đó bên ngoài vẫn chưa thấy được những cập nhật đối với cơ sở dữ liệu)
# Xác nhận giao dịch (bên ngoài thấy được cập nhật đối với cơ sở dữ liệu nếu giao dịch thành công)
 
Nếu giao dịch không thành công ở một điểm nào đó trước khi đến giai đoạn "xác nhận" (''commit''), hệ cơ sở dữ liệu sẽ hủy (''rollback'') mọi thay đổi. Tất cả các giao dịch khác sẽ coi như là giao dịch kia chưa hề tồn tại. Một giao dịch có thể được hủy bất kỳ thời điểm nào trước khi chính thức được xác nhận.
 
== Cơ sở dữ liệu giao dịch ==
Các cơ sở dữ liệu hỗ trợ giao dịch được gọi là '''cơ sở dữ liệu giao dịch'''. Hầu hết các cơ sở dữ liệu hiện nay (như [[FireBird (máy chủ cơ sở dữ liệu)| FireBird]], [[Mimer SQL]], [[PostgreSQL]], [[MySQL]], [[Microsoft SQL Server]] và [[cơ sở dữ liệu Oracle|Oracle]]) đều thuộc vào loại này.
 
== Xem thêm ==
* [[Giao dịch phân tán]]
* [[Giao dịch lồng]]
* Các tính chất [[ACID]]
* [[Giao dịch nguyên vẹn]]
 
==Liên kết ngoài==
* {{en}} [http://c2.com/cgi/wiki?TransactionProcessing Transaction Processing]