23
1 CƠ SỞ DỮ LIỆU NÂNG CAO LÝ THUYẾT PHỤ THUỘC HÀM Thầy giảng dạy: TS. Hoàng Quang

Csdl Nangcao

Embed Size (px)

Citation preview

Page 1: Csdl Nangcao

1

CƠ SỞ DỮ LIỆU NÂNG CAO

LÝ THUYẾT PHỤ THUỘC HÀM

Thầy giảng dạy: TS. Hoàng Quang

Page 2: Csdl Nangcao

2

DƯ THỪA DL DỊ THƯỜNG

Tại sao phải nghiên cứu LTPTH?

DƯ THỪA DL DỊ THƯỜNG

Page 3: Csdl Nangcao

3

MỘT SỐ CÁC ĐỊNH NGHĨA TRONG

LÝ THUYẾT PHỤ THUỘC HÀM

Page 4: Csdl Nangcao

4

Phụ thuộc hàm

A B Cr =

a b cb d ca e c

X Y t1, t2 r : t1[X] = t2[X] t1[Y] = t2[Y]

r thỏa A C

r thỏa B C

Page 5: Csdl Nangcao

5

Lược đồ quan hệ thoả mãn phụ thuộc hàm

XY

Rr Stop

KHÔNG THỎA MÃN

R= <U, SC>Or R= < U, F >

Page 6: Csdl Nangcao

6

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

R = <U, F>. F+ là tập tất cả các phụ thuộc hàm hệ quả của F

F+ = {XY | F╞ XY}

F F+

Page 7: Csdl Nangcao

7

Khoá của lược đồ quan hệR = <U, F>, X U. X là khoá của R nếu:

1.XU (siêu khoá)

2.Không X’ X : X’ là siêu khoá của R

Ví dụ: R = <U, F>

U = ABC; F = {AB, BC}

{A} là khoá của R

Page 8: Csdl Nangcao

8

Hệ tiên đề Amstrong Cho R = <U, F>

-   (X, Y U ) (X Y) : YX F+

-   (X, Y, Z U) (XY) F+: XZYZ F+

-    (X, Y, Z U) (XY F+, YZ F+): XZ F+

Page 9: Csdl Nangcao

9

Hệ tiên đề Amstrong (2)

Ví dụ: R =<U, F>, U =ABC, F = {AB, AC}Chứng minh: A BC F+

AB (1)AC (2)Từ (1) A AB (3) (Luật gia tăng)Từ (2) AB BC (4) (Luật gia tăng)Từ (3) & (4) A BC (Luật bắc cầu) đpcm

Page 10: Csdl Nangcao

10

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

Ví dụ

F = {AB, BC}

A+F = ABC

(AB)+ = ABC

R = <U, F> và X, Y U. Khi đó: X Y F + Y X+

F

X+ = {A | XA F+}=X+F

Page 11: Csdl Nangcao

11

Hai tập phụ thuộc hàm tđương

Cho F & G. F G nếu và chỉ nếu F+ = G+

Ý tưởng đề kiểm chứng F G

++ +

+

( / : )F G (1)F = G

G F (2) G

C m BT

X Y F X Y

YXGYX F

F+G G+F &

Page 12: Csdl Nangcao

12

Hai tập phụ thuộc hàm tđương (2)Ví dụ: Kiểm tra F và G có tđương hay ko

F={ABC}, G={AB, AC {Kiểm tra F G+}

AB :A+F = ABC B

AC: A+F = ABC C

{Kiểm tra G F+}

ABC: A+G = ABC BC

Vậy F tđ với G

Page 13: Csdl Nangcao

13

Phủ cực tiểu của một lược đồ quan hệ (1)

Cho R = <U, F>, F được gọi là phủ cực tiểu của R khi và chỉ khi:

Vế phải chỉ có 1 thuộc tính Không có thuộc tính dư thừa ở vế trái Không có phụ thuộc hàm dư thừa

Page 14: Csdl Nangcao

14

Phủ cực tiểu của một lược đồ quan hệ (2) b) X A F, B X

((F \ {XA} ) (X \ {B} A))+ F+

XA F, B X: X\{B} A F+

X A F, B X: (X \ {B})+ A

     

c) X A F: XA (F \ {XA})+

X A F, X+F\{XA} A

Page 15: Csdl Nangcao

15

Phủ cực tiểu của tập phụ thuộc hàm

R = <U, F>. G đgl 1 phủ cực tiểu của F nếu thoả 2 điều kiện:

G F G là phủ cực tiểu của R’ = <U, G>

Phủ cực tiểu của 1 phụ thuộc hàm là không duy nhất

Page 16: Csdl Nangcao

16

Giải thuật tìm phủ cực tiểu

Bước 1 1

ˆ 2Phan ra1 2 n

n

X A

X AX A A ...A

X A

Bước 2For (mỗi X A F) do

For (mỗi B X) do

If ((X \ {B})+F A) then

X := X \ {B};

Page 17: Csdl Nangcao

17

Giải thuật (tt)

Bước 3

For (mỗi X A F) do

If (X+F\{XA} A) then

F := F \ {XA};

Kết luận: G := F;

Page 18: Csdl Nangcao

18

Ví dụ Tìm phủ cực tiểu của tập PTHR = <U, F>,U = ABD, F ={B A, D A, AB D}

ABD

B+F = BAD D loại bỏ

A F = {BA, BD,

DA}

BD

B+F\{BD} = BA D

BA

B+F\{BA} = BDA A loại bỏ BA

F = {DA, BD}DA

D+F\{DA} = D A

Kết luận: F = {DA, BD}

Page 19: Csdl Nangcao

19

Khóa của lược đồ

Định lý Hồ Thuần - Nguyễn Văn Bào (Điều kiện cần để X là khoá)

(U \ P) X (U \ P) (T P) Function Key(R)1.       Xđịnh T2.       Xác định P3.        X := (U \ P) (T P) (X:= S)4.        For <mỗi A (T P)> do (A S T P )

5.        If <(X \ A)F+ = U> then

X := X \ A; Return X.

Page 20: Csdl Nangcao

20

Giải thuật xác định tất cả các khoá của 1 lược đồ quan hệ

Định lý Lucchesi và Osborn: (Điều kiện cần và đủ để bổ sung khoá)

R = <U, F>. K là 1 tập khác rỗng các khoá của lược đồ quan hệ R. Điều kiện cần và đủ để bổ sung khoá mới vào K là:

k K

XY F

sao cho T = X (K \ Y) không chứa phần tử nào của K.

Page 21: Csdl Nangcao

21

Giải thuật

Tìm 1 khoá k K ; K := {R};For <mỗi k K> For <mỗi XY F> do T := X (K \ Y) ; If <T không chứa phần tử nào của K> then Tìm khoá k’ nhận T làm siêu khoá ; K+ := K {K’}

Page 22: Csdl Nangcao

22

Giải thuật (2)

goto 3;

EndIf;

EndFor;

EndFor;

Return;

Page 23: Csdl Nangcao

23

Xin chân thành cảm ơn thầy và các bạn đã tham

gia thảo luận!