Tìm khóa tối thiểu của một quan hệ - Pdf 62

H-íng dÉn «n tËp CSDL quan hÖ
Tµi liÖu tham kh¶o Trang 27
DẠNG 7: TÌM KHOÁ TỐI THIỂU CỦA QUAN HỆ
Bài toán: Cho quan h R(U, F). Hãy tìm một khoá tối thiểu của R.
Kiến thức liên quan: Cho quan hệ R(U, F), X ⊆ U.
X được gọi là khoá của R nếu X
+
≡ U.
X được gọi là một khoá tối thiểu của R nếu: X là khoá của R và X tối thiểu (tức
không tồn tại một tập con thực sự nào của X mà tập con đó cũng là khoá của R).
Giải thuật tìm khoá tối thiểu của R:
B1: Đặt K
0
= {U}
B2: Tính K
1
= K
0
∪ Z nếu ∃ Y → Z mà Y ∈ K
0

...
Tính K
i
= K
i-1
∪ Z nếu ∃ Y → Z mà Y ∈ K
i-1

Lặp cho tới khi K
i

= {AB} vì AB → C và AB ∈ K
3

K
5
≡ K
4

Vậy {AB} là một khóa tối thiểu của R.
Chú ý: Với một quan hệ R(U, F) cho trước có thể tồn tại nhiều khóa tối thiểu
khác nhau, tùy thuộc vào thứ tự loại bỏ các thuộc tính trong giải thuật. Chẳng hạn, với ví
dụ trên, ta có thể thu được một khóa khác bằng cách loại B đi ngay từ đầu:
Đặt K
0
= {A,B,C,D,E,G,H}
K
1
= {ABCDEG} vì E → H và E ∈ K
0

K
2
= {ACDEG} vì G → B và G ∈ K
1

K
3
= {ACD} vì C → EG và C ∈ K
2


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status