Tải bản đầy đủ - 0 (trang)
a. Phủ, phụ thuộc hàm tương đương:

a. Phủ, phụ thuộc hàm tương đương:

Tải bản đầy đủ - 0trang

(F \ {X  A}) ∪ {X \ {B}  A}



Nhận xét: Điều kiện (2) đảm bảo khơng có phụ thuộc hàm dƣ thừa, điều kiện

(3) đảm bảo khơng có thuộc tính ở vế trái dƣ thừa.

Thuật tốn tìm phủ tối thiểu:

- Input: Tập phụ thuộc hàm F.

- Output: Tập phụ thuộc hàm tối thiểu G tƣơng đƣơng với F.

- Method:

(1): Phân rã vế phải tất cả phụ thuộc hàm của F và gọi G là tập tất cả các

phụ thuộc hàm thu đƣợc.

(2): Loại các phụ thuộc hàm dƣ thừa trong G: Không tồn tại X  A nào

trong F mà tập F - {X  A} tƣơng đƣơng với F.

(3): Loại các thuộc tính dƣ thừa ở vế trái của các phụ thuộc hàm trong G:

Không tồn tại X  A trong F mà Z ⊂ X để cho:

(F - {X  A}) ∪ {Z  A}

tƣơng đƣơng với F.

Ví dụ:

Cho lƣợc đồ R = (A, B, C, D, E, G) và tập phụ thuộc hàm F gồm các phụ thuộc

hàm sau:

AB  C

D  EG

CA

BE  C

BC  D

CG  BD

ACD  B

CE  AG

Ta áp dụng thuật tốn tính phủ tối thiểu để tính phủ tối thiểu của F.

(1): Phân rã vế phải các phụ thuộc hàm trong F

Tập G thu đƣợc gồm các phụ thuộc

hàm: AB  C

BE  C

CA

CG  B

BC  D

CG  D

ACD  B

CE  A

DE

CE  G

DG

(2): Loại các phụ thuộc hàm dƣ thừa và thuộc tính dƣ thừa

* Loại các phụ thuộc hàm dƣ thừa:

- Loại CG  B, vì nó suy ra từ C  A, ACD  B và CG  D bằng các

phép kéo theo nhƣ sau:

CA

⇒ CG  AG

(qui tắc mở rộng hai vế)

⇒ CG  A

(qui tắc phân rã)

CGA & CGD & CG  C ⇒ CG  ACD

(qui tắc hợp)

CG  ACD & ACD  B

⇒ CG  B

(qui tắc bắc cầu)

Nhƣ vậy ta loại ra khỏi G.

- Loại CE  A, vì nó suy ra từ C  A.

Kết thúc bƣớc này các phụ thuộc hàm còn lại nhƣ

sau: AB  C

BE  C

C A

BC  D

CG  D

ACD  B

DE

CE  G

DG

* Loại thuộc tính dƣ thừa:

Trong phụ thuộc hàm ACD  B, thuộc tính A dƣ thừa vì C  A. Nhƣ

vậy ta thay ACD  B bởi CD  B.



Cuối cùng ta nhận đƣợc phủ tối

thiểu: AB  C

BE  C

C A

BC  D

CG  D

CD  B

DE

CE  G

DG

V. PHỤ THUỘC ĐA TRỊ

Chúng ta cũng đã thấy rằng dữ liệu có mối quan hệ với nhau và đó gọi là phụ

thuộc hàm. Nhƣng đó khơng phải là duy nhất. Khái niệm phụ thuộc hàm trong trƣờng

hợp tổng quát không đủ để vét hết các loại phụ thuộc tồn tại trong quan hệ. Trong thực

tế còn có nhiều loại phụ thuộc dữ liệu nữa. Chẳng hạn, mỗi cặp vợ chồng (tên cha, tên

mẹ) không phải là xác định duy nhất tên một đứa con mà là một hoặc một số con. Mối

