Giải bài tập ràng buộc toàn vẹn

Giáo trình CƠ SỞ DỮ LIỆU Trang Bộ mơn CSDL Trường CĐCN 4 31b) Xem lòch báo giảng ngày 23/09/2002 của các giáo viên có mã khoa là CNTT. Yêu cầu: MAGV,HOTEN,TENLOP,TENMH,PHONG,NGAYDAY,TUTIET,DENTIET,BAIDAY, GHICHU) c) Cho biết số lượng giáo viên (SOLUONGGV) của mỗi khoa, kết quả cần sắp xếp tăng dần theo cột tên khoa. yêu cầu: TENKHOA ,SOLUONGGV ( SOLUONGGV là thuộc tính tự đặt) ----oOo---- Giáo trình CƠ SỞ DỮ LIỆU Trang Bộ mơn CSDL Trường CĐCN 4 32Chương 3 . RÀNG BUÔC TOÀN VẸN QUAN HỆ (entegrity constraint) I RÀNG BUỘC TOÀN VẸN - CÁC YẾU TỐ CỦA RÀNG BUỘC TOÀN VẸN 1 Ràng Buộc Toàn Vẹn Trong mỗi CSDL luôn tồn tại nhiều mối liên hệ giữa các thuộc tính, giữa các bộ. Sự liên hệ này có thể xảy ra trong một lược đồ quan hệ hoặc trong các lược đồ quan hệ của một cơ sở dữ liệu. Các mối liên hệ này 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ãn ở mọi thời điểm. Những điều kiện bất biến đó được gọi là ràng buộc toàn vẹn. Trong thực tế ràng buộc toàn vẹn là các quy tắc quản lý được áp đặt trên các đối tượng của thế giới thực. Nhiệm vụ của người phân tích thiết kế là phải phát hiện càng đầy đủ và chính xác các ràng buộc toàn vẹn càng tốt và mô tả chúng một cách chính xác trong hồ sơ phân tích thiết kế - đó là một việc làm rất quan trọng và rất cần thiết. Trong một cơ sở dữ liệu, ràng buộc toàn vẹn được xem như là một công cụ để diễn đạt ngữ nghóa của CSDL. Một CSDL được thiết kế cồng kềnh nhưng nó thể hiện được đầy đủ ngữ nghóa của thực tế vẫn có giá trò cao hơn rất nhiều so với một cách thiết kế gọn nhẹ nhưng nghèo nàn về ngữ nghóa vì thiếu các ràng buộc toàn vẹn của cơ sở dữ liệu. Công việc kiểm tra ràng buộc toàn vẹn thường được tiến hành vào thời điểm cập nhật dữ liệu ( thêm, sửa, xóa). Những ràng buộc toàn vẹn phát sinh cần phải được ghi nhận và xử lý một cách tường minh (thường là bởi một hàm chuẩn hoặc một đoạn chương trình). 2 Các Yếu Tố Của Ràng Buộc Toàn Vẹn Mỗi ràng buộc toàn vẹn có 3 yếu tố: điều kiện, bối cảnh và tầm ảnh hưởng. i Điều kiện Điều kiện của một ràng buộc toàn vẹn R có thể được biểu diễn bằng ngôn ngữ tự nhiên, thuật giải, ngôn ngữ đại số tập hợp, đại số quan hệ,… ngoài ra điều kiện của ràng buộc toàn vẹn cũng có thể được biểu diễn bằng phụ thuộc hàm. Chẳng hạn, với lược đồ quan hệ SV thì có một ràng buộc toàn vẹn như sau: Với r là một quan hệ của Sv ta có ràng buộc toàn vẹn sau ∀ t1,t2 ∈ r t1.MASV ≠ t2.MASV cuối ∀ ii Bối cảnh Bối cảnh của một ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có hiệu lực hay nói một cách khác, đó là những quan hệ cần phải được kiểm tra ràng buộc toàn vẹn. Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ. Chẳng hạn với ràng buộc toàn vẹn trên thì bối cảnh là một quan hệ Sv Giáo trình CƠ SỞ DỮ LIỆU Trang Bộ mơn CSDL Trường CĐCN 4 33iii Tầm ảnh hưởng Trong quá trình phân tích thiết kế một CSDL, người phân tích cần lập bảng tầm ảnh hưởng cho một ràng buộc toàn vẹn nhằm xác đònh thời điểm cần phải tiến hành kiểm tra các ràng buộc toàn vẹn đó. Các thời điểm cần phải kiểm tra RBTV chính là những thời điểm cập nhật dữ liệu (thêm /sửa/ xóa) Một bảng tâm ảnh hưởng của một RBTV có dạng sau: (Tên RBTV)Thêm(T) Sửa(S) Xóa(X) r1 + - - r2 ... ... .. .. ... ... ... ... rn Bảng này chứa toàn các ký hiệu + hoặc – Chẳng hạn + tại ô tương ứng với dòng r1, cột thêm thì có nghóa là khi thêm một bộ vào quan hệ r1 thì cần phải kiểm tra RBTV Dấu - Tại ô tương ứng với dòng r1, cột sửa thì có nghóa là khi sửa một bộ trên quan hệ r1 thì không cần phải kiểm tra RBTV này,… II PHÂN LOẠI RÀNG BUỘC TOÀN VẸN Trong quá trình phân tích thiết kế cơ sở dữ liệu, người phân tích phải phát hiện tất cả các ràng buộc toàn vẹn tiềm ẩn trong CSDL đó. Việc phân loại các ràng buộc toàn vẹn là rất có ích, nó nhằm gíúp cho người phân tích có được một đònh hướng, tránh bỏ sót những ràng buộc toàn vẹn. Các ràng buộc toàn vẹn có thể được chia làm hai loại chính như sau: + Ràng buộc toàn vẹn trên phạm vi là một quan hệ bao gồm :Ràng buộc toàn vẹn miền giá trò, ràng buộc toàn vẹn liên thuộc tính, ràng buộc toàn vẹn liên bộ. + Ràng buộc toàn vẹn trên phạm vi nhiều quan hệ bao gồm :Ràng buộc toàn vẹn phụ thuộc tồn tại, ràng buộc toàn vẹn liên bộ - liên quan hệ, ràng buộc toàn vẹn liên thuộc tính - liên quan hệ. Để minh họa cho phần lý thuyết của chương này, ta nêu ví dụ sau đây Ví dụ Cho một CSDL C dùng để quản lý việc đặt hàng và giao hàng của một công ty. Lược đồ CSDL C gồm các lược đồ quan hệ như sau: Q1: Khach (MAKH,TENKH,DCKH,DT) Tân từ: Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH xác đònh một tên khách hàng (TENKH), một đòa chỉ (DCKH), một số điện thoại (DT). Q2: Hang(MAHANG,TENHANG,QUYCACH,DVTINH) Tân từ: Mỗi mặt hàng có một mã hàng (MAHANG) duy nhất, mỗi MAHANG xác đònh một tên hàng (TENHANG), quy cách hàng (QUYCACH), đơn vò tính (DVTINH). Q3: Dathang(SODH,MAHANG,SLDAT,NGAYDH,MAKH) Tân từ: Mỗi lần đặt hàng có số đặt hàng (SODH) xác đònh một ngày đặt hàng (NGAYDH) và mã khách hàng tương ứng (MAKH). Biết mã số đặt hàng và mã mặt hàng thì biết được số lượng đặt hàng(SLDAT). Mõi khách hàng trong một ngày có thể có nhiều lần đặt hàng Giáo trình CƠ SỞ DỮ LIỆU Trang Bộ mơn CSDL Trường CĐCN 4 34Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT) Tân từ: Mỗi hóa đơn có một mã số duy nhất là SOHD, mỗi hóa đơn bán hàng có thể gồm nhiều mặt hàng. Mỗi hóa đơn xác đònh ngày lập hóa đơn (NGAYLAP), ứng với số đặt hàng nào (SODH). Giả sử rằng hóa đơn bán hàng theo yêu cầu của chỉ một đơn đặt hàng có mã số là SODH và ngược lại, mỗi đơn đặt hàng chỉ được giải quyết chỉ trong một hóa đơn. Do điều kiện khách quan có thể công ty không giao đầy đủ các mặt hàng cũng như số lượng từng mặt hàng như yêu cầu trong đơn đặt hàng nhưng không bao giờ giao vượt ngoài yêu cầu. Mỗi hóa đơn xác đònh một trò giá của các mặt hàng trong hóa đơn (TRIGIAHD) và một ngày xuất kho giao hàng cho khách (NGAYXUAT) Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN) Tân từ: Mỗi SOHD, MAHANG xác đònh giá bán (GIABAN) và số lượng bán (SLBAN) của một mặt hàng trong một hóa đơn. Q6: Phieuthu(SOPT, NGAYTHU, MAKH, SOTIEN) Tân từ: Mỗi phiếu thu có một số phiếu thu (SOPT) duy nhất, mỗi SOPT xác đònh một ngày thu (NGAYTHU) của một khách hàng có mã khách hàng là MAKH và số tiền thu là SOTIEN. Mỗi khách hàng trong một ngày có thể có nhiều số phiếu thu. 1 Ràng buộc toàn vẹn liên bộ Ràng buộc toàn vẹn liên bộ là sự ràng buộc toàn vẹn giữa các bộ trong cùng một quan hệ . Ràng buộc toàn vẹn liên bộ hay còn gọi là ràng buộc toàn vẹn về khóa. Đây là loại ràng buộc toàn vẹn rất phổ biến, nó có mặt trong mọi lược đồ quan hệ của CSDL và thường được các hệ quản trò CSDL tự động kiểm tra. Ví dụ: Với r là một quan hệ của Khach ta có ràng buộc toàn vẹn sau R1: ∀ t1, t2 ∈ r t1. MAKH ≠ t2. MAKH Cuối ∀ R1 Thêm Sửa Xóa r + + - 2 Ràng buộc toàn vẹn về phụ thuộc tồn tại: Ràng buộc toàn vẹn về phụ thuộc tồn tại còn được gọi là ràng buộc toàn vẹn về khóa ngoại. Cũng giống như ràng buộc toàn vẹn về khóa chính, ràng buộc toàn vẹn về phụ thuộc tồn tại rất phổ biến trong CSDL Ví dụ: Với r, s lần lượt là một quan hệ của Dathang, Khach ta có ràng buộc toàn vẹn sau R2: r[MAKH] ⊆ s[MAKH] R2 Thêm Sửa Xóa r + + - s - + + 3 Ràng buộc toàn vẹn về miền giá trò Ràng buộc toàn vẹn có liên quan đến miền giá trò của các thuộc tính trong một quan hệ. Ràng buộc này thường gặp. Một số hệ quản trò CSDL đã tự động kiểm tra một số ràng buộc loại này. Giáo trình CƠ SỞ DỮ LIỆU Trang Bộ mơn CSDL Trường CĐCN 4 35Ví dụ: Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau R3: ∀ t ∈ r t.TRIGIAHD > 0 Cuối ∀ R3 Thêm Sửa Xóa r + + - 4 Ràng buộc toàn vẹn liên thuộc tính Ràng buộc toàn vẹn liên thuộc tính là mối liên hệ giữa các thuộc tính trong một lược đồ quan hệ. Ví dụ: Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau R4: ∀ t ∈ r t.NGAYLAP <= t.NGAYXUAT Cuối ∀ R4 Thêm Sửa Xóa r + + - 5 Ràng buộc toàn vẹn liên thuộc tính liên quan hệ Ràng buộc loại này là mối liên hệ giữa các thuộc tính trong nhiều lược đồ quan hệ. Ví dụ: Với r, s lần lượt là quan hệ của Dathang, Hoadon ta có ràng buộc toàn vẹn sau R5: ∀ t1 ∈ r, t2 ∈ s Nếu t1.SODH = t2.SODH thì t1.NGAYDH <= t2.NGAYXUAT Cuối ∀ R5 Thêm Sửa Xóa r + + + s + + + 6 Ràng buộc toàn vẹn về thuộc tính tổng hợp Ràng buộc toàn vẹn về thuộc tính tổng hợp được xác đònh trong trường hợp mỗi thuộc tính A của một lược đồ quan hệ Q được tính toán giá trò từ các thuộc tính của các lược đồ quan hệ khác. III BÀI TẬP 1/ Hãy tìm các ràng buộc toàn vẹn có trong CSDL cho các bài tập được liệt kê trong chương 3. 2/ QUẢN LÝ THI TỐT NGHIỆP PTCS Một phòng giáo dục huyện muốn lập một hệ thống thông tin để quản lý việc làm thi tốt nghiệp phổ thông cơ sở. Công việc làm thi được tổ chức như sau: Lãnh đạo phòng giáo dục thành lập nhiều hội đồng thi (mỗi hội đồng thi gồm một trường hoặc một số trường gần nhau). Mỗi hội đồng thi có một mã số duy nhất (MAHĐT), một mã số hội đồng thi xác đònh tên hội đồng thi(TENHĐT), họ tên chủ tòch hội đồng(TENCT), đòa chỉ (ĐCHĐT),điện thoại(ĐTHĐT).

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 một CSDL.  

