Thuật tốn tìm tất cả các khĩa

Một phần của tài liệu Tài liệu LỜI MỞ ĐẦUĐể đáp ứng nhu cầu học tập của sinh viên chuyên ngành Công doc (Trang 78 - 80)

1. Phụ thuộc hàm Khái niệm

2.2.2.Thuật tốn tìm tất cả các khĩa

Tập thuộc tính nguồn, ký hiệu là N, là tập chứa những thuộc tính chỉ xuất hiện ở vế trái, khơng nằm bên vế trái và vế phải của mọi phụ thuộc hàm

Tập thuộc tính trung gian, ký hiệu là TG, là tập chứa những thuộc tính vừa xuất hiện ở vế trái, vừa xuất hiện ở vế phải trong các phụ thuộc hàm

Thuật tốn

Bước 1: Tính tập nguồn N. Nếu NF+ =Q+thì chỉ cĩ 1 khố là N, ngược lại qua bước 2 Bước 2: Tính tập trung gian TG. Tính tập tất cả các tập con Xi của tập TG.

Bước 3: Tìm tập S chứa mọi siêu khĩa Si:

Với mỗi Xi, nếu (NXi)F+ =Q+ thì Si =(NXi)

Bước 4: Loại các siêu khĩa khơng tối tiểu:

S S Si j∈ ∀ , , nếu SiSjthì S =SSj A F1 B F2 C D F3 E F4 H G F5 F6

Ví dụ. Cho lược đồ quan hệ R(A, B, C) và tập phụ thuộc hàm F={ ABỈC, CỈA}

Tìm mọi khĩa của R.

Bước 1: N = {B}, NF+ =BQ+

Bước 2: TG = {AC}, tập các tập con trung gian là CTG ={∅,A,C,AC}

Bước 3: N Xi NXi (NXi)+ (NXi)+ =Q+? B ∅ B B Sai B A BA BAC Đúng B C BC BCA Đúng B AC BAC BAC Đúng Như vậy tập siêu khố S ={BA,BC,BAC}

Bước 4: Loại các siêu khĩa khơng tối tiểu:

Nhận thấy rằng BABACnên loại siêu khĩa BAC. Tập các khĩa cịn lại là S ={BA,BC}

Cải tiến thuật tốn

Nhận thấy rằng ở bước 3, khi xét tập một con Xi, nếu (NXi)+ =Q+, khi đĩ NXi là một khố. Trong trường hợp này nếu xét tiếp các tập Xj:XiXj, thì hiển nhiên

(NXj)+ =Q+, và cuối cùng siêu khố NXj cũng sẽ bị loại ở bước 4. Hơn nữa, bước tính tập con đầu tiên là rỗng cũng khơng cần tính.

Do đĩ, khi tính bao đĩng của tập thuộc tính, khơng tính Xi=∅ và nếu (NXi)+ =Q+, thực hiện loại bỏ các tính tốn cho các trường hợp Xj:XiXj. Khi đĩ kết thúc thuật tốn tại bước 3, khơng cần thực hiện bước 4 vì tất cả các khố nhận được ở bước 3 đều là tối tiểu.

3. Ràng buộc tồn vẹn

Một phần của tài liệu Tài liệu LỜI MỞ ĐẦUĐể đáp ứng nhu cầu học tập của sinh viên chuyên ngành Công doc (Trang 78 - 80)