Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
241,19 KB
Nội dung
BÀI 17: PHÉPTÁCHLUỢCĐỒQUANHỆ 1/36 nội dung: TáchlượcđồquanhệPhéptách bảo toàn phụ thuộc hàm Thuật toán táchlượcđồ thành 3NF Tách không mất thông tin thành các lượcđồ ở dạng BCNF Tổng kết 2/36 nội dung: TáchlượcđồquanhệPhéptách bảo toàn phụ thuộc hàm Thuật toán táchlượcđồ thành 3NF Tách không mất thông tin thành các lượcđồ ở dạng BCNF Tổng kết 3/36 17.1. Táchlượcđồquanhệ Định nghĩa: Phéptáchlượcđồquanhệ α =( U, F) là phép thay thế nó bằng một tập các lượcđồ con αi=(Ui, Fi), i=1, …, k với điều kiện : Ui≠φ i=1, …, k ∪Ui=U, Fi=F/Ui Phéptáchđó được ký hiệu là: δ ={ U1, U2, …, Uk } là một phéptách khi đó R là một quanhệ trên U, kí hiệu: mδ(R) =R[U1]*[U2]*…*[Uk] 4/36 ∀ 17.1. Táchlượcđồquanhệ Định nghĩa: Phéptách kết nối không mất thông tin ( lossless-join decomposition) Cho lượcđồquanhệ α =( U, F) và phéptách δ ={ U1, U2, …, Uk } đối với lượcđồ đó. Phéptách δ được gọi nối không mất thông tin nếu mọi quanhệ R trên U thì ta có mδ(R) =R, Ngược lại nếu mδ(R) ≠R thì phéptách δ là phéptách mất thông tin. 5/36 17.1. Táchlượcđồquanhệ Bổ đề: Cho lượcđồquanhệ α =( U, F) và phéptách δ ={ U1, U2, …, Uk } đối với lượcđồ đó, R là một quanhệ trên U, gọi Ri=R[Ui] thì: R⊆ mδ(R) Nếu S= mδ(R) thì S[Ui]=Ri mδ(mδ(R))= mδ(R) 6/36 17.1. Táchlượcđồquanhệ Chứng minh: a) Lấy t∈R, đặt ti=t.Ui, khi đó ti =t.Ui∈R[Ui] => ∈R[U1]*[U2]*…*[Uk] Vậy t∈ mδ(R) vậy R⊆ mδ(R) b) Ta có R⊆S =>R[Ui] ⊆ S[Ui] hay Ri⊆ S[Ui]. Cần chỉ ra rằng S[Ui] ⊆ Ri giả sử với một i mà ti∈S[Ui]. Khi đó t=<t1, t2, …, tk>∈ S sao cho t[Ui]=ti. 7/36 17.1. Táchlượcđồquanhệ Chứng minh: Cũng vì t∈S sao cho t[Ui]=vj =>có vj∈ Ri sao cho t[Ui]=vj. Trong trường hợp này t[Ui] ∈ Ri. Nhưng vì t[Ui]=ti và dođó S[Ui] ⊆ Ri từ đó Ri= S[Ui]. c) Nếu S= mδ(R) thì theo b) có S[Ui] = Ri. Do vậy: mδ(S)= Ri= mδ(R) 8/36 1 * = i k 17.1. TáchlượcđồquanhệBài toán: Cho lượcđồquanhệ α =( U, F) và phéptách δ, hỏi rằng phéptáchđó có mất thông tin hay không, hay với phéptách δ cần kiểm tra xem đẳng thức mδ(R)=R, với mọi R(U) 9/36 17.1. Táchlượcđồquanhệ Thuật toán kiểm tra phéptách kết nối có mất thong tin hay không? Input: Tập thuộc tính U Tập phụ thuộc hàm F Phéptách δ ={ U1, U2, …, Uk } Output: Xác định liệu phéptách δ có mất thông tin hay không. 10/36 [...]... 21/36 17.1 Tách lượcđồquanhệHệ quả: Cho lượcđồ α =( U, F), X, Y⊆U Nếu X→Y∈F+ thì phép δ={U1,U2} với U1=XY, U2=XZ trong đó Z=U\XY = >Phép tách δ là phéptách có kết nối không mất thông tin Thật vậy: Ta có U1∩U2=X, U1 \ U2=Y Theo giả thiết thì X→Y nên U1∩U2→ U1 \ U2 Theo định lý trên thì phéptách δ là phéptách có kết nối không mất thông tin 22/36 17.1 Táchlượcđồquanhệ Bổ đề: Mọi lượcđồquan hệ. .. phéptách của α Gọi Fi là hình chiếu của F lên Ui Phéptách δ được gọi là phéptách bảo toàn phụ thuộc hàm F nếu như : n ( Fi)+= F+ i 28/36 nội dung: Tách lượcđồquanhệPhéptách bảo toàn phụ thuộc hàm Thuật toán táchlượcđồ thành 3NF Tách không mất thông tin thành các lượcđồ ở dạng BCNF Tổng kết 29/36 17.3 thuật toán tách thành 3NF lượcđồ Thuật toán táchlượcđồ thành 3NF: Input: Cho lược đồ. .. tin 23/36 17.1 Tách lượcđồquanhệ Bổ đề: Mọi lượcđồquanhệ chỉ có hai thuộc tính đều ở dạng BCNF Giả thiết α và δ như trong phần a) gọi: σ ={ U1, U2, …, Uk, Uk+1, …, Un} là phéptách của α thành tập các lượcđồ con bao gồm cả δ =>σ cũng là phéptách không mất thông tin đối với F 24/36 nội dung: Tách lượcđồquanhệPhéptách bảo toàn phụ thuộc hàm Thuật toán táchlượcđồ thành 3NF Tách không... A2 a2 a2 a2 A3 a3 a3 a3 A4 a4 b24 a4 A5 a5 b25 a5 Từ bảng ta thấy phéptách δ là phéptách kết nối không mất thông tin 18/36 17.1 Tách lượcđồquanhệ Định lý: Cho lượcđồ α =( U, F) và phéptách δ={U1,U2} nếu U1∩U2→U1\U2 (1) hoặc U1∩U2→U2\U1 (2) => Phéptách δ là phéptách có kết nối không mất thông tin 19/36 17.1 Táchlượcđồquanhệ Chứng minh: Giả sử U={A1, A2, …, An }, U1={A1, A2, …, Am }, U2={A1,... K2→X2,…, Kn→Xn} Bước 4: Phéptách δ={K1X1, K2X2,…, KnXn} nếu khóa K không có mặt trong thành phần nào của δ thì them thành phần K vào δ Bước 5: Return δ 31/36 17.4 Tách không mất thông tin thÀnh các lượcđồ ở dạng BCNF Cho lượcđồquanhệ α =( U, F), và phéptách δ ={ U1, U2, …, Uk }, phéptách một lượcđồ thành một tập các lượcđồ ở dạng BCNF là phéptách thỏa mãn: Phéptách δ là phéptách kết nối không... HS→R} 34/36 17.4 Tách không mất thông tin thÀnh các lượcđồ ở dạng BCNF Nhận xét: Lượcđồ này có duy nhất một khóa là SH Lượcđồ này chưa ở dạng BCNF Ta thấy lượcđồ α=( U, F) có phụ thuộc hàm CS→G vi phạm điều kiện BCNF nên ta táchlượcđồ thành các lược U1=CGS, U2=CTHRS Ta thấy lượcđồ α2=( U2, F2) có phụ thuộc hàm C→T vi phạm điều kiện BCNF nên ta táchlượcđồ thành các lược U3=CT, U4=CHRS... 12/36 17.1 Táchlượcđồquanhệ Thuật toán: Bước 2: Tiếp tục áp dụng các phụ thuộc hàm trong bảng cho tới khi không còn áp dụng được nữa Quan sát trong bảng cuối cùng: - Nếu xuất hiên ít nhất một hàng gồm toàn tín hiệu chính (hàng gồm toàn ký hiệu a) thì phéptách δ có kết nối không mất thông tin - Ngược lại thì phéptách δ là phéptách có kết nối mất thông tin 13/36 17.1 Táchlượcđồquanhệ Ví... Ví dụ: Cho lượcđồquanhệ α =( U, F) với U={A1, A2, A3, A4, A5} F={A1→A2A3, A2A4→A5, A2→A3} δ ={A1A2A4, A2A3, A1A4A5} Hỏi rằng phéptách δ trên có kết nối không mất thông tin không? 14/36 17.1 Táchlượcđồquanhệ Giải: Xây dựng bảng gồm 3 hàng, 5 cột: Điền các tín hiệu vào bảng: A1 A2 A3 A4 A5 U1 a1 a2 a13 a4 b15 U2 b13 a2 a3 b24 b25 U3 a2 b32 b33 a4 a5 15/36 17.1 Táchlượcđồquanhệ Giải: Xây... điều kiên của BCNF trong lượcđồ này 33/36 17.4 Tách không mất thông tin thÀnh các lượcđồ ở dạng BCNF Nếu như lượcđồ α1 và α2 vẫn chưa ở dạng BCNF thì tiếp tục quá trình đó, vì các điều vi phạm BCNF đều bị loại bỏ, cuối cùng ta thu được một tập các lượcđồ con đếu ở dạng BCNF và quá trình tách cuối luôn luôn đảm bảo phéptách kết nối không mất thông tin Ví dụ: Cho lượcđồquanhệ α =( U, F) với U=CRHTSG... các lượcđồ con αi =( Ui, Fi) đều ở dạng BCNF 32/36 17.4 Tách không mất thông tin thÀnh các lượcđồ ở dạng BCNF Phương pháp: Xuất phát từ một phụ thuộc hàm X→A nào đó của F, phụ thuộc hàm X→A này vi phạm điều kiện BCNF => Ta xây dựng phéptách δ ={ U1, U2}, tương ứng với lượcđồ α1 và α2 sao cho: Phéptáchđó là phéptách kết nối không mất thông tin Phụ thuộc hàm X→A là phụ thuộc hàm của lượcđồ . BÀI 17: PHÉP TÁCH LUỢC ĐỒ QUAN HỆ 1/36 nội dung: Tách lược đồ quan hệ Phép tách bảo toàn phụ thuộc hàm Thuật toán tách lược đồ thành 3NF Tách không. k 17. 1. Tách lược đồ quan hệ Bài toán: Cho lược đồ quan hệ α =( U, F) và phép tách δ, hỏi rằng phép tách đó có mất thông tin hay không, hay với phép tách