1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CHƯƠNG 5 LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ

17 6 0

Đ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 đề Lý Thuyết Thiết Kế Cơ Sở Dữ Liệu Quan Hệ
Tác giả Nguyễn Mai Hoa, Trần Mạnh Dũng
Trường học Đại học
Chuyên ngành Cơ sở dữ liệu
Thể loại bài giảng
Năm xuất bản 2009
Thành phố Hà Nội
Định dạng
Số trang 17
Dung lượng 238,2 KB

Nội dung

Trang 1 1CHƯƠNG 5LÝ THUYẾT THIẾT KẾ CƠ SỞDỮLIỆU QUAN HỆ2NỘI DUNGPhụthuộc hàm và lượcđồquan hệKhái niệm phụthuộc hàmLượcđồquan hệSuy dẫn logicBaođóng của tập phụthuộc hàmHệtiênđềArmstrong

Trang 1

CH ƯƠ NG 5

LÝ THUY Ế T THI Ế T K Ế

C Ơ S Ở D Ữ LI Ệ U QUAN H Ệ

2

N Ộ I DUNG

Phụthuộc hàm và lượcđồquan hệ Khái niệm phụthuộc hàm

Lượcđồquan hệ Suy dẫn logic Baođóng của tập phụthuộc hàm

HệtiênđềArmstrong Baođóng của tập thuộc tính Khóa của lượcđồquan hệ Phép tách lượcđồquan hệ Các dạng chuẩn

Chuẩn hóa lượcđồquan hệ

Đặ t v ấ n đề

Các v ấ n đề n ả y sinh v ớ i CSDL đượ c thi ế t k ế t ồ i:

D ư th ừ a d ữ li ệ u

D ị th ườ ng khi s ử a ch ữ a

D ị th ườ ng khi thêm b ộ

D ị th ườ ng khi xoá b ộ

Ví d ụ : CSDL g ồ m 1 quan h ệ :

4 3 1 Giải tích m2

2-9-85 Trần Mạnh Dũng

20091001

8 4 1 Đại số m1

2-9-85 Trần Mạnh Dũng

20091001

5 4 2 Giải tích m3

1-5-85 Nguyễn Mai Hoa

20091000

7 3 1 Giải tích m2

1-5-85 Nguyễn Mai Hoa

20091000

6 4 1 Đại số m1

1-5-85 Nguyễn Mai Hoa

20091000

DIEM TC

HK TENHP MAHP

NS HOTEN

MASV

Ph ụ thu ộ c hàm và l ượ c đồ quan h ệ

Khái ni ệ m ph ụ thu ộ c hàm

Đị nh ngh ĩ a Cho tập thuộc tính U hữu hạn khác ∅ Một

phụthuộc hàm trên U có dạng X →Y, X, Y ⊆ U (Y phụthuộc hàm vào X hay X quyết định Y, X là vế trái

và Y là vếphải của phụthuộc hàm) Cho R(U) Nói R thoảX →Y nếu∀u, v ∈ R mà u.X = v.X thì u.Y = v.Y

Kí hiệu R(f) - quan hệR thỏa phụthuộc hàm f

R thỏa tập phụthuộc hàm F nếu R(f), với∀f ∈F

kí hiệu R(F)

Trang 2

L ượ c đồ quan h ệ

Đị nh ngh ĩ a Lượcđồquan hệαlà cặp hai thành phần:

αααα= (U, F),

trongđó U là tập thuộc tính, F là tập phụthuộc hàm

Quan hệR(U) gọi là thuộc lượcđồ αnếu R(F)

Ví dụ: Cho lượcđồ α= (U, F) với

U = { MASV, HOTEN, NS, MAHP, TENHP, HK, TC, DIEM}