Trong một CSDL, luôn luôn tồn tại rất nhiều mối liên hệ ảnh hưởng qua lại lẫn nhau giữa các thuộc tính của một 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 các quan hệ với nhau. Các mối quan hệ phụ thuộ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 cơ sở dữ liệu đều phải thỏa mãn ở bất kỳ thời điểm nào. Ràng buộc toàn vẹn còn được gọi là các quy tắc quản lý (Rules) được áp đặt lên trên các đối tượng của thế giới thực.  

    Ví dụ 4.1.1:  

Trong CSDL về quản lý học viên của một trường học đã cho trong các ví dụ của mục 3.1 trong Chương III (Bài 4), chúng ta có một số ràng buộc toàn vẹn như 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 3 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.  

Khóa nội, Khóa ngoại, giá trị NOT NULL ... là những RBTV về miền giá trị của các thuộc tính. Những RBTV vừa nêu trên cũng mới chỉ là những RBTV đơn giản trong CSDL nhỏ về quản lý học viên. Trong thực tế, tất cả các RBTV của một cơ sở dữ liệu phải được người phân tích thiết kế phát hiện đầy đủ và mô tả một cách chính xác, rõ ràng trong hồ sơ phân tích, thiết kế.  

Trong một CSDL, ràng buộc toàn vẹn được xem như một công cụ để diễn đạt ngữ nghĩa của cơ sở dữ liệu đó. Trong suốt quá trình khai thác cơ sở dữ liệu, 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.

          Khi xác định một RBTV 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.

  Đ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, thuật giải (bằng mã giả - Pseudo Code, ngôn ngữ tựa Pascal), ngôn ngữ đại số tập hợp, đại số quan hệ v.v hoặc bằng các phụ thuộc hàm (sẽ được trình bày chi tiết trong mục 3 của chương này).  

      Ví dụ 4.1.2:

Giả sử có một 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 Þ  hđ1.Số-hóa-đơn ¹ hđ2. Số-hóa-đơn.

R2 : “Số-chủng-loại-mặt-hàng = số bộ của CHITIẾT_HĐ có cùng Số-hóa-đơn”:

        " hđ  Ỵ HÓAĐƠN thì:

hđ.Số-chủng-loại-mặt-hàng = COUNT (cthđ Ỵ CHITIẾT_HĐ, cthđ.Số-hóa-đơn = hđ.Số-hóa-đơn)

R3 : “Tổng các trị giá của các mặt hàng trong CHITIẾT_HĐ có cùng Số-hóa-đơn phải bằng Tổng-trị-giá ghi trong HÓAĐƠN”:

          " hđ Ỵ HÓAĐƠN thì:

hđ.Tổng-trị-giá =  SUM (cthđ.Trị-giá) đối với cáccthđ Ỵ CHITIẾT_HĐ sao cho : cthđ. Số-hóa-đơn= hđ. Số-hóa-đơn.

R4 : “Mỗi bộ của CHITIẾT_HĐ phải có mã hàng thuộc về danh mục hàng”:

CHITIẾT_HĐ [Mã-hàng] Í DM_HÀNG[Mã-hàng]

hoặc biểu diễn bằng cách khác:

