1. Trang chủ
  2. » Thể loại khác

ch4 rbtv pth khoa

70 90 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

CƠ SỞ DỮ LIỆU ( Databases ) Chương 4: Ràng buộc toàn vẹn (RBTV) Nội dung Các vấn đề liên quan đến RBTV Các loại RBTV Phụ thuộc hàm Khóa Bài tập Chương - Ràng buộc toàn vẹn (RBTV) 4.1.1 Định nghĩa RBTV  Ràng buộc tồn vẹn (RBTV) điều kiện khơng vi phạm CSDL RBTV gọi quy tắc quản lý (Rules) áp đặt lên đối tượng giới thực  Trong CSDL, RBTV xem công cụ để diễn đạt ngữ nghĩa CSDL  Trong trình khai thác CSDL, RBTV phải thỏa mãn nhằm đảm bảo cho CSDL trạng thái an toàn quán Chương - Ràng buộc toàn vẹn (RBTV) 4.1.1 Định nghĩa RBTV (tt)  Định nghĩa: – RBTV quy tắc định nghĩa nhiều quan hệ môi trường ứng dụng quy định  Đó quy tắc để đảm bảo tính quán liệu – Mỗi RBTV định nghĩa thuật toán CSDL  Ví dụ: – R1: Mỗi Nhân viên có mã số để phân biệt với nhân viên khác – R2: Mỗi đề án phải Phòng/Ban chủ trì – R3: Mỗi nhân viên tham gia nhiều đề án khác – R4: Mỗi nhân viên có nhiều khơng có thân nhân Chương - Ràng buộc toàn vẹn (RBTV) 4.1.1 Định nghĩa RBTV (tt)  Khóa nội, Khóa ngoại, NOT NULL RBTV miền giá trị thuộc tính quan hệ  Hệ quản trị CSDL có chế tự động kiểm tra RBTV miền trị Khóa nội, Khóa ngoại, NOT NULL qua khai báo cấu trúc bảng  Các RBTV kiểm tra thực thao tác cập nhật CSDL (Thêm, Sửa, Xóa)  Thao tác cập nhật CSDL xem hợp lệ khơng vi phạm RBTV  Nếu vi phạm RBTV, hệ thống hủy bỏ thao tác cập nhật (hoặc hệ thống có xử lý thích hợp đó) Chương - Ràng buộc toàn vẹn (RBTV) 4.1.1 Định nghĩa RBTV (tt) Như vậy:  Phương pháp kiểm tra RBTV – Kiểm tra tự động (qua khai báo cấu trúc bảng) – Thông qua thủ tục kiểm tra xử lý vi phạm RBTV (do người phân tích thiết kế cài đặt)  Thời điểm kiểm tra RBTV – Ngay sau thực thao tác cập nhật CSDL – Kiểm tra định kỳ đột xuất Chương - Ràng buộc toàn vẹn (RBTV) 4.1.2 Điều kiện RBTV  Là mô tả biểu diễn hình thức nội dung  Có thể 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ệ – Các phụ thuộc hàm Chương - Ràng buộc toàn vẹn (RBTV) 4.1.2 Điều kiện RBTV (tt)  Ví dụ: Cho CSDL quản lý hóa đơn bán hàng gồm bảng: HOADON(SoHD, SoMatHang, Tongtien) DMHANG(MaH, TenH, DvTinh) CHITIETHD(SoHD, MaH, SL, Dongia, Thanhtien)  R1: Mỗi hóa đơn có số hóa đơn riêng biệt, khơng trùng với hóa đơn khác  R2: Số mặt hàng số của chi tiết hóa đơn có số hóa đơn  R3:Tổng thành tiền mặt hàng CHITIETHD có số hóa đơn phảibằng Tổng tiền ghi HOADON  R4: Mỗi chi tiết hóa đơn phải có Mã Hàng thuộc Danh mục hàng Chương - Ràng buộc toàn vẹn (RBTV) 4.1.2 Điều kiện RBTV (tt)  Ví dụ - Biểu diễn đại số tập hợp R1: ∀ hđ1, hđ2 ∈ HOADON, hđ1 ≠ hđ2 ⇒ hđ1.SoHD ≠ hđ2.SoHD R2: ∀ hđ ∈ HOADON thì: ⇒ hđ.SoMatHang = COUNT(cthđ ∈ CHITIETHD, cthđ.SoHD = hđ.SoHD) R3: ∀ hđ ∈ HOADON thì: hđ.Tongtien = SUM(cthđ.Thanhtien) cthđ ∈ CHITIETHD cho: cthđ.SoHD= hđ.SoHD Chương - Ràng buộc toàn vẹn (RBTV) 4.1.2 Điều kiện RBTV (tt)  Ví dụ - Biểu diễn đại số tập hợp (tt) R4: CHITIETHD[MaH] DMHANG[MaH] biểu diễn cách khác  cthđ  CHITIETHD,  hh  DMHANG cho: cthđ.MaH=hh.MaH Chương - Ràng buộc tồn vẹn (RBTV) 10 4.4 Khóa (tt)  Tập thuộc tính S gọi siêu khóa S  K  Thuộc tính A gọi thuộc tính khóa AK với K khóa Q Ngược lại A gọi thuộc tính khơng khóa  Một lược đồ quan hệ có nhiều khóa tập thuộc tính khơng khóa rỗng Chương - Ràng buộc tồn vẹn (RBTV) 56 4.4.2 Thuật tốn tìm khóa  Bước 1: – gán K = Q+  Bước 2: – A thuộc tính K, đặt K’ = K - A Nếu K’+= Q+ gán K = K' thực lại bước • Nếu muốn tìm khóa khác (nếu có) lược đồ quan hệ, ta thay đổi thứ tự loại bỏ phần tử K Chương - Ràng buộc tồn vẹn (RBTV) 57 4.4.2 Thuật tốn tìm khóa (tt)  Ví dụ 1: cho lược đồ quan hệ Q tập phụ thuộc hàm F sau: – Q (A,B,C,D,E) – F={ABC, AC  B, BC  DE} – Tìm khóa K  Giải: B1: K=Q+  K=ABCDE B2:(K\A)+ (BCDE)+=BCDE ≠ Q+  K=ABCDE B3:(K\B)+ (ACDE)+= ABCDE = Q+  K=ACDE B4: (K\C)+ (ADE)+ = ADE ≠ Q+  K=ACDE B5: (K\D)+  (ACE)+ = ACEBD=Q+  K=ACE B6: (K\E)+ (AC)+ = ACBDE =Q+  K=AC Chương - Ràng buộc tồn vẹn (RBTV) 58 4.4.2 Thuật tốn tìm khóa (tt) Ví dụ 2: cho lược đồ quan hệ Q(ABCDEGHI) tập phụ thuộc hàm – F={ AC B; BI  AC; ABC  D; H  I; ACE  BCG; CG  AE} – Tìm Khóa K Chương - Ràng buộc toàn vẹn (RBTV) 59 4.4.2 Thuật tốn tìm khóa (tt)  Thuật tốn 2: Biểu diễn lược đồ quan hệ đồ thị có hướng sau: – Mỗi đỉnh đồ thị thuộc tính lược đồ quan hệ – Mỗi phụ thuộc hàm AB biểu diễn cung có hướng từ đỉnh A đến đỉnh B • Đỉnh (thuộc tính) có mũi tên gọi nút gốc • Đỉnh (thuộc tính) có mũi tên vào gọi nút – Khóa lược đồ quan hệ phai bao phủ tập nút gốc đồng thời không chứa nút – Thuật tốn: • Bước 1: Xuất phát từ tập nút gốc (X) • Bước 2: Tính bao đóng tập thuộc tính X (X+) • Bước 3: Nếu X+ = U thi X khóa Ngược lại, bổ sung thuộc tính khơng thuộc nút vào X lặp lại Bước Chương - Ràng buộc tồn vẹn (RBTV) 60 4.4.2 Thuật tốn tìm khóa (tt)  Ví dụ: – Cho R(U) với U = {A,B,C,D,E,H} với tập phụ thuộc hàm F = {ABC, CDE, ECA, CDH, HB} – Hãy tìm khóa R H f5 B f4 C f1 A f2 D f3 E Nút gốc Chương - Ràng buộc toàn vẹn (RBTV) 61 4.4.2 Thuật tốn tìm khóa (tt)  Tính D+ =   Do CD có mặt vế trái phụ thuộc hàm (CDH, CDE) nên ta ghép C vào tập nút gốc tính bao đóng H f5  CD+ = CDEHBA Vậy CD khóa R B f4 C f1 A f2 D f3 E Chương - Ràng buộc toàn vẹn (RBTV) 62 4.4.3 Thuật tốn tìm khóa Bước 1: – Xác định tất tập khác rỗng Q+={X1, X2, …,X2n-1 } Bước 2: – Tìm bao đóng Xi Bước 3: – Siêu khóa Xi có Xi+= Q+ – Giả sử ta có siêu khóa S = {S1,S2,…,Sm} Bước 4: – xét Si, Sj S (i ≠ j), Si  Sj loại Sj (i,j=1 n), kết lại S tập tất khóa cần tìm Chương - Ràng buộc tồn vẹn (RBTV) 63 4.4.3 Thuật tốn tìm khóa (tt)  Ví dụ: – Tìm tất khóa lược đồ quan hệ tập phụ thuộc hàm sau: Chương - Ràng buộc toàn vẹn (RBTV) 64 4.4.3 Thuật tốn tìm khóa (tt)  Thuật tốn cải tiến – Bước1: tạo tập thuộc tính nguồn TN, tập thuộc tính trung gian TG – Bước2: • Nếu TG =  lược đồ quan hệ có khóa K = TN kết thúc • Ngược lại Qua bước – Bước3: tìm tất tập Xi tập trung gian TG Chương - Ràng buộc tồn vẹn (RBTV) 65 4.4.3 Thuật tốn tìm khóa (tt) – Bước 4: tìm siêu khóa Si cách Xi • if (TN  Xi)+ = Q+ then • Si = TN Xi – Bước 5: Loại bỏ siêu khóa khơng tối thiểu •  Si, Sj  S • if Si  Sj then – Loại Sj khỏi Tập siêu khóa S • S lại tập khóa cần tìm Chương - Ràng buộc toàn vẹn (RBTV) 66 4.4.3 Thuật tốn tìm khóa (tt) Ví dụ 1: – Cho lược đồ quan hệ Q(CSZ) tập phụ thuộc hàm F={CS Z; Z  C} Áp dụng thuật toán cải tiến, tìm khóa Q Giải: – TN = {S}; TG = {C,Z} – Gọi Xi tập tập TG: Chương - Ràng buộc tồn vẹn (RBTV) 67 4.4.3 Thuật tốn tìm khóa (tt)  Ví dụ 2: – Cho quan hệ R (U), U = {A,B,C,D,G} phụ thuộc hàm F = {BC, CB, AGD} tìm tất khóa R Chương - Ràng buộc tồn vẹn (RBTV) 68 Chương - Ràng buộc toàn vẹn (RBTV) 69 Tổng kết chương  Hệ luật dẫn Amstrong hệ  Thuật tốn tìm bao đóng tập thuộc tính  Thuật tốn tìm phủ tối thiểu tập phụ thuộc hàm  Thuật tốn tìm khóa quan hệ  Thuật tốn tìm tất khóa quan hệ  Cho phụ thuộc hàm XY tập Phụ thuộc hàm F, làm cách xác định XY  F+ hay không ?  Cho tập phụ thuộc F G, làm xác định F G tương đương? Chương - Ràng buộc toàn vẹn (RBTV) 70 ... buộc tồn vẹn (RBTV) 17 4.2 Các loại RBTV  RBTV có bối cảnh bảng – RBTV miền trị thuộc tính – RBTV liên thuộc tính – RBTV liên  RBTV có bối cảnh nhiều bảng – – – – RBTV phụ thuộc tồn RBTV liên thuộc... đề liên quan đến RBTV Các loại RBTV Phụ thuộc hàm Khóa Bài tập Chương - Ràng buộc tồn vẹn (RBTV) 4.1.1 Định nghĩa RBTV  Ràng buộc toàn vẹn (RBTV) điều kiện không vi phạm CSDL RBTV gọi quy tắc... vẹn (RBTV) 11 4.1.4 Tầm ảnh hưởng RBTV  Một RBTV liên quan đến số quan hệ, chi có thao tác cập nhật (Thêm, Sửa, Xóa) xuất nguy vi phạm RBTV  Cần phải xác định rõ dẫn đến việc kiểm tra RBTV

Ngày đăng: 05/11/2019, 11:42

Xem thêm:

TỪ KHÓA LIÊN QUAN

w