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 1Chươ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 230 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 3Vì 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 4Ta 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 5Nhậ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 6Nhậ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 7Vậ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 8F* = 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 9Chứ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 10X+ = (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 122 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 14Chươ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 15Vậ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