" cthđ Ỵ CHITIẾT_HĐ, $ hh Ỵ DM_HÀNG

sao cho: cthđ.Mã-hàng=hh.Mã-hàng.  

Ghi chú: Chúng ta quy ước: chữ COUNT (...) nghĩa là đếm số bộ giá trị của một quan hệ thỏa mãn điều kiện đã cho trong dấu ngoặc tròn. Chữ SUM (...) nghĩa là lấy tổng các giá trị của các bộ trên một quan hệ thỏa mãn điều kiện đã cho trong dấu ngoặc tròn. Các ngôn ngữ quản trị CSDL đều có các thủ tục hàm này để hỗ trợ tính toán. Chương VI (Bài 9 và 10) sẽ trình bày ngôn ngữ truy vấn CSDL có cấu trúc (SQL) trong đó có đề cập tới các hàm này.

 Bối cảnh có thể định nghĩa trên một quan hệ cơ sở hay nhiều quan hệ cơ sở. Đó là những quan hệ mà RBTV được áp dụng trên đó.

 Như trong ví dụ 4.1.2, bối cảnh của ràng buộc toàn vẹn R1 chỉ là một quan hệ HÓAĐƠN; bối cảnh của ràng buộc toàn vẹn R2 và R3 là hai quan hệ HÓAĐƠN và CHITIẾT_HĐ; bối cảnh của ràng buộc toàn vẹn R4 là hai quan hệ CHITIẾT_HĐ và DM_HÀNG.

Một RBTV có thể liên quan đến một số quan hệ, và chỉ khi có thao tác cập nhật (Thêm, Sửa, Xóa) mới có nguy cơ dẫn đến vi phạm RBTV, đo đó cần xác định rõ thao tác nào dẫn đến việc cần phải kiểm tra RBTV.  