F = {MASV →{HOTEN, NS};

MAHP →{TENHP, HK, TC};

6

Suy d ẫ n logic

Đị nh ngh ĩ a Cho lượcđồquan hệα= (U, F);

f : phụthuộc hàm trên U

Nói f suy dẫn logic được từF nếu với mọi quan hệ R thuộc

α, R(F) thì R(f) Kí hiệu F ⊨f

Ví d ụ U = ABC; F = {A →B, B →C}

Chứng minh rằng F⊨A →C

R là một quan hệbất kì thuộc lượcđồα = (U, F), ta có R(F)

Ta sẽchứng minh R(A →C):

Giảsửu, v ∈ R mà u.A = v.A (1) và u.C≠v.C (2)

Vì R(A → B), (1) u.B = v.B u.C = v.C (vì R(B →C)) Mâu thuẫn với (2) Vậy u.C = v.C R(A →C)

7

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

Đị nh ngh ĩ a Baođóng của tập phụthuộc hàm F là:

F+ = { X →Y | F⊨X →Y}

Khi F = F+, nói F là họ đầyđủcác phụthuộc hàm

Tính ch ấ t:

F và G là 2 tập phụthuộc hàm trên tập thuộc tính U

1 F ⊆ F+

2 Tínhđơnđiệu

Nếu F ⊆G thì F+ ⊆G+

3 Tính lũyđẳng

F+ += F+

4 (FG)+ ⊇ F+G+

H ệ tiên đề cho các ph ụ thu ộ c hàm

H ệ tiên đề Armstrong (A 0 )

Cho lượcđồquan hệα = (U, F), X, Y, Z ⊆U

A1) Luật phản xạ(reflexity)

Nếu Y ⊆ X thì X →Y A2) Luật tăng trưởng (augmentation)

Nếu X →Y thì XZ →YZ A3) Luật bắc cầu (transitivity)

Nếu X →Y và Y →Z thì X →Z

Kí hiệu F⊢f : phụthuộc hàm fsuy dẫnđược từ F nhờ hệ tiênđềArmstrong (Bằng cách áp dụng các luật của A0)

F* = {f | F ⊢f}

Trang 3

Ví dụ Chứng minh {A →B, B →CD} ⊢AC →CD

(3) A →CD (1, 2, A3)

(4) AC →CD (3, A2) (||)

* Các quy t ắ c khác:

A4) Luật hợp (union rule)

Nếu X→Y, X→Z thì X→YZ

A5) Luật tựa bắc cầu (pseudo-transitivity rule)

Nếu X→Y, WY→Z thì WX→Z

A6) Luật tách (decomposition rule)

Nếu X→Y, Z⊆ Y thì X→Z

10

H ệ qu ả : (Hệquảquan trọng của luật hợp - tách)

GiảsửY = A1A2…Anthì:

X →Y ⇔X →Ai, ∀i = 1,2, n

*Định lý H ệ tiên đề A 0 là đúng và đầy đủ.

(i) A 0 đúng: F* F + (ii) A 0 đầy đủ: F* = F +

Chứng minh (i): Điều (i) có nghĩa:

Với F là một tập phụthuộc hàm, R là một quan hệbất kì

và R(F), nếu F ⊢X→Y thì F ⊨X→Y hay R(X→Y)

Chứng minh (ii): Do (i) đã có F* ⊆ F+ nên chỉ cần chứng minh F+ ⊆F* hay ∀X →Y ∈F+thì X→Y ∈F*

Ví dụ U = CTHRSG

F = { C→T, HT→R, HS→R, CS→G, HR→C}

Chứng minh CH → R và HS → U được suy dẫn từ F

nhờhệtiênđềArmstrong

Bài toán thành viên

Cho tập thuộc tính U, F là tập phụthuộc hàm trên U, f là

một phụthuộc hàm trên U Hỏi X→Y ∈F+hay không

Đị nh ngh ĩ a 3.5 Cho F là tập phụ thuộc hàm trên tập thuộc tính U, X⊆ U Baođóng của X đối với F là

X+ = {A ∈U | F ⊢X →A}

Trong ngữcảnh cụthểcó thểviết X+ thay cho X+

Ghi nh ớ :

- Cácđiều sau là tươngđương: F⊨ X →Y ⇔ X →Y ∈ F+

⇔F⊢X →Y ⇔Y⊆X+

F

X+= {A | F X →A} = {A| X →A ∈ F+}

Trang 4

Tính ch ấ t

