1. Trang chủ
  2. » Giáo án - Bài giảng

Bài soạn môn CSDL

25 262 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Phụ thuộc hàm
Tác giả Nguyễn Thị Diễm Ngọc
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Cơ sở dữ liệu
Thể loại Bài soạn
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 757 KB

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

Nội dung

Trong nhiều trường hợp không phải mội tập hợp hữu hạn các bộ có thể là giá trị hiện hành của một quan hệ trên lược đồ cơ sở dữ liệu đã cho.. Hạn chế phụ thuộc vào ngữ nghĩa của miền Hạn

Trang 1

Chương I Phụ thuộc hàm

I Một số vấn đề thường xảy ra trong thiết kế cơ sở dữ liệu

Xét lược đồ quan hệ NC(TCC, DCC, TMH, GIA)

Người cung cấp A lặp lại hai lần

2 Sự mâu thuẩn khi bổ sung

Nếu một người cung cấp hàng, cung cấp mặt hàng mới nhưng địa chỉ bị thay đổi lúc này sẽ xuất hiện sự mâu thuẫn vì một người có hai địa chỉ

Khi cần xoá các mặt hàng được cung cấp bởi một người ta lại xoá hết các thông tin về người đó

Ví dụ: Trong bảng trên nếu xoá mặt hàng cafe thì tên người cung cấp và địa chỉ cũng bị xoá theo Vì vậy ta không tìm được khi cần thiết

4 Sự bất thường khi bổ sung

Ta không thể ghi địa chỉ cho người cung cấp hàng nếu người đó chưa cung cấp mặt hàng nào Ta có thể đặt giá trị Null cho tên mặt hàng và giá của một bộ cho người cung cấp mới, nhưng khi ta đưa vào một mặt hàng đối với người cung cấp này, ta có nhớ để xoá các bộ có giá trị Null hay không

Những nhược điểm trên sẽ được khắc phục nếu ta thay quan hệ

NCC(TCC, DCC) CC(TCC, TMH, GIA)

II Các phụ thuộc hàm

Các quan hệ có thể sử dụng để mô hình hoá thế giới thực Mỗi bộ của quan hệ có thể biểu diễn thông tin về một thực thể hoặc về mối quan hệ giữa các thực thể Trong nhiều trường hợp không phải mội tập hợp hữu hạn các bộ có thể là giá trị hiện hành của một quan hệ trên lược đồ cơ sở dữ liệu đã cho

Ta phân biệt hai loại hạn chế trên các quan hệ:

1 Hạn chế phụ thuộc vào ngữ nghĩa của miền

Hạn chế này phụ thuộc vào sự hiểu biết các thành phần nào của một bộ là có nghĩa chẳng hạn không thể có người có chiều cao là 3m Còn một người có tuổi đời

Trang 2

30 tuổi thì không có thâm niên công tác là 32 Những hạn chế này cho phép tạo ra các ràng buộc trong quá trình nhập và xử lý dữ liệu.

2 Hạn chế liên quan đến các giá trị giữa các thuộc tính trên quan hệ.

Hạn chế này không phụ thuộc vào giá trị trong các thành phần của mỗi bộ mà phụ thuộc vào:

Hai bộ có trùng nhau trong một thành phần nhất định nào đó hay không, trong chương này sẽ nghiên cứu kỹ loại hạn chế như vậy, được gọi là phụ thuộc hàm Một số quy ước:

- Các chữ cái in hoa ở đầu dãy anphabê(A, B, C,…) dùng để ký hiệu các thuộc tính

- Các chữ cái in hoa ở cuối dãy anphabê(U, V, X, Y, Z) để ký hiệu tập các thuộc tính

- Chữ cái R để ký hiệu lược đồ quan hệ Nếu một lược đồ quan hệ R có các thuộc tính A, B, C thì ta viết R = ABC = {A, B, C}

- Phép ghép được sử dụng thay cho phép hợp Chẳng hạn:

A∪ B được viết AB, X∪ Y được viết XY

III Cơ sử lý luận của phụ thuộc hàm

