Bai 12 Phu Cua Tap Phu Thuoc Ham

31 11 0
Bai 12 Phu Cua Tap Phu Thuoc Ham

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

M thu được sau khi loại bỏ tất cả các phần tử thỏa mãn biểu thức (*) chính là họ tất cả các khóa của lược đồ α..[r]

(1)

BÀI 12: PHỦ CỦA TẬP PHỤ THUỘC HÀM

12.1: Định nghĩa tương đương

Định lý: Cho F tập phụ thuộc hàm U f phụ thuộc hàm U, việc sau tương đương

(1)F├f (2)F╞f

(2)

12.2: Các tập phụ thuộc hàm tương đương

Cho F G hai tập phụ thuộc hàm tập thuộc tính U, ta nói tập phụ thuộc hàm F tương đương với tập phụ thuộc hàm G F+ =G+ Nếu F+ =G+ ta nói F phủ G ngược lại G phủ F

*Thuật toán xác định F G có tương đương hay khơng?

Bước 1: Với phụ thuộc hàm X→Y F ta xác định xem X→Y có suy dẫn từ G khơng?

(3)

Ví dụ: Cho lược đồ quan hệ có: F={A→BC, A→D, CD→E}

G={A→BCE, A→ABD, CD→E} a) F có tương đương với G khơng?

b) F có tương đương với G’={A→BCDE} khơng?

a) Ta có AG+ = ABCDE

=> Trong G+có A→BC A→D => F G+=> F+ 

G+(1)

AF+= ABCDE => F+có A→ BCE A→ABD =>F+G => F+ G+(2)

(4)

12.3: Phụ thuộc hàm không dư thừa 12.3.1: Phụ thuộc hàm dư thừa

Cho F tập phụ thuộc hàm trêu U, f phụ thuộc hàm F tức f  F, f gọi dư thừa F

như (F-f)+ = F+

(5)

* Thuật tốn xác định f= X→Y có phải thành viên F hay không?

Bước 1: Tạm xóa f khỏi F, gọi G tập thu G=F-f, G  chuyển qua bước 2, cịn khơng kết thúc

thuật tốn kết luận f không dư thừa F

Bước 2: Giả sử f = X→Y G├f tứcY XG+ f dư thừa F cịn ngược lại f không dư thừa(là thành

viên)

Hay

Bước 1: Tính

(6)

Ví dụ: Cho F={AB→C, C→D, AB→D}

Cho biết AB→D có dư thừa F hay không?

Bước 1: G = F-{f} = {AB→C,C→D}

Bước 2: (AB)G+= AB  C = ABC  D = ABCD  D

ÞG├ f

(7)

12.3.2: Phủ khơng dư

Cho F G tập phụ thuộc hàm U, F gọi phủ không dư G

+ F+ = G+ (F phủ G)

+f F (F-f)+  F (tức phụ thuộc hàm F không dư thừa)

(8)

12.4: Phủ thu gọn

12.4.1: Phụ thuộc hàm có vế trái dư thừa

F tập phụ thuộc hàm lược đồ quan hệ Q, Z tập thuộc tính, Z→Y F Nói phụ thuộc hàm Z→Y

có vế trái dư thừa ( phụ thuộc khơng đầy đủ ) có A  Z cho:

F=F-{Z→Y} {(Z-A)→Y}

Ngược lại Z→Y mọt phụ thuộc hàm có vế trái khơng dư thừa hay Y phụ thuộc hàm đầy đủ vào Z hay phụ thuộc hàm đầy đủ

(9)

* Thuật toán loại khỏi F phụ thuộc hàm có vế trái dư thừa

Bước 1: Lần lượt thực hiên bước cho phụ thuộc hàm Z→Y F (với phụ thuộc hàm có vế trái có từ thuộc tính trở lên)

Bước 2: Với tập thật X,

(10)

12.4.2: Tập phụ thuộc hàm có vế phải thuộc tính

Mỗi tập phụ thuộc hàm F tương đương với tập phụ thuộc hàm G mà vế phải phụ thuộc hàm G gồm thuộc tính

Ví dụ:

F={A→BC, B→C, AB→D} ta suy

(11)

12.4.3: Tập phụ thuộc hàm không dư thừa(phủ không dư)

Nói F tập phụ thuộc hàm khơng dư thừa không tồn F’  F cho F’ ≡ F Ngược lại, F tập

phụ thuộc hàm dư thừa Ví dụ:

Cho F={A → BC, B → D, AB → D}

(12)

* Thuật toán loại khỏi F phụ thuộc hàm dư thừa

Bước 1: Lần lượt xét phụ thuộc hàm X → Y F

Bước 2: Nếu X → Y thành viên F- {X → Y } loại X → Y khỏi F

(13)

12.4.4: Tập phụ thuộc hàm tối thiểu

F gọi phụ thuộc hàm tối thiểu (phủ tối thiểu) F thỏa mãn đồng thời ba điều kiên sau:

F tập phụ thuộc hàm có vế trái không dư thừa F tập phụ thuộc hàm có vế phải thuộc tính F tập phụ thuộc hàm không dư thừa

(14)

*Thuật tốn tìm phủ tối thiểu tập phụ thuộc hàm

Bước 1: Loại bỏ khỏi F phụ thuộc hàm có vế trái dư thừa

Bước 2: Tách phụ thuộc hàm có vế phải

thuộc tính thành phụ thuộc hàm có vế phải thuộc tính

(15)

Ví dụ: Cho lược đồ quan hệ Q(A, B, C, D) tập phụ thuộc hàm F sau F={AB →CD, B →C, C→ D} Hãy tính phủ tối thiểu F?

Bước 1: AB →CD phụ thuộc hàm có vế trái dư thừa? B →CD  F+?

Trả lời: B+ = BCD => B →CD  F+

Vậy AB →CD phụ thuộc hàm có vế trái dư thừa A

ÞKết bước là:

F={B →CD, B →C, C→ D}

(16)

Bước 3: Trong F1tt , B→C phụ thuộc hàm dư thừa?

B→C  G+ ? với G= F1tt -{B→C} = {B→D, C→D}

BG+= BD => B→C  G+ => F1tt ,B→C không

dư thừa

Trong F1tt , B→D phụ thuộc hàm dư thừa?

B→D G+ ?với G =F1tt -{B→D} = {B→C, C→D}

BG+= BCD => B→D  G+ => F1tt ,B→D dư

thừa

(17)

BÀI 14:KHÓA CỦA LƯỢC ĐỒ QUAN HỆ

14.1: Khóa siêu khóa

Đn1: Cho lược đồ quan hệ α=(U,F), KU K+=U, ta nói K siêu khóa

Chú ý: Điều kiện K+=U thay K →U K→ U\K

Đn2: Cho lược đồ quan hệ α=(U,F), tập KU gọi

(18)

Chú ý: Định nghĩa tương đương với định nghĩa :

Cho lược đồ quan hệ α=(U,F), tập KU gọi khóa

lược đồ α thỏa mãn: a) K→ UF+

b)K1K K1 → UF+

Hai điều kiện tương đương với: a) K+=U

b)AK (K-{A})+U

Hoặc tương đương với a)K→U

(19)

*Tính chất khóa siêu khóa

1 Hợp siêu khóa siêu khóa

2 Giao siêu khóa chưa siêu khóa Hai khóa khơng giao

4 Hợp khóa khóa lược đồ có

duy khóa

5 Một lược đồ có nhiều khóa Bản thân U siêu khóa

(20)

* Tìm siêu khóa lược đồ

Cho lược đồ quan hệ α=(U,F), tìm siêu khóa K lược đồ

Ta tìm siêu khóa K lược đồ theo bước sau: Đặt L= Li |Li →Ri  F

Đặt R= Ri |Li→Ri  F

Đặt K = U\R  L K siêu khóa

(21)

14.2: Họ Sperner khóa

Nếu gọi Kα tập tất khóa lược đồ α=(U,F), phần tử Kα tập thuộc tính tập hợp khơng bao

Định nghĩa: Họ Sperner U họ M ={X|X  U}

cho hai phần tử M không bao

(22)

14.3: Một số vấn đề khóa

14.3.1: Kiểm tra tập cho trước có phải là khóa hay khơng?

Cho K  U hỏi K có phải khóa hay khơng?

Cách làm: Tính

+)Nếu U K khơng khóa lược đồ +)Nếu K+=U chứng tỏ K siêu khóa

Để kiểm tra K có phải khóa khơng ta lấy tập thực K, tất tập thực K khơng siêu khóa chứng tỏ K khóa, tồn tập thực K siêu khóa K khơng phải

(23)

14.3.2: Tìm khóa lược đồ quan hệ

Cho lược đồ α=(U,F), tìm khóa K Tư tưởng chung:

B1) Trước hết chọn siêu khóa K

B2) Từ siêu khóa kiểm tra xem có phải khóa khơng

B3) Nếu K khóa dừng thuật toán, ngược lại chuyển bước

(24)

14.3.3: Giao tất khóa

Ký hiệu Iα tập mà phần tử tham gia vào tất khóa lược đồ hay Iα giao tất khóa lược đồ

Ký hiệu Nα tập mà phần tử khơng tham gia vào khóa lược đồ

Ký hiệu Sα ={U\ (Ri -Li )|  Li →RiF}

(25)

Định nghĩa: Cho lược đồ quan hệ α=(U,F), thuộc tính A

trong U gọi thuộc tính tiền định A có mặt vế phải phụ thuộc hàm A phải xuất vế trái phụ thuộc hàm thuộc tính A khơng xuất phụ thuộc hàm

Định lý 1: Cho lược đồ quan hệ α=(U,F),

gọi N={ (Ri -Li )| Li  Iα} N  Nα (hay N tập

(26)

Định lý 2: Với Y Nα X  Iα Y (XY)+ \ X  Nα

1

Hệ : Từ định lý ta thấy N={ (Ri -Li )| Li Iα }

thì N’=(N Iα)+\Iα  Nα

Định lý 3: Cho lược đồ quan hệ α=(U,F), gọi N”=R\L| (R=Ri ,,L= Li )|  Li →RiF} (N” tập tất

(27)

14.3.4: Thuật tốn tìm giao tất khóa

(28)

14.3.5: Thuật toán kiểm tra lược đồ cho có hay nhiều khóa?

Bước 1: Tìm giao tất khóa lược đồ Iα

Bước 2: Nếu (Iα)+= U lược đồ cho có khóa

(29)

14.3.6: Thuật tốn tìm tất khóa lược đồ quan hệ

*Thuật toán 1:

Bước 1: Xác định tất tập khác rỗng Q+ Kết

quả tìm giả sử tập thuộc tính X1, X2, …, X2n -1

Bước 2: Tìm bao đóng X1

Bước 3: Siêu khóa X1 có bao đóng Q+

Giả sử ta có siêu khóa S = {S1, S2,…,Sm}

Bước 4: Xây dựng tập chứa tất khóa Q từ tập S

(30)

*Thuật toán 2:

B1) Xác định Iα

B2) Nếu (Iα)+ =U kết luận lược đồ có khóa

là Iα kết thúc thth tốn, ngược lại chuyển sang

bước

B3) Xác định N={ (Ri -Li )| Li Iα }

+) Đặt N’ = (IαN)+\ Iα (N’Nα )

+) Đặt B =U\N’\Iα

B4) Nếu |B|=2 (tập B gồm có thuộc tính ), giả sử

B=B1B2 lược đồ có khóa B1 B2, kết thúc

thuật tốn Ngược lại |B| > chuyển sang bước

B5) Tìm tất tập khác rỗng B, ký hiệu tập là{B1, B2, …, Bn} Tính ( Bi Iα)+ (i=1…n),

(31)

*Thuật toán 2:

B6) Khi M={ M1, M2, …, Mh} họ tất siêu khóa

của lược đồ α

B7) Loại bỏ siêu khóa khơng tối thiểu khỏi M, tức  Mi  Mj(*) (i≠j,i,j= ) loại Mj khỏi M Tập

Ngày đăng: 04/05/2021, 05:40

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan