Giao của tất cả các khoá

Một phần của tài liệu Đề cương bài giảng môn cơ sở dữ liệu (Trang 110 - 113)

1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ

13.3.3. Giao của tất cả các khoá

Ký hiệu Iα là tập mà mỗi phần tử của nó tham gia vào tất cả các khoá của lược đồ hay Iαlà giao của tất cả các khoá của lược đồ.

Ký hiệu Nαlà tập mà mỗi phần tử của nó không tham gia vào bất cứ một khoá nào của lược đồ.

Sau này ta sẽ chứng minh Iα =Sα= { U \  F R L i i i i ) L \ R ( ∈ → |∀ Li Ri∈F}

Định nghĩa: Cho lược đồ quan hệ α = (U, F), thuộc tính A trong U được gọi là thuộc tính tiền định nếu nh A có mặt ở vế phải của một phụ thuộc hàm bất kỳ thì A cũng phải xuất hiện ở vế trái của phụ thuộc hàm đó hoặc thuộc tính A không xuất hiện trong bất cứ phụthuộc hàm nào.

Gọi tập tất cả các thuộc tính tiền định của lược đồ αlà Tαta sẽ chứng minh: Tα =Iα =Sα (1)

Ta cần chứng minh (1)

Chứng minh Tα=Iα , để chứng minh Tα=Iα ta sẽ chứng minh Tα ⊆Iα và Iα⊆

- Chứng minh Tα⊆Iαta sẽ chứng minh bằng phản chứng Giả sử A∈Tα (2) mà A∉Iα (3)

Từ (3) suy ra∃khoá K, để A∉K, do K là khoá nên K+ =U

Việc tìm K+ sử dụng thuật toán tìm bao đóng, tức là phải có bướcthứ i như sau: K(i) không chứa A nhng K(i+1)lai chứa A, có nghĩa là ta phải sử dụng một phụ thuộc hàm có dạng L R, bởi vì L⊆K(i)nên A∉L

Vậy tồn tại phụ thuộc hàm mà vế phải chứa A mà vế trái không chứa A, do đó trái với giả thiết A là thuộc tính tiền định

- Chứng minh Iα⊆Tαta cũng chứng minh bằng phản chứng Giả sử có A∈Iαvà A∉Tα suy ra tồn tại một phụ thuộc hàm L R

Xét tập M=U\A thấy rằng M là tập con lớn nhất của U không chứa A, suy ra L⊆M, do vậy:

M L ( theo luật phản xạ ) LR ( theo giả thiết ) RA ( do A∈R )

Suy ra, M A ( do tính chất bắc cầu)

Hơn nữa, M M nên M M ∪A =U suy ra M là siêu khoá và không chứa A, từ M ta thu đợc một khoá không chứa A, tức:

K⊆M và A∉K, suy ra A∉Iα mâu thuẫn với giả thiết.

Chứng minh Iα =Sα để chứng minh Iα =Sα ta chứng minh Iα⊆Sα và Sα⊆Iα Chứng minh Iα ⊆Sα lấy A∈Iα suy ra A∉( Ri- Li) suy ra A∉ ∪ ( Ri - Li) Suy ra A∈ Sα

A∈R A∉L

Chứng minh Sα⊆ Iα lấy A∈ Sα suy ra A∉ ∪ ( Ri–Li) suy ra nếu A∈Ri thì A∈Li suy ra A∈Iα

Từ các chứng minh trên suy ra (1)đượcchứng minh.

Định lý 1: Cholược đồ quan hệ α=(U, F), gọi N={∪ ( Ri-Li) | Li⊆Iα} khi đó N⊆Nα(hay N là tập chứa một số các phần tử không khoá của lược đồ α) Chứng minh:

Lấy A∈ N ta cần chứng minh A∉ K, với K là khoá bất kỳ nào của lược đồ, giả sử ngượclại tồn tại một khoá K để A∈ K, suy ra K - A⊇ Li-A do K ⊇Iα

⊇Li ( theo giả thiết ), suy ra K - A⊇Li vì Li không chứa A Vậy K- ALi ( luật phản xạ)

LiRi ( giả thiết) RiA ( luật tách )

Suy ra K-A A, hơn nữa K-A K-A nên K - A K mà K là khoá nên K

 U mà K - A  U vậy K - A là siêu khoá, mâu thuẫn với giả thiết K là khoá.

Định lý 2:với Y⊆Nα và X⊆Iα thì Y⊆( XY)+\ X⊆Nα

Chứng minh Y⊆(XY)+\ X Hiển nhiên Y⊆(XY)+ Do X∩ Y =φnên Y \ X = Y Y \ X⊆(XY)+\ X

Suy ra Y⊆(XY)+\ X

Chứng minh ( XY)+\ X⊆ Nα, ta chứng minh bằng phản chứng. Giả sử tồn tại A∈( XY)+ \ X ( 1) mà A∉Nα (2)

Do A∈( XY)+\ X nên A∈( XY)+hay XYA

A∉Y vì Y⊆Nα, A∉Nα suy ra A∉X do (1) suy ra A∉XY Do (2) suy ra có một khoá K, A∈K

K’=K\A M=K’XY

MXYA và MK’ suy ra MK’A=KU

Vì siêu khoá M có tập Y không chứa Nα vì Y là tập con của Nα suy ra K’X là khoá

X⊆Iα, Iα ⊆K suy ra X\ A⊆K \ A Vì A∉X nên X⊆K\A=K’

Hệ quả: Từ định lý 2 ta thấy nếu 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’’ là tập tất cả các thuộc tính chỉ xuất hiện ở vế phải mà không xuất hiện ở vế trái của các phụ thuộc hàm) thì N’’⊆Nα

*Thuật toán tìm giao của tất cả các khóa

Cho một lược đồ quan hệα= (U, F), với F={LiRivới i=1,..n } Hãy tìm giao của tất cả các khoá

Giải:

Giao của tất cả các khoá Iα ={ U \ n

i 1=

(Ri–Li)}

Ví dụ: Hãy tìm giao của tất cả các khoá của lược đồα=(U,F) Với U=ABCDEGH

F={ABCDE, ACBCG, BDG, ACHHE, CG BDE }

Iα = U \ ((CDE–AB) ∪(BCG–AC) ∪(G–BD)∪ (HE–ACH)∪(BDE – CG) ) =U \ ( CDE∪BG ∪G∪E∪BDE ) =U \ BCDEG=AH

Nhận xét:

- Với lược đồ đã cho ta có thể tìm Iα một cách dễ dàng

-Lượcđồ có duy nhất một khoá khi và chỉ khi Iα là khoá hay (Iα)+ =U

Một phần của tài liệu Đề cương bài giảng môn cơ sở dữ liệu (Trang 110 - 113)

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

(161 trang)