1 Định nghĩa: Cho lược đồ quan hệ R X , Y⊂ R, r là quan hệ trên R, r thoả mãn phụ thuộc X→Y (X xác định Y) ⇔ ∀t1,t2∈r: t1(X)=t2(X) ⇒t1(Y)=t2(Y) X→Y là một phụ thuộc hàm của R⇔ ∀hiện hành r của R đều thoả mãn X→Y

Ví dụ:

Cho R = ABC và các phụ thuộc hàm A→B, B→C

Dễ thấy: Nếu quan hệ r trên R thoả A→B, B→C thì R cũng thoả A→C

∀t1,t2∈r Giả sử t1(A)=t2(A)

Vì r thoả A→B ⇒t1(B)=t2(B)

Vì r thoả B→C ⇒t1(C)=t2(C)

Vậy ∀t1,t2∈r, t1(A)=t2(A) ⇒ t1(C)=t2(C)

Vậy r thoả A→C

2 Phụ thuộc được suy diễn logic

Cho lược đồ quan hệ R, F là tập các phụ thuộc hàm trên R Cho f là phụ thuộc hàm tuỳ ý

Ta nói: f được suy diễn logic từ F nếu mọi quan hệ r trên R mà thoả F thì cũng thoả f

Ký hiệu: F ╞ f : f được suy diễn logic từ F

F* = {f / F╞ f }

Việc xác định tập F* là rất khó ta sẽ sử dụng một quan hệ tiên đề để từ đó xác định tập F*

Ví dụ: Cho R = ABC

F = {A→B, B→C } Chứng minh: F ╞ A→C

Dùng phản chứng: Tồn tại một quan hệ Trên R thoả F và không thoả A→C.

Ta có: r thoả F ⇒r thoả A→B, r thoả B→C

Trang 3

Vì r thoả A→B ⇒∀t1,t2∈r: t1(A)=t2(A) ⇒t1(B)=t2(B) (Vì r thoảB→C) ⇒

t1(C)=t2(C) ⇒r thoả A→C Vô lý

3 Hệ tiên đề Armstrong (1974) 3 tiên đề

(A1) Phản xạ: Nếu Y⊆X thì X→Y trong đó X,Y ⊂ R

(A2) Gia tăng: Nếu X→Y thì XZ→YZ (X, Y, Z⊂ R )

(A3) Bắc cầu : Nếu X→Y và Y→Z thì X→Z

a Quy tắc hợp: X→Y và X→Z ⇒X→ YZ

b X→Y và U→V ⇒XY→ UV

X1→Y1, X2→Y2,…, Xk→Yk ⇒ X1,X2,…,Xk →Y1,Y2,…,Yk

c Quy tắc chiếu: X→Y và Z⊆Y ⇒ X→Z

d Quy tắc giả bắc cầu: X→Y và WY→Z ⇒ WX→Z

Chứng minh:

a X→Y ⇒X→ XY (do A1)

X→Z ⇒XY→ YZ (do A2)

⇒ X→YZ(do A3)

b X→Y ⇒XU→YU (do A2)

U→V ⇒YU→ YV(do A2)

Ví dụ 1: Chứng minh rằng: Nếu A→B là phụ thuộc hàm trên lược đồ quan hệ

R(AB) thì phép suy diễn B→A là không đúng

Ta có r thoả A→B nhưng không thoả B→A

Ví dụ 2: Cho R = ABC Hãy chứng minh phép suy diễn sau là sai:

a AB→C ⇒ A→C

b AB→C ⇒ B→C

Hướng dẫn:

a Xem phản ví dụ:

Trang 4

Ta có r thoả AB→C nhưng r không thoả B→C

Ví dụ 3: Cho R = ABC Chứng minh phép suy diễn sau là sai:

Ta có r thoả AB→C và C→A nhưng r không thoả C→B

Ví dụ 4: Cho R = ABCD và tập phụ thuộc hàm:

F = {A→B, BC→D} Cho biết các phụ thuộc hàm sau đây có thể suy diễn được trên tập F

Ta có r thoả A→B, BC→D nhưng r không thoả B→D