Trong quá trình phân tích, thiết kế một CSDL, người phân tích cần lập bảng xác định tầm ảnh hưởng cho mỗi ràng buộc toàn vẹn nhằm xác định khi nào thì phải tiến hành kiểm tra các ràng buộc toàn vẹn đó. Bảng này gồm 4 cột: cột 1 là cột chủ từ chứa tên các quan hệ liên quan tới RBTV; 3 cột tiếp theo là thao tác Thêm / Sửa / Xóa bộ giá trị của quan hệ. Nếu RBTV cần được kiểm tra nguy cơ dẫn tới vi phạm thì tại ô (giao điểm dòng và cột) đó người ta đánh dấu bằng dấu gạch chéo (x) hoặc dấu cộng (+), và có thể chỉ rõ thêm các thuộc tính nào nếu được cập nhật mới dẫn đến vi phạm RBTV bằng cách liệt kê chúng dưới dấu (x) hoặc dấu (+). Nếu RBTV không có nguy cơ bị vi phạm khi cập nhật CSDL thì đánh dấu trừ (-) vào ô tương ứng. Nếu không bị vi phạm vì không được phép sửa đổi thì ký hiệu là trừ với dấu sao ( -(*)).  

Ví dụ 4.1.3:  

Bảng tầm ảnh hưởng của ràng buộc toàn vẹn R1

Quan hệ Thêm Sửa Xóa
HÓAĐƠN + (Số-hóa-đơn) - (*) +

  Bảng tầm ảnh hưởng của ràng buộc toàn vẹn R2

Quan hệ Thêm Sửa Xóa
HÓAĐƠN - + (Số-chủng-loại-mặt-hàng) +
CHITIẾT_HĐ + - +

  Bảng tầm ảnh hưởng của ràng buộc toàn vẹn R3

Quan hệ Thêm Sửa Xóa
HÓAĐƠN - + (Tổng-trị-giá) +
CHITIẾT_HĐ + + (Trị-giá) +

  Bảng tầm ảnh hưởng của ràng buộc toàn vẹn R4

Quan hệ Thêm Sửa Xóa
CHITIẾT_HĐ + (Mã-hàng) - (*) +
DM_HÀNG - - (*) +

  Trong thực tế, ràng buộc toàn vẹn R1 là không cần thiết, bởi thuộc tính Số-hóa-đơn là khóa của quan hệ HÓAĐƠN, do vậy nó luôn luôn phải là duy nhất và không được phép chứa giá trị rỗng; đồng thời không được phép sửa đổi (Xem lại Chương III, mục 3.1, điểm 3.1.6 - một số quy ước về khóa. Bài 4). 

Sau khi xây dựng các bảng tầm ảnh hưởng của từng RBTV trên các quan hệ liên quan, cần phải tổng hợp lại bằng cách xây dựng một bảng tầm ảnh hưởng tổng hợp các RBTV nhằm xác định tất cả các RBTV cần phải kiểm tra trên từng quan hệ. Bảng này gồm cột chủ từ là các RBTV, các cột còn lại là các thao tác Thêm (T), Sửa (S) và Xóa (X) của từng quan hệ nằm trong bối cảnh của các RBTV trong CSDL.  

Ví dụ 4.1.4:

Lập bảng tầm ảnh hưởng tổng hợp của các RBTV trong CSDL quản lý hóa đơn bán hàng nêu trên:  

Q.Hệ HÓAĐƠN CHITIẾT_HĐ DM_HÀNG
RBTV T S X T S X T S X
R1 + (Số-hđ) - (*) +            
R2 - + (Số-loại-MH) + + - (*) +      
R3 - + (Tổng-TG) + + + (Trị-giá) +      
R4       + - + - - (*) +

Nhìn vào bảng tổng hợp trên chúng ta có thể thấy quan hệ HÓAĐƠN khi thêm và xóa một bộ giá trị, phải kiểm tra ràng buộc toàn vẹn R1, R2 và R3; khi sửa giá trị thuộc tính Số-chủng-loại-mặt-hàng thì phải kiểm tra ràng buộc toàn vẹn R2 và khi sửa giá trị thuộc tính Tổng-trị-giá thì phải kiểm tra ràng buộc toàn vẹn R3. Quan hệ CHITIẾT_HĐ khi được cập nhật cần kiểm tra 2 RBTV: R2 và R3; Quan hệ DM_HÀNG cần kiểm tra ràng buộc toàn vẹn R4 khi xóa một bộ giá trị.  

Khi một RBTV bị vi phạm cần có những hành động thích hợp. Thông thường có 2 giải pháp: