(+84) 236.3827111 ex. 402

Thuật toán tìm khoá cải tiến


Thuậttoán cải tiến

Trướckhi đi vào thuật toán cải tiến, ta cần quan tâm một số khái niệm sau:

+ Tậpthuộctínhnguồn(TN)chứatấtcảcácthuộctínhcóxuấthiệnởvếtráivàkhôngxuất hiệnởvếphảicủacácphụthuộchàmvàcácthuộctínhkhôngxuấthiệnởcảvếtráilẫnvế phải của các phụ thuộc hàm.

+ Tậpthuộctínhđích(TD)chứatấtcảcácthuộctínhcóxuấthiệnởvếphảivàkhôngxuất hiện ở vế trái của các phụ thuộc hàm.

+ Tậpthuộctínhtrunggian(TG)chứatấtcảcácthuộctínhxuấthiệnởcảvếtráilẫnvếphải của các phụ thuộc hàm.

Hệ quả: Nếu K là khóa của Qthì TNÎKTDÇK =Ø

Thuậttoántìmtấtcảkhóacủamộtlượcđồquanhệ

Bước1: tạo tập thuộctính nguồn TN, tập thuộc tính trung gian TG

Bước2: if TG= Ø then lược đồ quan hệ chỉ có một khóa K

K=TN

kết thúc

Ngược lại

Quabước 3

Bước3: tìm tất cả các tập con Xicủa tập trung gian TG

Bước4: tìmcác siêu khóa Sibằng cách "Xi

if (TNèXi)+ = Q+ then

Si= TNèXi

Bước5: tìm khóa bằngcách loại bỏ các siêu khóa không tối tiểu

"Si, Sj ÎS

if Si ìSj then Loại Sj rakhỏiTậpsiêukhóaS S còn lại chính là tập khóa cần tìm.