quan hệ đó trong CSDL gọi là phụ thuộc đa trị.

1. Định nghĩa trực quan:

Giả sử cho R là một sơ đồ quan hệ, X và Y là hai tập con của R. Nói rằng “X xác

định đa trị Y” hay “có một phụ thuộc đa trị giữa X và Y”, ký hiệu X  Y, nếu với mỗi

giá trị của X có một tập rỗng hoặc một tập các giá trị tƣơng ứng trên Y mà không liên

quan gì đến các giá trị của các thuộc tính còn lại, R-X-Y.

2. Định nghĩa hình thức:

Gọi R là một sơ đồ quan hệ; X và Y là hai tập con của R, Z = R – XY. Quan hệ

r(R) thoả phụ thuộc đa trị X  Y nếu với bất kỳ hai bộ t1 ∈ r và t2 ∈ r với t1[X] = t2[X]

tồn tại một bộ t3 ∈ r sao cho t3[X] = t1[X], t3[Y] = t1[Y] và t3[Z] = t2[Z].

Do tính đối xứng của t1 và t2 dễ dàng thấy rằng trong r còn tồn tại một bộ t 4 mà

t4[X] = t1[X], t4[Y] = t2[Y] và t4[Z] = t1[Z].

Chú ý: X và Y có thể là tập rỗng, nếu Y = ∅ thì X  ∅ đúng với mọi quan hệ.

Nếu X = ∅ thì ∅  Y thoả trên một quan hệ khi và chỉ khi tập giá trị trên tập thuộc

tính Y là độc lập với các giá trị của những thuộc tính còn lại trong quan hệ. Gọi r[YZ] là

một quan hệ, Y ∩ Z = ∅ khi đó ∅  Y thoả trên r khi và chỉ khi r = r[Y] x r[Z] (tích đề

các).

3. Ví dụ:

Giả sử ta muốn duy trì thông tin về tập nhân viên (ENO) và về tập dự án (PNO)

có liên quan đến cơng ty cũng nhƣ về chi nhánh (PLACE) thực hiện dự án. Yêu này có

thể đƣợc thực hiện bằng cách định nghĩa sơ đồ quan hệ:

SKILL(ENO, PNO, PLACE)

Ta giả sử (có thể khơng thực tế):

(1): Mỗi nhân viên đều có thể làm việc cho mọi dự án.

(2): Mỗi nhân viên đều có thể làm việc tại mọi chi nhánh.

(3): Mỗi dự án đều có thể đƣợc thực hiện tại bất kỳ chi nhánh nào.



Một quan hệ mẫu thoả các đều kiện này cho ở bảng sau:

ENO

E1

E1

E1

E1

E1

E1

E2

E2

E2

E2

E2

E2



PNO

P1

P1

P1

P2

P2

P2

P1

P1

P1

P2

P2

P2



PLACE

Toronto

New York

London

Toronto

New York

London

Toronto

New York

London

Toronto

New York

London



Trong quan hệ trên có ENO  PNO. Thật vậy với t1

= (E1, P1, Toronto)

t2 = (E1, P2, New York)

tồn tại 2 bộ:

t3 = (E1, P1, New York)

t4 = (E1, P1, Toronto)

Ta còn một phụ thuộc đa trị khác từ quan hệ trên nhƣ:

ENO  PLACE

4. Mối liên quan giữa phụ thuộc hàm và phụ thuộc đa trị:

Mỗi phụ thuộc hàm đều là phụ thuộc đa trị, nhƣng ngƣợc lại thì khơng đúng. Một

phụ thuộc đa trị X  Y sẽ là một phụ thuộc hàm chỉ khi với mỗi giá trị tại X thì tập giá

trị tại Y tƣơng ứng nhiều nhất có một phần tử.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

a. Phủ, phụ thuộc hàm tương đương:

Tải bản đầy đủ ngay(0 tr)

×