c Ta có :A→B ⇒AD→BD (Gia tăng)

⇒AD→B (Quy tắc chiếu/tách)

Ví dụ 5: Cho R = ABCD, F = {A→C, B→D}

Chứng minh: F ╞ AB→ABCD.

Hướng dẫn: A→C⇒AB→BC (Gia tăng)

B→D⇒AB→AD (Gia tăng)

⇒AB→ABCD (Quy tắc hợp)

Trang 5

Nhận xét: AB là siêu khkoá của lược đồ quan hệ R = ABCD.

5 Định nghĩa khoá:

Cho lược đồ quan hệ R = (U, F), ( U: Tập thuộc tính, F: Tập phụ thuộc hàm )

X⊆U được gọi là khoá của lược đồ quan hệ R nếu nó thoả mãn hai điều kiện:

(i) X→R∈F+

(ii) ∃ Y là tập con thực sự của X mà Y→R∈F+

Vấn đề: Tìm một khoá của lược đồ quan hệ và tổng quát tìm tất cả các khoá của

lược đồ quan hệ

Chú ý: Nếu X chỉ thoả mãn điều kiện Y thì nó được gọi là một siêu khoá.

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

Giả sử lược đồ quan hệ R = (U,F), U là tập thuộc tính, F là tập phụ thuộc hàm X

Trang 6

Nhận xét: A→ABCD

⇒A là siêu khoá, hơn nữa A là một khoá

Chú ý: Cho lược đồ quan hệ R = (U, F), X⊆U: X+ = U ⇔X là siêu khoá và ngược lại

Chứng minh: Giả sử X+ = U (Theo định nghĩa X+)⇒X→U∈F+ ⇒X là siêu khoá.Đảo lại: Giả sử X là siêu khoá ⇒X→U∈F+ ⇒U⊆X+ mà X+⊆U ⇒X+ = U

Ví dụ2: Cho lược đồ quan hệ R = ABCD , F = {A→C, B→D}.

Chứng minh AB là khoá (X = AB, X+ = ?)

1 X0 = X = AB

2 X1 = X0 ∪ CD = ABCD = U

⇒X2 =X1

⇒X+ = AB+ = ABCD

Vậy AB là siêu khoá

Dễ chứng minh: AB là khoá, ta chứng minh không thể có A→ABCD và

Ta có r thoả A→C, B→D nhưng r không thoả A→ABCD và B→ABCD

Ví dụ3: Cho lược đồ quan hệ R = XYZWQRP

F = {XY→W, Y→Z, WZ→P, WP→QR,Q→X }

Chứng minh XY→P ∈F+ theo hai cách

XYY = XY→P (theo tính chất giả bắc cầu)

Định lý: Thuật toán tính bao đóng X+ là đúng

Chứng minh: Gỉa sử thuật toán dừng khi X(n+1) = Xn Ta chứng minh X+= Xn

 Trước hết ta sẽ chứng minh nếu A ∈X(j) thì A ∈X+ (j = 1,2,…,n)

Trang 7

Vậy: - Nếu A ∈ X(j-1) thì A ∈X+ (do giả thiết quy nạp).

- Nếu A ∈ Z, Y→Z∈F, Y⊆X(j-1) ⇒Y⊆X+ ⇒X→Y∈F+ mà Y→Z∈F nên X→Z∈F mà A ∈ Z ⇒X→A∈F+ ⇒A ∈X+

Ta sẽ chứng minh r thoả tập phụ thuộc hàm F Thật vậy:

Nếu r không thoả F ⇒ ∃phụ thuộc hàm V→W ∈F không được thoả bởi r

⇒V⊆X(n) (Vì nếu không quan hệ r sẽ thoả V→W ) và W chứa ít nhất một thuộc tính A∈X(n) (Vì nếu không r sẽ thoả V→W )

Ta chứng minh rằng r thoả tập phụ thuộc hàm Dùng phản chứng:

Giả sử: r không thoả F ⇒ ∃phụ thuộc hàm V→W ∈F không được thoả bởi r ⇒