U - tập thuộc tính; F - tập phụthuộc hàm trên U; X, Y ⊆U

1 Phản xạ: X ⊆X+

2 Tínhđơnđiệu: X ⊆Y thì X+ ⊆Y+

3 Tính luỹ đẳng: X+= ( X+)+= X+ +

4 (XY)+⊇X +Y+

5 (XY)+= (X+Y)+= (XY+)+

6 F ⊢X →Y ⇔Y ⊆ X+

7 X →Y ⇔Y+⊆X+

8 X →X+và X+→X

9 X+=Y+⇔X →Y và Y →X

14

Tính bao đ óng c ủ a t ậ p thu ộ c tính

U - tập hữu hạn các thuộc tính, X ⊆ U, F - tập phụthuộc hàm trên U

Phương pháp tính X+: Tính liên tiếp các tập thuộc tính X0, X1, Xi,

2 Xi+1= Xi∪Zi,với Zi= ∪Yjnếu Xj→Yj∈F và Xj⊆Xi

Vì X0 ⊆ X1 ⊆ X2 ⊆ ⊆ Xi⊆ ⊆ U, dãy đơnđiệu tăng và

bịchặn trên bởi U do đó∃i: Xi=Xi +1(*) Khiđó X+=Xi, với

i là sốnguyên nhỏnhất thỏa mãn (*)

Lưu ý: Một cải thiện của thuật toán: loại bỏmột phụ thuộc hàm sau khiđã dùng nó

Ví dụ Cho tập phụthuộc hàm

F ={AC →BE, ACE →DG, B →CE, ACD →EGH}

a Tính X+với X =A

b Chứng tỏ rằng ABC → EDH suy dẫn được từ F nhờ hệ

tiênđềA0

Khoá c ủ a l ượ c đồ quan h ệ

Đị nh nghiã Cho lượcđồquan hệα =(U, F), K ⊆U

K được gọi là khoá (key) của lượcđồαnếu:

ii) ∄K' ⊊K mà K' thoảmãn (i)

Nếu K chỉthoảmãn (i), K là siêu khoá (super key)

Ví dụ Xét lượcđồquan hệvới

U = {S#, SNAME, P#, PNAME, QTY}

F = {S# →SNAME, P# →PNAME, {S#, P#} →QTY}}

Lượcđồcó một khoá là {S#, P#}

Trang 5

Ví d ụ 1 Cho lượcđồα= (U, F) với

U = {MASV, HOTEN, NS, MAHP, TENHP, HK, TC, DIEM}

F = {MASV→{HOTEN,NS}; MAHP→{TENHP, HK, TC};

TENHP →MAHP; {MASV, MAHP} →DIEM}

Lượcđồαcó 2 khoá là {MASV, MAHP} và {MASV, TENHP}

Ví d ụ 2 U = CSZ; F = {CS→Z, Z→C}

Khoá là: CS và SZ

* Nh ậ n xét:

- Mọi lượcđồquan hệαđều có ít nhất một khoá

- Khoá của một lượcđồnói chung không duy nhất

- Các khoá không bao nhau

- Hợp của hai khóa là một siêu khoá, không là một khoá Giao

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

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

Output Một khoá K của lượcđồα= (U, F) Method

If (K \ {A})+= U then K := K \ {A}; endif;

Endfor;

End

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

Input U, F = {Li →Ri| i = 1,2, m}

Output Một khoá K của lượcđồα= <U,F>

Method

1 K := (U \ L1R1) ∪ L1;

/*GiảsửK= {A1, A2, ,An} */

2 For i := 1 to n do

If (K \ {Ai })+= U then K := K \ {Ai }; endif;

Endfor;

End

Algorithm KEY 3

Input U, F = {Li→ Ri| i = 1,2, m}

Output M ộ t khoá K c ủ a l ượ c đồ α = (U, F)

1 Tính giao c ủ a m ọ i khoá

If Iα+ = U then Return (Iα);

2 Tìm t ậ p P ⊆ Nαlà t ậ p các thu ộ c tính không thu ộ c khoá nào

3 M := (IαP) + \ Iα /* P ⊆ M ⊆ Nα*/

4 H := U \ M \ Iα

5 Xu ấ t phát t ừ Iαb ổ sung d ầ n các thu ộ c tính trong H cho đế n khi tìm đượ c m ộ t khoá K.

6 Return (K);

1

m

i

=

i

α

Trang 6

- Nếu H đủ nhỏ có thể tìm được tất cả các khoá của

lượcđồbằng thuật toán trên

- Nếu Iα+= U thì lượcđồcó khoá duy nhất là Iα

- Bước 3 trong thuật toán dựa vào tính chất sau:

Nếu X ⊆Iα, Y ⊆ Nα,P = (XY)+ \ X thì Y ⊆ P ⊆Nα

Ví d ụ Tìm khoá của lượcđồα= (U, F), với:

a) U = CSZ, F = {CS →Z, Z →C}

b) U = CTHRSG;

F = {C→T, HT→R, HS→R, CS→G, HR→C}

c) U = ABCDEGHIK

