GIÁO TRÌNH CƠ SỞ DỮ LIỆU
Chia sẻ bởi Nguyễn Minh Ngoan |
Ngày 19/03/2024 |
10
Chia sẻ tài liệu: GIÁO TRÌNH CƠ SỞ DỮ LIỆU thuộc Công nghệ thông tin
Nội dung tài liệu:
CHƯƠNG 4
RÀNG BUỘC TOÀN VẸN
4.1. MỞ ĐẦU
Ràng buộc toàn vẹn (RBTV) và kiểm tra vi phạm RBTV là hai vấn đề quan trọng trong quá trình phân tích, thiết kế và khai thác CSDL. Trong tiến trình phân tích - thiết kế CSDL, nếu không quan tâm đúng mức đến những RBTV, có thể dẫn đến những hậu quả nghiêm trọng về tính an toàn và toàn vẹn dữ liệu, đặc biệt trong những CSDL lớn.
4.2. RÀNG BUỘC TOÀN VẸN
4.2.1. Định nghĩa
Ràng buộc toàn vẹn là một điều kiện bất biến không được vi phạm trong CSDL. Trong CSDL, luôn luôn tồn tại nhiều mối liên hệ tương tác động lẫn giữa các thuộc tính của quan hệ, giữa các bộ giá trị trong một quan hệ và giữa các thuộc tính của các bộ giá trị trong nhiều quan hệ. Các mối quan hệ tương tác lẫn nhau này chính là những điều kiện bất biến mà tất cả các bộ của những quan hệ có liên quan trong CSDL đều phải thỏa ở mọi thời điểm. Trong thời giới thực, RBTV chính là các quy tắc quản lý được áp đặt lên các đối tượng.
Ví dụ 4.1 : Trong CSDL về quản lý học viên, chúng ta có một số RBTV sau:
R1 : Mỗi lớp học phải có một mã số duy nhất để phân biệt với mọi lớp học khác trong trường.
R2 : Mỗi lớp học phải thuộc một KHOA của trường.
R3 : Mỗi học viên có một mã số riêng biệt, không trùng với bất cứ học viên nào khác.
R4 : Mỗi học viên phải đăng ký vào một lớp của trường.
R5 : Mỗi học viên được thi tối đa ba lần cho mỗi môn học.
R6 : Tổng số học viên của một lớp phải lớn hơn hoặc bằng số lượng đếm được của lớp tại một thời điểm.
Trong CSDL, RBTV là công cụ để diễn đạt ngữ nghĩa của CSDL đó. Trong suốt quá trình khai thác CSDL, các RBTV đều phải được thỏa mãn ở bất kỳ thời điểm nào nhằm đảm bảo cho CSDL luôn luôn ở trạng thái an toàn và nhất quán về dữ liệu.
Các hệ quản trị CSDL thường có các cơ chế tự động kiểm tra các RBTV về miền giá trị của Khóa nội, Khóa ngoại, giá trị NOT NULL qua khai báo cấu trúc các bảng (mô hình dữ liệu của quan hệ) hoặc thông qua những thủ tục kiểm tra và xử lý vi phạm RBTV do những người phân tích - thiết kế cài đặt. Việc kiểm tra RBTV có thể được tiến hành vào một trong các thời điểm sau:
- Kiểm tra ngay khi thực hiện một thao tác cập nhật CSDL (thêm, sửa, xóa). Thao tác cập nhật chỉ được xem là hợp lệ nếu như nó không vi phạm bất cứ một RBTV nào, nghĩa là nó không làm mất tính toàn vẹn dữ liệu của CSDL. Nếu vi phạm RBTV, thao tác cập nhật bị coi là không hợp lệ và sẽ bị hệ thống hủy bỏ (hoặc có một xử lý thích hợp nào đó).
- Kiểm tra định kỳ hay đột xuất, nghĩa là việc kiểm tra RBTV được tiến hành một cách độc lập đối với thao tác cập nhật dữ liệu. Đối với những trường hợp vi phạm RBTV, hệ thống sẽ có những xử lý ngầm định hoặc yều cầu người sử dụng xử lý những sai sót một cách tường minh.
4.2.2. Các yếu tố của ràng buộc toàn vẹn
Khi xác định một RBTV ta cần chỉ rõ:
Điều kiện (tức là nội dung) của RBTV, từ đó xác định cách biểu diễn.
Bối cảnh xảy ra RBTV : trên một hay nhiều quan hệ, cụ thể trên các quan hệ nào.
Tầm ảnh hưởng của RBTV. Khả năng tính toàn vẹn dữ liệu bị vi phạm, và
Hành động cần phải có khi phát hiện có RBTV bị vi phạm.
4.2.2.1 Điều kiện của RBTV
Điều kiện của RBTV là sự mô tả, và biểu diễn hình thức nội dung của nó, có thể được biểu diễn bằng ngôn ngữ tự nhiên, bằng mã giả, ngôn ngữ đại số tập hợp, đại số quan hệ, hoặc bằng các phụ thuộc hàm.
Ví dụ 4.2 : Giả sử ta có CSDL quản lý hóa đơn bán hàng gồm các bảng sau:
HÓAĐƠN (Số-hóa-đơn, Số-chủng-loại-mặt-hàng, Tổng-trị-giá).
DM_HÀNG (Mã-hàng, Tên-hàng, Đơn-vị-tính).
CHITIẾT-HĐ (Số-hóa-đơn, Mã-hàng, Số-lượng-đặt, Đơn-giá, Trị-giá).
Điều kiện của ràng buộc toàn vẹn có thể biểu diễn như sau:
(-) R1 : "Mỗi hóa đơn có một Số hóa đơn riêng biệt, không trùng với hóa đơn khác":
( hđ1, hđ2 ( HÓAĐƠN, hđ1 ( hđ2
RÀNG BUỘC TOÀN VẸN
4.1. MỞ ĐẦU
Ràng buộc toàn vẹn (RBTV) và kiểm tra vi phạm RBTV là hai vấn đề quan trọng trong quá trình phân tích, thiết kế và khai thác CSDL. Trong tiến trình phân tích - thiết kế CSDL, nếu không quan tâm đúng mức đến những RBTV, có thể dẫn đến những hậu quả nghiêm trọng về tính an toàn và toàn vẹn dữ liệu, đặc biệt trong những CSDL lớn.
4.2. RÀNG BUỘC TOÀN VẸN
4.2.1. Định nghĩa
Ràng buộc toàn vẹn là một điều kiện bất biến không được vi phạm trong CSDL. Trong CSDL, luôn luôn tồn tại nhiều mối liên hệ tương tác động lẫn giữa các thuộc tính của quan hệ, giữa các bộ giá trị trong một quan hệ và giữa các thuộc tính của các bộ giá trị trong nhiều quan hệ. Các mối quan hệ tương tác lẫn nhau này chính là những điều kiện bất biến mà tất cả các bộ của những quan hệ có liên quan trong CSDL đều phải thỏa ở mọi thời điểm. Trong thời giới thực, RBTV chính là các quy tắc quản lý được áp đặt lên các đối tượng.
Ví dụ 4.1 : Trong CSDL về quản lý học viên, chúng ta có một số RBTV sau:
R1 : Mỗi lớp học phải có một mã số duy nhất để phân biệt với mọi lớp học khác trong trường.
R2 : Mỗi lớp học phải thuộc một KHOA của trường.
R3 : Mỗi học viên có một mã số riêng biệt, không trùng với bất cứ học viên nào khác.
R4 : Mỗi học viên phải đăng ký vào một lớp của trường.
R5 : Mỗi học viên được thi tối đa ba lần cho mỗi môn học.
R6 : Tổng số học viên của một lớp phải lớn hơn hoặc bằng số lượng đếm được của lớp tại một thời điểm.
Trong CSDL, RBTV là công cụ để diễn đạt ngữ nghĩa của CSDL đó. Trong suốt quá trình khai thác CSDL, các RBTV đều phải được thỏa mãn ở bất kỳ thời điểm nào nhằm đảm bảo cho CSDL luôn luôn ở trạng thái an toàn và nhất quán về dữ liệu.
Các hệ quản trị CSDL thường có các cơ chế tự động kiểm tra các RBTV về miền giá trị của Khóa nội, Khóa ngoại, giá trị NOT NULL qua khai báo cấu trúc các bảng (mô hình dữ liệu của quan hệ) hoặc thông qua những thủ tục kiểm tra và xử lý vi phạm RBTV do những người phân tích - thiết kế cài đặt. Việc kiểm tra RBTV có thể được tiến hành vào một trong các thời điểm sau:
- Kiểm tra ngay khi thực hiện một thao tác cập nhật CSDL (thêm, sửa, xóa). Thao tác cập nhật chỉ được xem là hợp lệ nếu như nó không vi phạm bất cứ một RBTV nào, nghĩa là nó không làm mất tính toàn vẹn dữ liệu của CSDL. Nếu vi phạm RBTV, thao tác cập nhật bị coi là không hợp lệ và sẽ bị hệ thống hủy bỏ (hoặc có một xử lý thích hợp nào đó).
- Kiểm tra định kỳ hay đột xuất, nghĩa là việc kiểm tra RBTV được tiến hành một cách độc lập đối với thao tác cập nhật dữ liệu. Đối với những trường hợp vi phạm RBTV, hệ thống sẽ có những xử lý ngầm định hoặc yều cầu người sử dụng xử lý những sai sót một cách tường minh.
4.2.2. Các yếu tố của ràng buộc toàn vẹn
Khi xác định một RBTV ta cần chỉ rõ:
Điều kiện (tức là nội dung) của RBTV, từ đó xác định cách biểu diễn.
Bối cảnh xảy ra RBTV : trên một hay nhiều quan hệ, cụ thể trên các quan hệ nào.
Tầm ảnh hưởng của RBTV. Khả năng tính toàn vẹn dữ liệu bị vi phạm, và
Hành động cần phải có khi phát hiện có RBTV bị vi phạm.
4.2.2.1 Điều kiện của RBTV
Điều kiện của RBTV là sự mô tả, và biểu diễn hình thức nội dung của nó, có thể được biểu diễn bằng ngôn ngữ tự nhiên, bằng mã giả, ngôn ngữ đại số tập hợp, đại số quan hệ, hoặc bằng các phụ thuộc hàm.
Ví dụ 4.2 : Giả sử ta có CSDL quản lý hóa đơn bán hàng gồm các bảng sau:
HÓAĐƠN (Số-hóa-đơn, Số-chủng-loại-mặt-hàng, Tổng-trị-giá).
DM_HÀNG (Mã-hàng, Tên-hàng, Đơn-vị-tính).
CHITIẾT-HĐ (Số-hóa-đơn, Mã-hàng, Số-lượng-đặt, Đơn-giá, Trị-giá).
Điều kiện của ràng buộc toàn vẹn có thể biểu diễn như sau:
(-) R1 : "Mỗi hóa đơn có một Số hóa đơn riêng biệt, không trùng với hóa đơn khác":
( hđ1, hđ2 ( HÓAĐƠN, hđ1 ( hđ2
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Minh Ngoan
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)