PHỦ CỦA TẬP PHỤ THUỘC HÀM

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn: sưu tầm
Người gửi: Võ Thị Kim Chi
Ngày gửi: 09h:18' 16-07-2013
Dung lượng: 74.0 KB
Số lượt tải: 60
Nguồn: sưu tầm
Người gửi: Võ Thị Kim Chi
Ngày gửi: 09h:18' 16-07-2013
Dung lượng: 74.0 KB
Số lượt tải: 60
Số lượt thích:
0 người
THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ (Relational Database Designing)
Phần V – PHỦ CỦA TẬP PHỤ THUỘC HÀM
Một số định nghĩa
Cho F, G là 2 tập phụ thuộc hàm,
F và G gọi là tương đương nếu và chỉ nếu F+=G+
Ký hiệu : F G
F gọi là phủ G nếu và chỉ nếu
F+ G+
2 tập Phụ thuộc hàm tương đương
Thuật toán kiểm tra F G
Bước 1 : Tính F+, G+
Bước 2 : Nếu F+ = G+, => F G
Thuật toán kiểm tra F G
Phủ tối thiểu (minimal cover) –Tập Phụ thuộc hàm không đầy đủ
Cho lược đồ Q, tập PTH F, ZY F.
ZY gọi là có vế trái dư thừa hay Y phụ thuộc không đầy đủ vào Z hay ZY là phụ thuộc hàm không đầy đủ nếu và chỉ nếu :
A Z: F (F {ZY}) {(Z-A)Y}
Ngược lại, ZY gọi là phụ thuộc hàm đầy đủ hay không có vế trái dư thừa.
F được gọi (tắt) là có vế trái không dư thừa, nếu F không chứa PTH có vế trái dư thừa.
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.1)
Phụ thuộc hàm không đầy đủ - Ví dụ
Cho Q(ABC), F={ABC, BC}
Xét ABC :
F’ = F – {ABC} = {BC}
(AB-A)C = {BC}
=> F’ = (F – {ABC}) {(AB-A)C} = {BC}
Tính (F’)+ , ta có (F’)+ = {ABC,BC}
Tính F+ = F = {ABC, BC}
=> F+ = (F’)+
=> ABC là phụ thuộc hàm có vế trái dư thừa
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.2)
Thuật toán loại khỏi F các PTH không đầy đủ
Bước 1 : Tính F+
Bước 2 : Duyệt tập F, với mọi d = XY F :
Bước 2.1 : Duyệt các tập con X’ của X :
Nếu X’Y F+ : thay X = X’, lặp lại 2.1
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.3)
Tập phụ thuộc hàm có vế phải 1 thuộc tính
Định nghĩa : F được gọi là tập phụ thuộc hàm có vế phải 1 thuộc tính nếu và chỉ nếu mọi phụ thuộc hàm trong F đều có vế phải chỉ 1 thuộc tính.
Ví dụ : F = {ABC,BC,ABD}, ta tách các phụ thuộc hàm trong F để F thỏa tiêu chuẩn là tập phụ thuộc hàm có vế phải 1 thuộc tính :
F = {AB, AC, BC, ABD}
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.4)
Tập phụ thuộc hàm không dư thừa
Định nghĩa : F được gọi là tập phụ thuộc hàm không dư thừa
Không F’ F, F’ F
Ngược lại, F được gọi là tập phụ thuộc hàm dư thừa.
Ví dụ : F = {ABC, BD, ABD}
F dư thừa vì F F’ = {ABC, BD}
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.5)
Thuật toán loại khỏi F các PTH dư thừa
Duyệt từng PTH XY thuộc F :
Nếu (F-{XY}) |= XY thì F = F-{XY}
Ví dụ : F = {ABC, BD, ABD}
Xét ABC : {BD, ABD} không thể |= ABC
Xét BD : {ABC, ABD} không thể |= BD
Xét ABD : {ABC,BD} |= ABD vì :
ABC => AB, do BD => AD => ABD
Vậy ABD là dư thừa trong F, => F = {ABC,BD}
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.6)
Tập PTH tối thiểu
Định nghĩa : F được gọi là một tập PTH tối thiểu (hay F là 1 phủ tối thiểu) nếu và chỉ nếu F thỏa 3 điều kiện sau :
F là tập PTH có vế trái không dư thừa.
F là tập PTH có vế phải 1 thuộc tính.
F là tập PTH không dư thừa.
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.7)
Thuật toán tìm Phủ tối thiểu
Bước 1 :
Loại khỏi F các PTH có vế trái dư thừa.
Bước 2 :
Tách các PTH có vế phải nhiều hơn 1 thuộc tính thành các PTH có vế phải 1 thuộc tính.
Bước 3 :
Loại khỏi F các PTH dư thừa.
Luôn tìm được ít nhất 1 PTH tối thiểu của 1 tập PTH bất kỳ.
Có thể tìm được nhiều PTH tối thiểu của 1 tập PTH bất kỳ.
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.8)
Thuật toán tìm PTT – Ví dụ
Input : Q(ABCD), F = {ABCD, BC, CD}
Output : Fm = PTT của F
Bước 1 :
ABCD là PTH không đầy đủ, vì A là dư thừa trong vế trái: BC, CD => BCD.
=> F = {BCD, BC, CD}
Bước 2 :
F = {BC, BD, BC, CD}
Bước 3 :
F = {BC, CD}
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.9)
Khóa(Key) của lược đồ quan hệ
Cho Q(A1,A2,…,An), tập PTH F, K là 1 tập con của Q+
Định nghĩa : K là 1 siêu khóa của Q nếu
KF+ = Q+
Định nghĩa : K là 1 khóa của Q nếu
KF+ = Q+
Không tồn tại K’ K , K’F+ = Q+
Khóa của lược đồ quan hệ (p.1)
Thuật toán tìm khóa của LDQH
Input : Lược đồ quan hệ Q, tập PTH F
Output : K là 1 khóa của Q
Bước 1 : gán K = Q+
Bước 2 : Duyệt các thuộc tính A trong K,
_ Tính K’+ với K’ = K-A
_ Nếu K’+ = Q+, gán K = K’
Khóa K tìm được có thể không là khóa duy nhất của Q
Khóa của lược đồ quan hệ (p.2)
Tính chất của khóa
Ký hiệu :
Tập nguồn (TN) : chứa tất cả các thuộc tính chỉ xuất hiện ở vế trái của các PTH trong F.
Tập đích (TD) : chứa tất cả các thuộc tính chỉ xuất hiện ở vế phải của các PTH trong F.
Tập trung gian (TG) = Q+ - TN – TD
Tính chất : Nếu K là 1 khóa của Q, thì
TN K và TD K =
Khóa của lược đồ quan hệ (p.3)
Tính chất của khóa – Chứng minh
Chứng minh TN K :
Giả sử TN không K, => tồn tại 1 PTH XYF và X không K và không tồn tại 1 PTH ZV F sao cho X V
Dựa trên thuật toán tìm bao đóng của tập thuộc tính K => X không xuất hiện trong Ki nào => XK+F => trái với giả thiết (K là khóa, nên XK+F)
Khóa của lược đồ quan hệ (p.4)
Tính chất của khóa – Chứng minh (t.t)
Chứng minh TD K = :
Giả sử TD K => A: A TD A K
A TD => tồn tại 1 PTH XAF (1)
AK => K+=(K-A)+A ;
X K+X(K-A)+A ;
AX vì XA không là PTH hiển nhiên (xem slide 4 chương 4) => X(K-A)+ => K-AX (2)
(1) và (2) => K-AA => (K-A)+ = [(K-A)A]+=K+ => vô lý vì K là khóa.
Khóa của lược đồ quan hệ (p.5)
Thuật toán tìm tất cả các khóa
Bước 1 : Tạo tập TN, TG
Bước 2 : Nếu TG= => Q chỉ có 1 khóa K = TN, kết thúc thuật toán.
Bước 3 : Tìm tất cả tập con Xi của TG, đặt Si=TNXi , tính Si+. Gọi L là tập tất cả các Si
Bước 4 : Duyệt tập Si, nếu Si+<>Q+ thì bỏ Si khỏi L.
Bước 5 : Với mọi Sk,Sl L, nếu Sk Sl thì bỏ Sk khỏi L.
Tập L còn lại chính là tập tất cả các khóa của Q.
Khóa của lược đồ quan hệ (p.6)
Phần V – PHỦ CỦA TẬP PHỤ THUỘC HÀM
Một số định nghĩa
Cho F, G là 2 tập phụ thuộc hàm,
F và G gọi là tương đương nếu và chỉ nếu F+=G+
Ký hiệu : F G
F gọi là phủ G nếu và chỉ nếu
F+ G+
2 tập Phụ thuộc hàm tương đương
Thuật toán kiểm tra F G
Bước 1 : Tính F+, G+
Bước 2 : Nếu F+ = G+, => F G
Thuật toán kiểm tra F G
Phủ tối thiểu (minimal cover) –Tập Phụ thuộc hàm không đầy đủ
Cho lược đồ Q, tập PTH F, ZY F.
ZY gọi là có vế trái dư thừa hay Y phụ thuộc không đầy đủ vào Z hay ZY là phụ thuộc hàm không đầy đủ nếu và chỉ nếu :
A Z: F (F {ZY}) {(Z-A)Y}
Ngược lại, ZY gọi là phụ thuộc hàm đầy đủ hay không có vế trái dư thừa.
F được gọi (tắt) là có vế trái không dư thừa, nếu F không chứa PTH có vế trái dư thừa.
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.1)
Phụ thuộc hàm không đầy đủ - Ví dụ
Cho Q(ABC), F={ABC, BC}
Xét ABC :
F’ = F – {ABC} = {BC}
(AB-A)C = {BC}
=> F’ = (F – {ABC}) {(AB-A)C} = {BC}
Tính (F’)+ , ta có (F’)+ = {ABC,BC}
Tính F+ = F = {ABC, BC}
=> F+ = (F’)+
=> ABC là phụ thuộc hàm có vế trái dư thừa
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.2)
Thuật toán loại khỏi F các PTH không đầy đủ
Bước 1 : Tính F+
Bước 2 : Duyệt tập F, với mọi d = XY F :
Bước 2.1 : Duyệt các tập con X’ của X :
Nếu X’Y F+ : thay X = X’, lặp lại 2.1
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.3)
Tập phụ thuộc hàm có vế phải 1 thuộc tính
Định nghĩa : F được gọi là tập phụ thuộc hàm có vế phải 1 thuộc tính nếu và chỉ nếu mọi phụ thuộc hàm trong F đều có vế phải chỉ 1 thuộc tính.
Ví dụ : F = {ABC,BC,ABD}, ta tách các phụ thuộc hàm trong F để F thỏa tiêu chuẩn là tập phụ thuộc hàm có vế phải 1 thuộc tính :
F = {AB, AC, BC, ABD}
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.4)
Tập phụ thuộc hàm không dư thừa
Định nghĩa : F được gọi là tập phụ thuộc hàm không dư thừa
Không F’ F, F’ F
Ngược lại, F được gọi là tập phụ thuộc hàm dư thừa.
Ví dụ : F = {ABC, BD, ABD}
F dư thừa vì F F’ = {ABC, BD}
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.5)
Thuật toán loại khỏi F các PTH dư thừa
Duyệt từng PTH XY thuộc F :
Nếu (F-{XY}) |= XY thì F = F-{XY}
Ví dụ : F = {ABC, BD, ABD}
Xét ABC : {BD, ABD} không thể |= ABC
Xét BD : {ABC, ABD} không thể |= BD
Xét ABD : {ABC,BD} |= ABD vì :
ABC => AB, do BD => AD => ABD
Vậy ABD là dư thừa trong F, => F = {ABC,BD}
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.6)
Tập PTH tối thiểu
Định nghĩa : F được gọi là một tập PTH tối thiểu (hay F là 1 phủ tối thiểu) nếu và chỉ nếu F thỏa 3 điều kiện sau :
F là tập PTH có vế trái không dư thừa.
F là tập PTH có vế phải 1 thuộc tính.
F là tập PTH không dư thừa.
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.7)
Thuật toán tìm Phủ tối thiểu
Bước 1 :
Loại khỏi F các PTH có vế trái dư thừa.
Bước 2 :
Tách các PTH có vế phải nhiều hơn 1 thuộc tính thành các PTH có vế phải 1 thuộc tính.
Bước 3 :
Loại khỏi F các PTH dư thừa.
Luôn tìm được ít nhất 1 PTH tối thiểu của 1 tập PTH bất kỳ.
Có thể tìm được nhiều PTH tối thiểu của 1 tập PTH bất kỳ.
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.8)
Thuật toán tìm PTT – Ví dụ
Input : Q(ABCD), F = {ABCD, BC, CD}
Output : Fm = PTT của F
Bước 1 :
ABCD là PTH không đầy đủ, vì A là dư thừa trong vế trái: BC, CD => BCD.
=> F = {BCD, BC, CD}
Bước 2 :
F = {BC, BD, BC, CD}
Bước 3 :
F = {BC, CD}
Phủ tối thiểu của 1 tập phụ thuộc hàm (p.9)
Khóa(Key) của lược đồ quan hệ
Cho Q(A1,A2,…,An), tập PTH F, K là 1 tập con của Q+
Định nghĩa : K là 1 siêu khóa của Q nếu
KF+ = Q+
Định nghĩa : K là 1 khóa của Q nếu
KF+ = Q+
Không tồn tại K’ K , K’F+ = Q+
Khóa của lược đồ quan hệ (p.1)
Thuật toán tìm khóa của LDQH
Input : Lược đồ quan hệ Q, tập PTH F
Output : K là 1 khóa của Q
Bước 1 : gán K = Q+
Bước 2 : Duyệt các thuộc tính A trong K,
_ Tính K’+ với K’ = K-A
_ Nếu K’+ = Q+, gán K = K’
Khóa K tìm được có thể không là khóa duy nhất của Q
Khóa của lược đồ quan hệ (p.2)
Tính chất của khóa
Ký hiệu :
Tập nguồn (TN) : chứa tất cả các thuộc tính chỉ xuất hiện ở vế trái của các PTH trong F.
Tập đích (TD) : chứa tất cả các thuộc tính chỉ xuất hiện ở vế phải của các PTH trong F.
Tập trung gian (TG) = Q+ - TN – TD
Tính chất : Nếu K là 1 khóa của Q, thì
TN K và TD K =
Khóa của lược đồ quan hệ (p.3)
Tính chất của khóa – Chứng minh
Chứng minh TN K :
Giả sử TN không K, => tồn tại 1 PTH XYF và X không K và không tồn tại 1 PTH ZV F sao cho X V
Dựa trên thuật toán tìm bao đóng của tập thuộc tính K => X không xuất hiện trong Ki nào => XK+F => trái với giả thiết (K là khóa, nên XK+F)
Khóa của lược đồ quan hệ (p.4)
Tính chất của khóa – Chứng minh (t.t)
Chứng minh TD K = :
Giả sử TD K => A: A TD A K
A TD => tồn tại 1 PTH XAF (1)
AK => K+=(K-A)+A ;
X K+X(K-A)+A ;
AX vì XA không là PTH hiển nhiên (xem slide 4 chương 4) => X(K-A)+ => K-AX (2)
(1) và (2) => K-AA => (K-A)+ = [(K-A)A]+=K+ => vô lý vì K là khóa.
Khóa của lược đồ quan hệ (p.5)
Thuật toán tìm tất cả các khóa
Bước 1 : Tạo tập TN, TG
Bước 2 : Nếu TG= => Q chỉ có 1 khóa K = TN, kết thúc thuật toán.
Bước 3 : Tìm tất cả tập con Xi của TG, đặt Si=TNXi , tính Si+. Gọi L là tập tất cả các Si
Bước 4 : Duyệt tập Si, nếu Si+<>Q+ thì bỏ Si khỏi L.
Bước 5 : Với mọi Sk,Sl L, nếu Sk Sl thì bỏ Sk khỏi L.
Tập L còn lại chính là tập tất cả các khóa của Q.
Khóa của lược đồ quan hệ (p.6)
 