F = {ACH →BH, BH →ACD, ABCI →DIK,

ADEI →BGC, CGI →AEK, H →BC}

22

T ậ p t ố i thi ể u

Đị nh ngh ĩ a Tập phụ thuộc hàm F là tập tối thiểu (minimal) nếu:

1) Mỗi vế phải của mỗi phụ thuộc hàm trong F chỉ có 1

thuộc tính

2) ∄X →A ∈F sao cho F+= (F \ {X →A})+

. 3) ∄X →A ∈F mà F+= (F \ {X →A} ∪{Z →A})+,

với Z ⊂X

PH Ủ C Ủ A T Ậ P PH Ụ THU Ộ C HÀM

23

Ki ể m tra đ i ề u ki ệ n 2)

Với mỗi X →A ∈F, X →A là dưthừa, tức là F+= F1+,

trongđó

F1 = F \ {X →A} ⇔A ∈ X+

F1

Chứng minh:

(i) Nếu A ∈ X+

F1⇔X →A ∈F1+

Do (FG)+= (F +G)+= (FG+)+ nên

(F1 ∪{X →A})+= (F1+∪{X →A})+=(F1+)+,

hay F+ = (F1+)+= F1+

X →A là dưthừa

(ii) Nếu X →A là dưthừa, tức là F+= F1+

F1

Từ(i) và (ii) X→A là dưthừa A∈X+

Cách ki ể m tra đ i ề u ki ệ n 3)

Với mỗi X →A ∈F, B ∈X là dưthừa, tức là

F+= (F \ {X →A} ∪{Z →A})+, với Z = X \ {B}

⇔A ∈(X \ {B})+

F

Chứng minh:

(i) Nếu B là dưthừa, từF+= (F \ {X →A} ∪{Z →A})+

⇒ Z→A ∈F+ ⇒ A ∈Z+

F (ii) Nếu A ∈ Z+ ⇒Z →A ∈F+ Lại có: X ⊃ Z ⇒X →Z

⇒X →A ∈F+(luật bắc cầu)

Mọi phụthuộc hàm thuộc F+ mà suy dẫn được từX →A thì

cũng suy dẫn được từ Z → A nên có thể thay X→A bởi

Z→A hay B là dưthừa

Từ(i) và (ii) ta cóđiều phải chứng minh (||)

Trang 7

S ự t ươ ng đươ ng gi ữ a 2 t ậ p ph ụ thu ộ c hàm

Đị nh ngh ĩ a Cho F, G là 2 tập phụ thuộc hàm trên tập

thuộc tính U F và G là tươngđương nếu F+= G+

B ổ đề M ọi tập phụ thuộc hàm F đều tương đương với

một tập phụ thuộc hàm G mà vế phải của các phụ thuộc

hàm trong G bao gồm không quá 1 thuộc tính.

PH Ủ C Ủ A T Ậ P PH Ụ THU Ộ C HÀM

26

Chứng minh:

Xây dựng G là tập:

G = {X →Ai}, với mỗi X →Y ∈Fvà Y = {A1,…An}

Ta chứng minh F+= G+ (i) Chứng minh G+⊆F+

