Tính nhất quán (hệ cơ sở dữ liệu)

Tính nhất quán (tiếng Anh: consistency) trong hệ thống cơ sở dữ liệu là yêu cầu rằng giao dịch cơ sở dữ liệu đã cho bất kỳ chỉ có thể thay đổi dữ liệu theo những cách được cho phép. Bất kỳ dữ liệu nào được ghi vào cơ sở dữ liệu cũng đều phải tuân theo theo tất cả các quy tắc định sẵn, bao gồm ràng buộc, cascade, trigger, và bất kỳ cách phối trộn nào của các quy tắc trong đó. Điều này không có nghĩa là để đảm bảo giao dịch sẽ hoạt động đúng như mong muốn của lập trình viên, mà chỉ là để lỗi lập trình bất kì nào đó không gây ra vi phạm ràng buộc cơ sở dữ liệu đã định.C. J. Date, "SQL and Relational Theory: How to Write Accurate SQL Code 2nd edition", O'reilly Media, Inc., 2012, pg. 180.

Tính nhất quán cũng có thể hiểu sau khi ghi, sửa hoặc xóa bản ghi thành công, yêu cầu đọc bất kỳ sẽ ngay lập tức nhận được giá trị mới đây nhất của bản ghi đấy.

 Như là bảo đảm ACID 
Tính nhất quán là một trong bốn bảo đảm làm nên giao dịch ACID; tuy nhiên, bảo đảm ở đây bản chất là như thế nào thì lại có mơ hồ đáng kể. Có nhiều định nghĩa khác nhau về nó như là:

 Sự bảo đảm rằng bất kỳ giao dịch nào đã bắt đầu trong tương lai thì đều tất yếu sẽ nhìn thấy hiệu quả của các giao dịch khác mà đã commit trong quá khứ;
 Sự bảo đảm rằng ràng buộc cơ sở dữ liệu không bị vi phạm, đặc biệt là khi giao dịch nào đó commit;
 Sự bảo đảm rằng các thao tác trong giao dịch đều được thực thi một cách chuẩn xác, đúng đắn và hợp lệ, làm đúng theo ngữ nghĩa của ứng dụng.

Vì các định nghĩa khác nhau này không loại trừ lẫn nhau, nên hoàn toàn có thể thiết kế ra hệ thống có "tính nhất quán" mang tất cả các ý về sự bảo đảm nêu ở trên đây, như hầu hết các hệ quản trị cơ sở dữ liệu quan hệ đang thông dụng ngày nay đều làm.

 Như là sự đánh đổi CAP 
Định lý CAP dựa trên ba sự đánh đổi, một trong số này là "tính nhất quán nguyên tử", về sự đánh đổi này thì có nhóm tác giả chú rằng "Bàn luận về tính nhất quán nguyên tử thì có phần khác với bàn về cơ sở dữ liệu ACID, vì tính nhất quán cơ sở dữ liệu là nói về giao dịch, còn tính nhất quán nguyên tử thì chỉ nói đến tính chất của thao tác 'yêu cầu' / 'hồi đáp' đơn mà thôi. Và nó cũng có nghĩa khác với tính nguyên tử trong ACID, vì nó gộp ý niệm cơ dữ liệu của cả tính nguyên lẫn tính nhất quán luôn." Trong định lý CAP, ta chỉ có thể có được hai trong ba tính chất sau: tính nhất quán, tính sẵn có, hoặc tính dung sai phân vùng. Do đó, tính nhất quán có thể phải bị đánh đổi đi trong một số hệ cơ sở dữ liệu.

 Xem thêm 

 Định lý CAP
 Dần dà nhất quán

 Tham khảo 

Thể loại:Quản trị dữ liệu