Thuật toán cải tiến tìm khóa của LĐQH

Một phần của tài liệu Giáo trình cơ sở dữ liệu (Trang 53 - 57)

a. Khái niệm

Trước khi đ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ập thuộc tính nguồn (TN) chứa tất cả các thuộc tính có xuất hiện ở vế trái và không xuất hiện ở vế phải của các phụ thuộc hàm và các thuộc tính không xuất hiện ở cả vế trái lẫn vế phải của các phụ thuộc hàm.

+ Tập thuộc tính đích (TD) chứa tất cả các thuộc tính có xuất hiện ở vế phải và không xuất hiện ở vế trái của các phụ thuộc hàm.

+ Tập thuộc tính trung gian (TG) chứa tất cả các thuộc tính xuất hiện ở cả vế trái lẫn vế phải của các phụ thuộc hàm.

Hệ quả: Nếu K là khóa của Qthì TN  K và TD K = Ø

b. Trình tự thực hiện tìm tất cả các khóa

Dữ liệu vào: Lược đồ quan hệ Q và tập phụ thuộc hàm F Dữ liệu ra: Tất cả các khóa của quan hệ

Thuật toán tìm tất cả khóa của một lược đồ quan hệ

Bước 1: tạo tập thuộc tính nguồn TN, tập thuộc tính trung gian TG Bước 2: if TG=Ø then lược đồ quan hệ chỉ có một khóa K

K =TN

kết thúc Ngược lại

Qua bước 3

Bước 3: tìm tất cả các tập con Xicủa tập trung gian TG Bước 4: tìm các siêu khóa Sibằng cách Xi

if (TN Xi)+= Q+ then Si= TN Xi

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

Si,SjS

if SiSjthen Loại Sjra khỏi Tập siêu khóa S S còn lại chính là tập khóa cần tìm.

c. Thực hành

Tìm tất cả các khóa của lược đồ quan hệ và tập phụ thuộc hàm như sau: Q(C,S,Z); F = {f1:CS Z; f2:Z C}

Giải

Ap dụng thuật toán cải tiến ta có lời giải như sau: TN = {S}; TG = {C,Z}

BÀI TẬP CHƯƠNG 5

1/ Chứng minh các tính chất sau:

a) Tính cộng đầy đủ X Yvà Z W XZ YW b) Tính tích lũy X Y và Y ZW X YZW

2/ Cho G={ABC,AB,BC,AC}. F={ABC,AB,BC}có tương đương với G không? 3/ Cho lược đồ CSDL Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN) F= {NGAY,GIO,PHONG MONHOC MONHOC,NGAY GIAOVIEN NGAY,GIO,PHONG GIAOVIEN MONHOC GIAOVIEN} a) Tính {NGAY,GIO,PHONG}+; {MONHOC}+

b) Tìm phủ tối thiểu của F

c) Tìm tất cả các khóa của Kehoach 4/ Cho lược đồ CSDL

Q(TENTAU,LOAITAU,MACHUYEN,LUONGHANG,BENCANG,NGAY) F= {TENTAU LOAITAU

MACHUYEN TENTAU, LUONGHANG TENTAU,NGAY BENCANG, MACHUYEN} a) Hãy tìm tập phủ tối thiểu của F

b) Tìm tất cả các khóa của Q 5/ Q(A,B,C,D,E,G)

Cho F={ABC;CA;BCD;ACDB;DEG;BEC;CGBD;CE AG} X={B,D}, X+=? Y={C,G}, Y+=?

6/ cho lược đồ quan hệ Q và tập phụ thuộc hàm F

a) F={ABE;AGI;BEI;EG;GIH}chứng minh rằng AB GH.

b) F={ABC;BD;CDE;CEGH;GA}chứng minh rằng AB E; AB G 7/ Cho quan hệ r

Trong các phụ thuộc hàm sau đây, PTH nào không thỏa A B; A C; B A; C D; D C; D A

8/ Hãy tìm tất cả các khóa cho lược đồ quan hệ sau:

Q(BROKER,OFFICE,STOCK,QUANTITY,INVESTOR,DIVIDENT) F= {STOCK DIVIDENT

INVESTOR BROKER

INVESTOR,STOCK QUANTITY BROKER OFFICE }

9/ Xét lược đồ quan hệ và tập phụ thuộc dữ liệu: Q(C,T,H,R,S,G)

f= {f1: CT; f2: HRC; f3: HTR; f4: CSG; f5: HSR}

10/ Q(A,B,C,D,E,H)

F={A E; C D; E DH}

Chứng minh K={A,B,C}là khóa duy nhất của Q 11/ Q(A,B,C,D)

F={ABC; DB; CABD} Hãy tìm tất cả các khóa của Q 12/ Q(A,B,C,D,E,G)

F={ABC;CA;BCD;ACDB;DEG;BEC;CGBD;CEG} Hãy tìm tất cả các khóa của Q.

13/ Xác định phủ tối thiểu của tập phụ thuộc hàm sau: a) Q(A,B,C,D,E,G),

F={ABC;CA;BCD;ACDB;DEG;BEC;CGBD;CEAG} b) Q(A,B,C)

F={AB,AC,BA,CA,BC}

14/ Xác định phủ tối thiểu của các tập phụ thuộc hàm sau: a) Q1(ABCDEGH) F1={AH,ABC,BCD;GB} b) Q2(ABCSXYZ) F2={SA;AXB;SB;BYC;CZX} c) Q3(ABCDEGHIJ) F3={BGD;GJ;AIC;CEH;BDG;JHA; DI } d) Q4(ABCDEGHIJ)

CHƯƠNG 6: CHUẨN HÓA CƠ SỞ DỮ LIỆU MỤC TIÊU BÀI HỌC

-Trình bày được các khái niệm về các dạng chuẩn củalược đồ quan hệ, các phép tách, kết nối bảo toàn dữ liệu;

-Trình bày được cách thiết kế cơ sở dữ liệu bằng cách phân rã; -Thiết kế, chuẩn hóa một số lược đồ quan hệ cụ thể;

-Nghiêm túc, tỉ mỉ trong việc học và làm bài tập.

NỘI DUNG BÀI HỌC

Một phần của tài liệu Giáo trình cơ sở dữ liệu (Trang 53 - 57)

Tải bản đầy đủ (PDF)

(77 trang)