Do X →Y ⊢X →Ai(luật tách) nên G ⊆F+ suy ra G+⊆F+

(ii) Chứng minh F+⊆G+

Ta có {X →A1,… ,X →An} ⊢X →Y ∈F (luật hợp)

F ⊆ G+ F+⊆G+

.

Từ(i) và (ii) suy ra F+= G+ (||)

Ph ủ t ố i thi ể u (minimal cover)

Đị nh ngh ĩ a Cho F là một tập phụthuộc hàm Tập phụ

thuộc hàm G gọi là phủtối thiểu của F nếu:

1) G tươngđương F,

2) G là tập tối thiểu

Nhận xét:

- Luôn tìmđược ít nhất 1 phủtối thiểu cho F

- Một tập phụthuộc hàm F có thểcó nhiều phủtối thiểu

Thu ậ t toán Tìm một phủtối thiểu Algorithm Minimal Cover

Input F Output Tập G là phủtối thiểu của F Method

1 G := F;

2 Thay mỗi phụthuộc hàm X →{A1…An} ∈G bằng n

phụthuộc hàm X →A1, X →A2,…, X →An

3 For each X→A in G do

If X→A là dưthừa then G := G \ {X →A};

4 For each X →A in G do

For each B in X do

If B là dưthừa then

G := G \ {X→A} ∪{X \ {B} →A};

5 Return (G);

Trang 8

Ví d ụ 1:

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

Loại 2 phụthuộc hàm (theo thứtự):B→A, A →C

được phủtối thiểu {A →B, B →C, C →A}

Nếu loại B →C được phủtối thiểu:

{A →B, B →A, A →C, C →A}

Ví d ụ 2:

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

Có thể loại A hoặc B từ AB → C nhưng không thể loại

đồng thời cảhai

30

Ví d ụ 3:

F = { AB →C, C →A, BC →D, ACD →B, D →E,

D →G, BE →C, CG→B,CG →D, CE →A, CE →G}

Loại các phụthuộc hàm theo thứtự

ACD →B, CG →D, CE →A được phủtối thiểu là:

G = { AB →C, C →A, BC →D, D →E, D →G,

BE →C, CG →B, CE →G}

Nếu thứtựloại các phụthuộc hàm là: CE →A, CG → B và

loại A khỏi ACD →B (thay ACD → B bằng CD → B) được

kết quảlà:

G = { AB →C, C →A, BC→D, D →E, D →G,

BE →C, CD →B, CG →D, CE →G}

Hình chi ế u c ủ a t ậ p ph ụ thu ộ c hàm trên m ộ t t ậ p

thu ộ c tính

Cho tập phụthuộc hàm F trên tập thuộc tính U ,

Z ⊆U

ΠZ(F) = {X →Y ∈ F+| XY ⊆ Z}

Phép tách l ượ c đồ quan h ệ

Cho lượcđồquan hệα= (U, F) Phép tách lượcđồα

là thay αbằng tập các lượcđồ quan hệα1, α2,…, αk

sao cho: αi= <Ui, Fi>, i = 1,2, ,k,

trongđó Ui⊆U, và U1∪ U2 ∪ … ∪Uk= U

Fi= ∏Ui(F)

Ký hiệu phép tách làδ= [U1, U2,…,Uk]

U = {MASV, HOTEN, NS, MAHP, TENHP, HK, TC, DIEM}

