Kiểm soát toàn vẹn ngữ nghĩa tập trung

Một phần của tài liệu luận văn thạc sĩ xây dựng cơ sở dữ liệu phân tán phục vụ thông tin nhanh về nhân sự tại quảng bình (Trang 70 - 73)

6. Tổng quan tài liệu nghiên cứu

2.4.1.Kiểm soát toàn vẹn ngữ nghĩa tập trung

Một tiểu hệ thống kiểm soát toàn vẹn ngữ nghĩa có hai thành phần chính: một ngôn ngữ cho phép diễn tả và thao tác các phán đoán toàn vẹn, và một định chế chịu trách nhiệm thực hiện các hành động cụ thể nhằm ép buộc tính toàn vẹn khi có cập nhật.

vẹn, khi tạo quan hệ hoặc khi quan hệ đã có dữ liệu, có chung một cú pháp. Ngôn ngữ này cho phép mô tả, ghi nhận hoặc loại bỏ ràng buộc toàn vẹn. Trong các hệ cơ sở dữ liệu quan hệ, ràng buộc toàn vẹn được định nghĩa như là các phán đoán. Một phán đoán là một biểu thức đặc biệt được mô tả bằng phép tính quan hệ bộ, trong đó mỗi biến được lượng từ hóa với mọi ( ) hoặc tồn tại ( ). Vì vậy, một phán đoán có thể được xem như là một lượng từ hóa câu truy vấn, mang giá trị đúng hoặc sai cho mỗi bộ trong tích Đề các của các quan hệ được xác định bởi các biến bộ. Có ba loại ràng buộc toàn vẹn: ràng buộc tiền định, ràng buộc tiền dịch hoặc ràng buộc tổng quát.

- Ràng buộc tiền định

Định nghĩa dựa trên các từ khóa đơn giản để diễn tả chính xác các ràng buộc trong mô hình quan hệ, chẳng hạn như ràng buộc giá trị của thuộc tính không nhận giá trị null, hoặc khóa duy nhất, khóa ngoại hoặc phụ thuộc hàm.

- Ràng buộc tiền dịch

Mô tả các điều kiện mà các bộ trong một quan hệ phải được thỏa bởi một kiểu cập nhật đã cho. Kiểu cập nhật có thể là INSERT, DELETE hoặc MODIFY cho phép giới hạn kiểm soát ràng buộc. Để xác định các bộ cần cập nhật trong định nghĩa ràng buộc, người ta đưa ra hai biến NEWOLD, tương ứng biến thiên trên các bộ mới (được chèn vào) và các bộ cũ (được xóa bỏ).

Cú pháp ràng buộc tiền dịch được biểu diễn bởi câu lệnh sau:

CHECK ON <quan hệ> WHEN <kiểu cập nhật> (<lượng từ hóa trên quan hệ>)

- Ràng buộc tổng quát

thể liên quan đến nhiều quan hệ. Có thể sử dụng ít nhất ba ràng buộc tiền dịch để diễn tả một ràng buộc tổng quát trên ba quan hệ. Một ràng buộc tổng quát có thể được diễn tả với cú pháp như sau:

CHECK ON danh sách <tên biến> :<tên quan hệ>, (<lượng từ hóa>)

b. Cưỡng chế thực thi ràng buộc

Cưỡng chế thực thi ràng buộc toàn vẹn là thực hiện việc loại bỏ những chương trình cập nhật vi phạm một số ràng buộc nào đó. Một ràng buộc bị vi phạm do các hành động cập nhật hoặc do các phán đoán ràng buộc bị sai. Có hai phương pháp cơ bản cho phép loại bỏ các trình cập nhật phát sinh mâu thuẫn.

- Phương pháp phát hiện mâu thuẫn (không gắn bó)

Một thao tác cập nhật u được thi hành sẽ biến đổi CSDL từ trạng thái D

sang trạng thái Du. Thuật toán cưỡng chế phải khẳng định rằng mọi ràng buộc liên quan vẫn đúng trong Du bằng cách áp dụng các ràng buộc này để kiểm tra. Nếu trạng thái Du không gắn bó, hệ quản trị CSDL sẽ chuyển sang một trạng thái Du’ khác bằng cách hiệu chỉnh lại Du hoặc phải khôi phục lại trạng thái D. Vì những kiểm tra này được áp dụng sau khi trạng thái của CSDL đã thay đổi nên được gọi là kiểm tra sau. Phương pháp này sẽ không hiệu quả nếu hệ thống phản hồi lại rất nhiều thao tác khi ràng buộc bị vi phạm.

- Phương pháp ngăn chặn mâu thuẫn

Một thao tác chỉ được thực hiện nếu nó chuyển CSDL sang một trạng thái gắn bó khác. Các bộ cần cập nhật đã có sẵn (trong trường hợp chèn) hoặc phải truy nhập trong CSDL (trường hợp xóa hoặc hiệu chỉnh). Thuật toán cưỡng chế xác nhận rằng tất cả các ràng buộc có liên đới đều đúng sau khi cập nhật các bộ. Nói chung, nó được thực hiện bằng cách áp dụng các kiểm

Phương pháp ngăn chặn này hiệu quả hơn phương pháp phát hiện vì không bao giờ phải hồi lại các thao tác cập nhật do ràng buộc bị vi phạm.

Một phần của tài liệu luận văn thạc sĩ xây dựng cơ sở dữ liệu phân tán phục vụ thông tin nhanh về nhân sự tại quảng bình (Trang 70 - 73)