V⊆X+ (Vì nếu không r thoả V→W : do cách xây dựng quan hệ r) và W chứa ít nhất một thuộc tính ∉ X+ (Vì nếu không r thoả V→W )

Mặt khác: X→X+ ∈F+ và V⊆X+ ⇒X+→V∈F+ , V→W , Vì A ∈W⇒W→A

Từ đó suy ra: X→A∈F+ ⇒A∈X+ vô lý

Vậy r thoả tập phụ thuộc hàm F

Ta sẽ chứng minh r không thoả f (nhưng f ∉ F*)

Dùng phản chứng: Giả sử r thoả f

Ta có X ⊆X+ ⇒Y⊆X+ ( Vì nếu không thì có hai bộ bằng nhau trên X nhưng không bằng nhau trên Y ) ⇒f: X→Y∈F+ vô lý (điều phải chứng minh)

A

Trang 8

F* = F+

8 Thuật toán tìm một khoá

8.1 Định lý (Hồ Thuần – Lê Văn Bào, 1983).

Cho lược đồ quan hệ R = (U, F),U là tập thuộc tính, F là tập phụ thuộc hàm Cho X

(i) Nếu L∩ R = Ø thì K = U\R là khoá duy nhất của R

(ii) Ký hiệu: G = i Ki , ki là khoá của R ⇒G = U\R

(iii) Từ định lý ở trên, ta có cấu trúc chung của một khoá của lược đồ

⇒ L∩ R = Ø thì K =U\R =A1 A3 A5 A7 A9 là khoá duy nhất của R=(U, F)

Ví dụ 2:Cho lược đồ quan hệ R=(U, F) Giả sử L∩ R = {A1, A2} ≠ Ø, (U\R)+ ≠ U

a Chứng minh: (U\R)∪ (L∩ R) không phải là khoá của R

b Chứng minh R có đúng 2 khoá là: (U\R)∪ {A1} và (U\R)∪ {A2}

Hướng dẫn:

a Giả sử K = (U\R)∪ (L∩ R) là khoá của R ⇒K là khoá duy nhất

⇒G = i Ki = K = U\R theo hệ quả (ii) Vô lý với K = (U\R)∪ (L∩R)

c Do (U\R)+ ≠ U ⇒U\R không là khoá của R

(U\R)∪ (L∩ R) không phải khoá (Chứng minh trên)

Theo hệ quả (iii) thì có 3 khả năng:

α (U\R)∪ {A1} là khoá và (U\R)∪ {A2} không là khoá

β (U\R)∪ {A2} là khoá và U\R)∪ {A1} không là khoá

χ (U\R)∪ {A1} là khoá và (U\R)∪ {A2} là khoá

• Trường hợp α không xảy ra vì nếu không (U\R)∪ {A1} là khoá duy nhất

⇒ G = i Ki = (U\R)∪ {A1} = U\R Vô lý

• Tương tự trường hợp β không xảy ra:

- Vậy chỉ còn χ là đúng.

Ví dụ 3: Cho lược đồ quan hệ R = (U, F) U = {A, B, C, D, E, G}

F = {B→C, C→B, A→GD}

Trang 9

Chứng minh AEBC không là khoá.

Hướng dẫn:

Ta có: L = ABC, R = BCDG ⇒L∩ R = BC

Mặt khác: U\R = AE và (U\R)+ = (AE)+ = AEGD ≠ U

⇒ (U\R)∪ (L∩ R) = AEBC không là khoá Hơn nữa R có 2 khoá:

(U\R)∪ {B} = AEB

(U\R)∪ {C} = AEC

8.3 Thuật toán tìm một khoá

Từ định lý nói trên ta có thể viết thuật toán tìm một khoá của lược đồ quan hệ như sau:

Vào: Lược đồ quan hệ R = (U, F)

5 Kết luận X là khoá của R Kết thúc

Ví dụ1: Cho lược đồ quan hệ R = (U, F) U = {A, B, C, D, E, G}

X :=X \ C = AE

X+ = (AE)+ = AEGD ≠ UVậy X := X∪ U = AEC