F = {MSV →{HOTEN, NS};

MAHP →{TENHP, HK, TC};

Xét phép tách δ= [U1, U2, U3]:

U1= {MASV, HOTEN, NS}

U2= {MAHP, TENHP, HK, TC}

U3= {MASV, MAHP, DIEM}

F1 = {MASV →{HOTEN, NS}

F2 = {MAHP →{TENHP, HK, TC}}

F3 = {{MASV, MAHP} →DIEM

Trang 9

Cho lượcđồα= (U, F) với

U = CSZ; F = {CS →Z, Z →C}

Xét phép tách ρ= [CS, ZC]

U1= CS; F1= ∅

U2= ZC; F2= {Z→C}

Nhận xét:

- Với phép táchρ, F1∪F2⊬ F

- Với phép táchδ, F1∪F2∪F3⊢F

Phép tách b ả o toàn t ậ p ph ụ thu ộ c hàm

(Dependency Preservation)

Cho lượcđồ quan hệα= (U, F) và một phép táchδ=

[U1,…,Uk] củaα Khiđóδlà phép tách bảo toàn tập

phụthuộc hàm F nếu: ∪Fi ⊢F

34

Phép tách không m ấ t thông tin (Lossles - Join Decomposition)

Ví dụ: Quan hệT trên lượcđồ αsau khi tách và kết nối lại

có thểnảy sinh những bộmới:

T 1T 2{(a 1 , b 2 , c 2 ), (a 2 , b 2 , c 1 )}, trong đó (a 2 , b 2 , c 1 ) T

b 2 c 2

a 2 b 2

a 2 b 2 c 2

b 2 c 1

a 1 b 2

a 1 b 2 c 1

b 1 c 1

a 1 b 1

A 1 b 1 c 1

T 2 (B C)

T 1 (A B)

T (A B C)

Phép tách không m ấ t thông tin đả m b ả o 1 quan h ệ có th ể khôi ph ụ c

l ạ i t ừ các ph ầ n chi ế u c ủ a nó ( b ằ ng phép k ế t n ố i)

35

Đị nh ngh ĩ a

Phép tách δ = [U1, U2,…,Uk] của lược đồ quan hệ α =

(U, F) là không mất thông tin nếu với∀R thuộcα:

R = R1⋈ R2 ⋈ …⋈Rk, trongđó

Ký hiệu R1 ⋈R2⋈…⋈ Rk = mδ(R)

B ổ đề Cho lượcđồ quan hệα= (U, F) và phép tách δ

= [U1, U2,…,Uk] của lược đồ α Khi đó, với mọi quan hệ R

của lượcđồαta có:

1 R ⊆mδ(R)

2 Nếu S = mδ(R) thì với i = 1,2, ,k, ta có:

3 mδ(mδ(R)) = mδ(R)

k i

R R

i U

i = ∏ ( ) , = 1 , 2 , ,

i

U (S) U i(R)

36

Thu ậ t toán kiểm tra phép tách không mất thông tin Algorithm Lossles - Join Decomposition

Input Lượcđồquan hệα= (U, F) ,

U ={A1,…,An}, phép táchδ= [U1, U2,…Uk] Output Kết luận α có là phép tách có kết nối không

mất thông tin hay không Method

1 Xây dựng bảng n cột, k hàng, cột j ứng với thuộc tính Aj∈ U, hàng i ứng với lượcđồquan hệαi Ởhàng i,

cột j ghi kí hiệu:

+ aj nếu Aj∈ Ui + bij nếu Aj ∉ Ui

Trang 10

2 Biếnđổi bảng trên theo qui tắc:

•Với mỗi phụthuộc hàm X →Y ∈F

Xét các hàng, nếu có 2 hàng i, t giống nhau trên X thì làm

chúng giống nhau trên Y theo cách:

+ Nếu 1 trong 2 kí hiệu là ajthì thay kí hiệu kia là aj

+ Nếu 2 ký hiệu là bij và btj thì thay cả 2 ký hiệu là bij

hoặc btjđềuđược

•Quá trình dừng khi không làm thayđổi bảng được nữa

3 Xem bảng kết quả

Nếu xuất hiện 1 hàng gồm toàn kí hiệu a1, a2,…an thì

phép táchδlà có kết nối không mất mát thông tin (ngược

lại, δkhông là phép tách không mất thông tin)

38

Ví dụ1 α= (U, F) , U = SAIP, F = {S →A, SI →P}

δ= [U1, U2] , U1 = SA , U2 = SIP

Ví dụ 2 U = ABCDE, F = {C →D, A →C, B →C, DE →C,

CE →A}

δ= [AC, BC , CD, DEC, CEA)

Ví dụ 3 U = ABCDE, F = {C →D, A →C, B →C, , DE →C,

CE →A}

δ= [ AC, BC , CD, DEC, CEA, BE]

Đị nh lý.δ= [U1, U2] là phép tách củaα= (U, F)

δlà phép tách có kết nối không mất thông tin nếu

U1 ∩U2 →U1 \ U2 ∈ F+

(hoặc U1 ∩U2 →U2 \ U1 ∈F+)

Ví dụ1 α= (U, F) , U = SAIP, F = {S →A, SI →P}

δ= [U1, U2] , U1 = SA , U2 = SIP U1 ∩U2 = {S}; U1 \ U2 = {A}

D Ạ NG CHU Ẩ N

Dạng chuẩn 1 (1NF)

Dạng chuẩn 2 (2NF)

Dạng chuẩn 3 (3NF)

Dạng chuẩn Boyce−Codd (BCNF)

Dạng chuẩn 4

Dạng chuẩn 5

Trang 11

D ạ ng chu ẩ n 1 (1NF-The first normal form)

Lược đồ quan hệ α =(U, F) ở dạng chuẩn 1NF nếu mỗi

thuộc tính A∈U có miền trị chỉ chứa các giá trị nguyên

tố

Thuộc tính ‘không nguyên tố’ có thể là thuộc tính đa trị

(multivalued attribute) hoặc thuộc tính phức/ghép

(composite attribute) hoặc kết hợp 2 loại thuộc tính trên

42

Ví d ụ v ề l ượ c đồ không ở 1NF

Ví dụ1

Ví dụ2

S1 A Hà Nội (H1, 250)

S1 A Hà Nội (H2, 300)

S2 A Hà Nội (H1, 100) S3 B Hải Phòng (H3, 200)

Thu ộ c tính đ a tr ị

Thu ộ c tính ghép

Đư a quan h ệ ch ư a chu ẩ n hoá v ề d ạ ng chu ẩ n 1

Ví dụ1

1 Tách làm 2 quan hệ:

2 Quan hệS trởthành:

Khoá: {S#, CITY}

Nh ượ c đ i ể m: d ư th ừ a d ữ li ệ u

Đư a quan h ệ ch ư a chu ẩ n hoá v ề d ạ ng chu ẩ n 1

3 Biếnđổi quan hệS thành:

Trang 12

Đư a quan h ệ ch ư a chu ẩ n hoá v ề d ạ ng chu ẩ n 1

Cách 1: Biếnđổi thành một quan hệphẳng (flat

realation)

HSX(SHHSX, CQD, DCHI, SHMH, SL)

Nhượcđiểm: Dưthừa dữliệu

Cách 2: Đưa các thuộc tính lồng thành một quan hệmới

vàđược kết quảCSDL gồm 2 quan hệsau:

HSX(SHHSX, CQD, DCHI)

SX(SHHSX, SHMH, SL)

46

D ạ ng chu ẩ n 1

Lượcđồα= (U, F),

U = {SHHSX, CQD, DCHI, SHMH, SL}

F = {SHHSX →DCHI, DCHI →CQD, {SHHSX,

Nhận xét: -αở1NF

- Khoá duy nhất là {SHHSX, SHMH}

Các thuộc tính không khoá

Nα= {CQD, DCHI, SL}

Dưthừa dữliệu dẫnđến dịthường cập nhật, loại bỏ,

bổsung

D ư th ừ a d ữ li ệ u d ẫ n đế n d ị th ườ ng c ậ p nh ậ t, lo ạ i b ỏ , b ổ sung.

Đị nh ngh ĩ a Phụ thuộc đầy đủ (full functional dependency)

Cho phụ thuộc hàm X →Y, Y được gọi là phụ thuộc

đầy đủ vào X (hay X →Y là phụ thuộc hàm đầy đủ)

nếu !∃Z ⊂X mà Z →Y

Đị nh ngh ĩ a Lượcđồα= (U, F) ở2NF nếu:

+ αở1NF + Mọi thuộc tính không khoá phải phụ thuộc đầy

đủvào khoá

D ạ ng chu ẩ n 2 (2NF)

Ngày đăng: 25/01/2024, 18:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w