1. Trang chủ
  2. » Công Nghệ Thông Tin

Phụ thuộc hàm cơ sỡ dữ liêu

54 338 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 0,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Bước 4: Dựa vào bao đóng của tất cả các tập con đã tìm để xác định phụ thuộc hàm nào thuộc F+... Phủ tối thiểu của tập phụ thuộc hàm minimal cover  Phụ thuộc hàm có vế trái dư thừa:

Trang 1

PHỤ THUỘC HÀM (functional dependency)

Trang 2

Phụ thuộc hàm (FD)

Định nghĩa: Cho một lược đồ quan hệ gồm n

thuộc tính: Q(A1, A2,…, An)

 X, Y là hai tập con của Q+={A1, A2,…, An}

 r là một quan hệ trên Q

 t1, t2 là hai bộ bất kỳ của r

Phụ thuộc hàm giữa hai thuộc tính X và Y ký hiệu

là X Y được định nghĩa như sau:

X Y(t1.X = t2.X t1.Y = t2.Y)

(Ta nói X xác định Y hay Y phụ thuộc hàm vào X)

Trang 5

Phụ thuộc hàm (FD)

Thuật toán Satifies: Cho quan hệ r và X, Y là hai

tập con của Q+, Thuật toán SATIFIES sẽ trả về trịtrue nếu X  Y ngược lại là false

Trang 6

Phụ thuộc hàm (FD)

 Ví dụ: SATIFIES(phanCong,MAYBAY,GIOKH)

Trang 7

Ví dụ: Q+=(A, B, C, D)

• Số tập con: 2 4 =16

• Số PTH: =2 4 x2 4 =256

Trang 8

Hệ luật dẫn Armstrong

Phụ thuộc hàm được suy diễn logic từ F

Phụ thuộc hàm XY được suy diễn logic từ F

nếu một quan hệ r bất kỳ thỏa mãn tất cả cácphụ thuộc hàm của F thì cũng thỏa phụ thuộchàm X  Y Ký hiệu F|= X  Y

Bao đóng của F (F + )

 Bao đóng của F ký hiệu F+ là tập tất cả các phụthuộc hàm được suy diễn logic từ F

Trang 10

Hệ luật dẫn Armstrong

Hệ luật dẫn Amstrong:

 Cho X,Y,Z,W là tập con của Q+

 r là quan hệ bất kỳ của Q

Ba luật của tiên đề Amstrong:

1. Luật phản xạ (reflexive rule):

Trang 11

Hệ luật dẫn Armstrong

Ba hệ quả của tiên đề Amstrong:

1. Luật hợp (Union Rule)

Trang 12

Bao đóng của tập thuộc tính X

(closures of attribute sets)

Trang 13

Bao đóng của tập thuộc tính X

(closures of attribute sets)

Thuật toán tìm bao đóng:

 Tính liên tiếp tập các tập thuộc tính X0,X1,X2,

theo phương pháp sau:

Bước 1: X0 = X

Bước 2: lần lượt xét các phụ thuộc hàm của F

Nếu YZ có Y  Xi thì Xi+1 = Xi Z

Loại phụ thuộc hàm Y  Z khỏi F

Bước 3: Nếu ở bước 2 không tính được Xi+1 thì Xi chính là bao đóng của X

 Ngược lại lặp lại bước 2

Trang 14

Bao đóng của tập thuộc tính X

(closures of attribute sets)

Ví dụ: Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) và

tập phụ thuộc hàm

F={BA; DACE; DH; GH C; ACD} Tìm bao đóng của X = {AC} trên F

Trang 15

Bao đóng của tập thuộc tính X

(closures of attribute sets)

 Ví du 2: cho lược đồ quan hệ: Q(A,B,C,D,E,G)

Trang 16

Sử dụng bao đóng của tập thuộc

tính

Kiểm tra siêu khóa (Testing for superkey)

 Đẻ kiẻm tra X có phải là siêu khóa: tính X + , néu X +

chứa tát cả các thuo ̣c tính của R thì X là siêu khóa.

 X là khóa dự tuyẻn (candidate key) néu không tập con nào trong só các ta ̣p con của nó là khóa.

Kiểm tra một phụ thuộc hàm XY có được suy

Trang 17

Phụ thuộc hàm dư thừa

 Ta ̣p các phụ thuo ̣c hàm có thẻ là dư thừa vì

chúng có thẻ suy diẽn từ các FDs khác

 Ví dụ:

AC là dư thừa đói với F: (AB, BC, A C)

 Mo ̣t phàn của phụ thuo ̣c hàm cũng có thể dư

thừa

 Ví dụ:

F=(A B, BC, AC,D) có thẻ được viét lại:

F=(A B, BC, AD)

Trang 18

Bao đóng của tập phụ thuộc hàm

Bao đóng của F ký hiệu F+ là tập tất cả các phụ

thuộc hàm được suy diễn logic từ F

Thuật toán tìm bao đóng F+

 Bước 1: Tìm tất cả tập con của Q+

 Bước 2: Tìm tất cả các phụ thuộc hàm có thể cócủa Q

 Bước 3: Tìm bao đóng của tất cả tập con của Q

 Bước 4: Dựa vào bao đóng của tất cả các tập con

đã tìm để xác định phụ thuộc hàm nào thuộc F+

Trang 19

Bao đóng của tập phụ thuộc hàm

Trang 20

Bao đóng của tập phụ thuộc hàm

 Tìm tất cả các phụ thuộc hàm có thể có:

Kết quả: F + = {ABC, ABAC,ABBC, ABABC,

CB,CBC,ACB, ACAB,ACBC, ACABC}

Trang 21

Bao đóng của tập phụ thuộc hàm

Thuật toán tìm F + cải tiến:

 Bước 1: Tìm tất cả tập con của Q+

 Bước 2: Tìm bao đóng của tất cả tập con của Q+

 Bước 3: Dựa vào bao đóng của các tập con đã tìm

để suy ra các phụ thuộc hàm thuộc F+

Trang 22

Bao đóng của tập phụ thuộc hàm

Trang 23

Bao đóng của tập phụ thuộc hàm

 1/ Cho quan hệ sau:

Phụ thuộc hàm nào sau đây thỏa r:

AD,ABD,CBDE,EA,AE

Trang 24

Bao đóng của tập phụ thuộc hàm

1. Cho Q+={ABC}

 a) Tìm tất các các tập con của Q

 b) Tìm tất cả các phụ thuộc hàm có thể có của Q (không liệt kê phụ thuộc hàm hiển nhiên)

2. Cho F = {ABC, BD, CE, CEGH, GA}

 a) Hãy chứng tỏ phụ thuộc hàm ABE,AB  G được suy diễn từ F nhờ luật dẫn Armstrong

 b) Tìm bao đóng của AB(với bài toán không nói

gì về lược đồ quan hệ Q ta ngầm hiểu Q+ là tập thuộc tính có trong F nghĩa là Q+={ABCEGH})

Trang 25

Bao đóng của tập phụ thuộc hàm

1. Cho F = {AD,AB  DE,CE  G,E  H} Hãy tìm

bao đóng của AB

Trang 26

Phụ thuộc hàm tương đương

Định Nghĩa: Hai tập phụ thuộc hàm F và G là

tương đương (Equivalent) nếu F+ = G+

 ký hiệu F = G.

Thuật toán xác định F và G có tương đương không

Bước 1: Với mỗi phụ thuộc hàm XY của F ta xác định xem XY có là thành viên của G không

Bước 2: Với mỗi phụ thuộc hàm XY của G ta xác định xem XY có là thành viên của F không

 Nếu cả hai bước trên đều đúng thì F G

Trang 27

Phụ thuộc hàm tương đương

 Ví dụ: Cho lược đồ quan hệ Q(ABCE) hai tập phụ

thuộc hàm:

 F={ABC,AD,CE}

 G = {ABCE,AABD,CE}

a) F có tương đương với G không?

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

Trang 28

Phụ thuộc hàm tương đương

b) Do = C  G’+ không chứa phụ thuộc hàm CE 

F không tương đương với G’

Trang 29

Phủ tối thiểu của tập phụ thuộc

hàm (minimal cover)

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

 F là tập các phụ thuộc hàm trên lược đồ quan hệ Q.

Trang 30

Phủ tối thiểu của tập phụ thuộc

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

nếu F không chứa phụ thuộc hàm có vế trái dưthừa

Trang 31

Phủ tối thiểu của tập phụ thuộc

hàm (minimal cover)

Thuật toán loại các phụ thuộc hàm có vế trái

dư thừa:

 Xét lần lượt các phụ thuộc hàm X Y trong F

 Với mọi tập con X’≠  của X, nếu X’ Y  F+ thì thay X Y bằng X’ Y

Ví dụ 3: F = {A BC , B  C, AB  D}, phụ thuộc hàm AB  D có A+=ABC  A  DF+

 Trong F ta thay AB  D bằng A  D

 F = {A  BC,B  C, A  D}

Trang 32

Phủ tối thiểu của tập phụ thuộc

hàm (minimal cover)

Phụ thuộc hàm dư thừa:

 F là tập phụ thuộc hàm không dư thừa nếukhông tồn tại F’ F sao cho F’ F Ngược lại F làtập phụ thuộc hàm dư thừa

Ví dụ:

Cho F = {A  BC, B  D, AB  D} thì F dư thừa

vì F  F’= {ABC, BD}

Trang 33

Phủ tối thiểu của tập phụ thuộc

hàm (minimal cover)

Tập phụ thuộc hàm tối thiểu (minimal cover)

 F được gọi là một tập phụ thuộc hàm tối thiểu(hay phủ tối thiểu) nếu F thỏa đồng thời ba điềukiện sau:

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

F là tập phụ thuộc hàm có vế phải một thuộc tính

F là tập phụ thuộc hàm không dư thừa

Trang 34

Phủ tối thiểu của tập phụ thuộc

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

hơn một thuộc tính thành các phụ thuộc hàm có

vế phải một thuộc tính

Bước 3: Loại bỏ các phụ thuộc hàm dư thừa.

Trang 35

Phủ tối thiểu của tập phụ thuộc

hàm (minimal cover)

Ví dụ 1: Cho lược đồ quan hệ Q(A,B,C,D) và tập

phụ thuộc F ={AB CD, B  C, C  D} Tìm phủtối thiểu của F

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

 Xét B  CDF+ ?

 Tính B+ =BCD  B  CD F+

 Vậy AB  CD là phụ thuộc hàm có vế trái dư thừa A  F={B  CD; B  C; C  D}

Trang 36

Phủ tối thiểu của tập phụ thuộc

hàm (minimal cover)

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

nhiều hơn 1 thuộc tính thành các phụ thuộc hàm

BG+=BD  B  C  G+

 trong F1tt B  C không dư thừa

Trang 37

Phủ tối thiểu của tập phụ thuộc

hàm (minimal cover)

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

B D  G+ ? với G = F1tt - {B  D}={B  C; C  D}

BG+=BC D B  D G+

trong F1tt, B  D dư thừa

 Kết quả của bước 3 cho phủ tối thiểu:

F={B  C;C  D}=Ftt

Trang 38

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover)

Ví dụ 6: Cho lược đồ quan hệ Q(A,B,C,D) và tập

phụ thuộc F như sau:

Trang 39

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover)

Trang 40

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Định Nghĩa: Cho lược đồ quan hệ Q(A1,A2,…,An)

Trang 41

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Tập thuộc tính S được gọi là siêu khóa nếu SK

Thuộc tính A được gọi là thuộc tính khóa nếu

AK với K là khóa bất kỳ của Q Ngược lại A

được gọi là thuộc tính không khóa.

 Một lược đồ quan hệ có thể có nhiều khóa và tậpthuộc tính không khóa cũng có thể bằng rỗng

Trang 42

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Thuật toán tìm một khóa của một lược đồ

quan hệ Q

Bước 1: gán K = Q+

Bước 2: A là một thuộc tính của K, đặt K’ = K - A.

Nếu K’+= Q+ thì gán K = K' thực hiện lại bước 2

Nếu muốn tìm các khóa khác (nếu có) của lược

đồ quan hệ, ta có thể thay đổi thứ tự loại bỏcác phần tử của K

Trang 43

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Ví dụ: cho lược đồ quan hệ Q và tập phụ thuộc

hàm F như sau:

‒ Q(A,B,C,D,E)

‒ F={ABC, AC  B, BC  DE} tìm khóa K

B1: K=Q+  K=ABCDE

B2:(K\A)+ (BCDE)+=BCDE ≠ Q+  K=ABCDE

B3:(K\B)+ (ACDE)+= ABCDE = Q+  K=ACDE

B4: (K\C)+ (ADE)+ = ADE ≠ Q+  K=ACDE

B5: (K\D)+  (ACE)+ = ACEBD=Q+  K=ACE

B6: (K\E)+ (AC)+ = ACBDE =Q+  K=AC

Trang 44

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Ví dụ: cho lược đồ quan hệQ(ABCDEGHI) và tập

Trang 45

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

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

Bước 1: Xác định tất cả các tập con khác rỗng của

Q+={X1, X2, …,X2n-1 }

Bước 2: Tìm bao đóng của các Xi

Bước 3: Siêu khóa là các Xi có Xi+= Q+

 Giả sử ta đã có các siêu khóa là S = {S1,S2,…,Sm}

Bước 4: xét mọi Si, Sj con của S (i ≠ j), nếu Si  Sj

thì loại Sj (i,j=1 n), kết quả còn lại của S chính là tập tất cả các khóa cần tìm

Trang 46

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Ví dụ: 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:

Trang 47

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Thuật toán (cải tiến) tìm tất cả khóa của một

 Ngược lại Qua bước 3

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

TG

Trang 48

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Bước 4: tìm các siêu khóa Si bằ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 thiểu

  Si, Sj S

 if Si Sj then Loại Sj ra 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

Trang 49

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)

Ví dụ: cho lược đồ quan hệ Q(CSZ) và tập phụ thuộc

hàm F={CS Z; Z  C} Áp dụng thuật toán cảitiến:

 TN = {S}; TG = {C,Z}

 Gọi Xi là các tập con của tập TG:

Trang 50

BÀI TẬP

Ngày đăng: 14/08/2015, 14:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w