Vậy X = AEC là một khoá của R

Tiếp theo ta viết L∩ R = CB

+ Với C ⊂ L∩ R :

X :=X \ C = AEB

X+ = (AEB)+ = AEBCGD = U+ Với B ⊂ L∩ R :

X :=X \ B = AEB \ B= AE

Trang 10

X+ = (AE)+ = AEGD ≠ UVậy X :=AE∪ B = AEB

Vậy X = AEB là một khoá của R

Tóm lại R có hai khoá là AEB và AEC

9 Thuật toán tìm mọi khoá của lược đồ quan hệ

9.1 Định lý( Luccheri – Orborn - 1979).

Cho lược đồ quan hệ R = (U, F), U = {A1,…,An}, F = {Li→Ri / Li, Ri⊆U,

i = 1,…,k

Gọi Қ là tập khác rỗng các khoá của R.

Điều kiện cần và đủ để họ 2U /Қ có chứa khoá của lược đồ quan hệ là:

(i) ∃K ∈Қ

(ii) ∃ phụ thuộc hàm Li0→Ri0∈ F sao cho:

Tập T = Li0 ∪ (K \ Ri0 ) không chứa phần tử nào của Қ

( 2U là ký hiệu tập các tập con của U )

Từ định lý trên ta có thuật toán tìm mọi khoá của lược đồ quan hệ như sau:

Vào: Lược đồ quan hệ R = (U, F)

Ra : Mọi khoá của R.

Phương pháp:

1 Tìm một khoá K của R ( theo thuật toán tìm một khoá đã biết )

Đặt Қ = {K}.

2 Với mỗi K ∈ Қ và với mỗi phụ thuộc hàm Li→Ri∈ F

Kiểm tra T = Li ∪ (k \ Ri ) có chứa phần tử thuộc Қ hay không?

(i) Nếu ∃T mà không chứa phần tử nào của Қ Ta sẽ xác định

khoá mới K~ trong siêu khoá T (theo thuật toán tìm khoá ) và

gán Қ = Қ ∪ {K~ }, quay lại bước 2

(ii) Nếu không tồn tại T như vậy thì kết luận K~ là tập tất cả các

Xét phụ thuộc hàm B→C∈ F, T = B ∪ (K \C) = AEB Không chứa phần tử

của Қ Ta tìm khoá K~ trong siêu khoá T = AEB Ta dễ dàng tìm được K~ = AEB

Trang 11

Қ = {AEC, AEB}, lặp lại quá trình này.

+ Với Қ = AEC

Xét phụ thuộc hàm B→C, T = B ∪ (K \C) = AEB Chứa phần tử của Қ

C→B, T = C ∪ (K \B) = AEC Chứa phần tử của Қ

A→GD, T = A ∪ (K \GD) = AEC Chứa phần tử của Қ + Với Қ = AEB

Xét phụ thuộc hàm B→C, T = B ∪ (K \C) = AEB Chứa phần tử của Қ

C→B, T = C ∪ (K \B) = AEC Chứa phần tử của Қ

A→GD, T = A ∪ (K \GD) = AEB Chứa phần tử của Қ Vậy: Қ = {AEC, AEB} là tập các khoá của R.

Ví dụ 2: Cho lược đồ quan hệ R = (U, F) U = {C,S,Z}, F = { CS→Z, Z→C }.

Z→C ∈ F, T = Z∪ { SC \ C } = SZ ∉ Қ

⇒ ~

K = SZ ⇒ Қ = {SC, SZ}.

+ Với K = SC Xét phụ thuộc hàm CS→Z∈ F, T = CS ∪ { SC \ Z } = SC ∈ Қ

Z→C ∈ F, T = Z∪ { SC \ C } = SZ ∈ Қ

+ Với K = SC Xét phụ thuộc hàm CS→Z∈ F, T = CS ∪ { SZ \ Z } = SC ∈ Қ

Z→C ∈ F, T = Z∪ { SZ \ C } = SZ ∈ Қ

Қ = {SC, SZ} là tập tất cả các khoá.

BÀI TẬP CHƯƠNG I

1 Cho lược đồ quan hệ R = (U, F), X ⊆ U, A∈ X

Chứng minh rằng: X \ {A}→ A ∈ F+ thì X không là khoá của R

Trang 12

2 Cho quan hệ r

1202

2121

0011

3230

1111

1101

R thoả mãn những phụ thuộc hàm sau đây:

eeccb

eeedcHãy tìm tất cả các phụ thuộc hàm được thoả bởi r

4 a Chứng minh rằng r thoả X → Y nếu và chỉ nếu X là khoá của XY(r)

b Khẳng định sau đây đúng hay sai

WY → Z và Z → X ⇒Z → Y

c Cho một quan hệ r trên lược đồ quan hệ R, A và B là các thuộc tính của R, X vàY là các tập con các thuộc tính của R Bằng suy diễn logic chứng minh rằng nếu quan hệ r thoả mãn phụ thuộc hàm A → X, Y → B và Y⊆X thì r cũng thoả A → B.

5 Viết thuật toán tính X+ theo ngôn ngữ tựa Pascal

6 Cho lược đồ quan hệ R = (U, F), U = { A, B, C, D, E, F, G },

F = { AB→C, AC→D, D→A, DC→EF, B→G } Hỏi AB, BD có phải là khoá của R không ?

7 Cho lược đồ quan hệ R và F là tập phụ thuộc hàm trên R Nếu F = Ø thì F+ = ?

8 Cho lược đồ quan hệ R, K là 1 khoá của R Chứng minh: X ∪ (K\Y) là siêu khoá của R

9 Viết thuật toán tìm 1 khóa của lược đồ quan hệ theo ngôn ngữ tựa Pascal.

10 Viết một thuật toán khác để tìm 1 khoá của lược đồ quan hệ

11 Chứng minh các tính chất sau đây:

a X ⊆X+

b X ⊂ Y⇒X+⊆ Y+

Trang 14

Chương II Phủ của tập phụ thuộc hàm và lý thuyết

phân tách

I Phủ của tập phụ thuộc hàm

I.1.Định nghĩa ( phụ thuộc hàm tương đương )

Cho F, G là tập phụ thuộc hàm trên cùa một lược đồ quan hệ F tương đương với

G, ký hiệu F≈G ⇔F+ = G+ Khi F tương đương G ta bảo F phủ G và G phủ F

Từ định nghiã ta có: F Và G tương đương khi và chỉ khi mỗi phụ thuộc hàm trong F đều phải được suy ra từ G và ngược lại

I.2 Kiểm tra tính tương đương giữa F và G.

- Với mỗi phụ thuộc hàm Y → Z ∈ F, ta kiểm tra xem Y → Z ∈G+ bằng cách tính Y+ đối với G

Nếu Z ⊆ +

G

Y ⇒Y → Z ∈ G+

- Nếu mọi phụ thuộc hàm ∈ G+ ⇒F⊆G+ ⇒F+⊆G+

Tương tự kiểm tra G+⊆F+

Nếu có F+⊆G+ và G+⊆F+ thì F≈G

I.3 Định nghĩa:Tập phụ thuộc hàm F là không dư thừa.

Vào: Tập phụ thuộc hàm F, Tập thuộc tính U

+ Fi = Fi-1 \ {Li→Ri } nếu phụ thuộc hàm Li→Ri là dư thừa trong

Fi-1 nghĩa là (Fi-1 \ {Li→Ri } += (Fi-1)+ )

+ Fi = Fi-1 nếu ngược lại

Cuối cùng tính được Fk

Lúc đó Fk là phủ không dư thừa của F

Chứng minh: Ta có ở bước i nếu phụ thuộc hàm Li→Ri là dư thừa thì ta đã loại nó Vậy F0≈F1≈F2≈…≈Fk

⇒ Fk tương đương F và không có phụ thuộc hàm dư thừa

Ví dụ: Cho U = {A, B, C}, F = { A→B, B→C, A→C }.

Tìm phủ không dư thừa của F?

Trang 15

Vậy F2 = F1

Bước 3: Ta có (F2 \ {A→C})+ = ( F2 )+

A→C dư thừa

⇒ F3 = F2 \ {A→C} = { A→B, B→C }

II Phủ tối thiểu

II 1 Bổ đề: Mọi tập phụ thuộc hàm F đều tồn tại tập phụ thuộc hàm G tương

đương F sao cho mọi phụ thuộc hàm trong G có nhiều nhất một thuộc tính ở vế phải

Chứng minh: Giả sử có tập phụ thuộc hàm F

Đặt G = {X→A / X→Y∈ F, A∈ Y}

Ta sẽ chứng minh: F+ = G+

Lấy phụ thuộc hàm X→A ∈ G và X→Y∈ F, A∈ Y

⇒X→A ∈ F+ Vậy G ⊆ F+ ⇒F+ ⊆ G+

Đảo lại: Lấy phụ thuộc hàm tuỳ ý: X→Y∈ F Giả sử Y = A1,…,Ak

⇒X→Ai∈ G với i = 1,…, k ⇒ X→A1, A2, …, Ak∈ G+

⇒F ⊆ G+ ⇒F+ ⊆ G+ Vậy F+ = G+

Ví dụ: F = {A→BC, B→DE, D→C}

⇒ G = {A→B, A→C, B→D, B→E, D→C}

G+ = F+

II.2 Định nghĩa tập phụ thuộc hàm tối thiểu

Tập phụ thuộc hàm F được gọi là tối thiểu nếu nó thoả mãn 3 điều kiên:

(i) Mọi phụ thuộc hàm f ∈ F đều có vế phải gồm đúng một thuộc tính.(ii) Tập thuộc tính U không có thuộc tính dư thừa nghĩa là:

∀X→A ∈ F, ∃ Z∈ X : ( F\ { X→A } ) ∪ ( Z→A )

tương đương F (không có thuộc tính dư thừa)

(iii) Tập thuộc tính F không có phụ thuộc hàm dư thừa

II.3 Định lý:

Mọi tập phụ thuộc hàm F đều có một phủ tối thiểu tương đương nó

Chứng minh: Theo bổ đề ở trên tồn tại một tập F1 tương đương F sao cho mọi phụ thuộc hàm thuộc F1 đều có vế phải có đúng một thuộc tính Vậy điều kiện (i) được thoả mãn Để thoả mãn điều kiện (ii) xét phụ thuộc hàm X→A ∈ F1 với X chứa nhiều hơn một thuộc tính ta sẽ giản ước một thuộc tính của X nếu tập phụ thuộc hàm sau khi giản ước vẫn còn tương đương F1 Vậy đến khi nào F1 không thể giản ước được nữa thì sẽ thu được phụ thuộc hàm F2 thoả điều kiện (ii)

III Lý thuyết phân tách

Ngày đăng: 01/08/2013, 05:41

HÌNH ẢNH LIÊN QUAN

Nếu trong quá trình biến đổi bảng ta phát hiện ra một dòng nào đó trở thành a1,a2, …,an thì kết luận ρ  là một phân tách có kết nối không mất thông tin - Bài soạn môn CSDL
u trong quá trình biến đổi bảng ta phát hiện ra một dòng nào đó trở thành a1,a2, …,an thì kết luận ρ là một phân tách có kết nối không mất thông tin (Trang 17)
sau khi biến đổi bảng với tất cả các phụ thuộc hàm trong F mà bảng cuối cùng không có dòng nào toàn kí hiệu a như vậy thì kết luận ρ  là một phân tách có kết  - Bài soạn môn CSDL
sau khi biến đổi bảng với tất cả các phụ thuộc hàm trong F mà bảng cuối cùng không có dòng nào toàn kí hiệu a như vậy thì kết luận ρ là một phân tách có kết (Trang 17)
- Với phụ thuộc hàm C→D ta có bảng: - Bài soạn môn CSDL
i phụ thuộc hàm C→D ta có bảng: (Trang 18)

TỪ KHÓA LIÊN QUAN

w