seminar ly thuyet chuan hoa v1.2

18
Lý thuyết chuẩn hoá Lý thuyết chuẩn hoá Huế, 09 2006. Đại Học Huế Trường Đại học Khoa học

Upload: hoang-chi-dung

Post on 24-May-2015

1.871 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Seminar   Ly Thuyet Chuan Hoa   V1.2

Lý thuyết chuẩn hoáLý thuyết chuẩn hoá

Huế, 09 2006.

Đại Học Huế

Trường Đại học Khoa học

Page 2: Seminar   Ly Thuyet Chuan Hoa   V1.2

Các dạng chuẩn của một lược đồ quan hệ

• Dạng chuẩn 1NF

• Dạng chuẩn 2NF

• Dạng chuẩn 3NF

• Dạng chuẩn BCNF

Page 3: Seminar   Ly Thuyet Chuan Hoa   V1.2

Dạng chuẩn 1NF

• Định nghĩa:

Một lược đồ quan hệ R được gọi là thuộc dạng chuẩn 1NF (ký hiệu: R 1NF) nếu mọi thuộc tính của lược đồ là nguyên tố.

Ví dụ:

Quy ước: Tất cả các lược đồ quan hệ được xét đều thuộc 1NF.

HotenDIACHI

Xa Huyen Tinh

A x y z

B u v z

Page 4: Seminar   Ly Thuyet Chuan Hoa   V1.2

Dạng chuẩn 2NF

• Định nghĩa: R 2NF

Lược đồ quan hệ R được gọi là 2NF nếu XA trên R (AX) thì:

- Hoặc: A là thuộc tính khóa

- Hoặc: X không là tập con thực sự của khóa

• Ví dụ:

Cho R = <U, F>, U = {A, B, C, D}

F = {ABC, CD} R là 2NF

F = {ABC, CA} R là 2NF

F = {ABC, AD} R không là 2NF

Page 5: Seminar   Ly Thuyet Chuan Hoa   V1.2

Dạng chuẩn 2NF

• Nhận xét:

1) Nếu mọi khoá của lược đồ quan hệ R chỉ có 1 thuộc tính thì R 2NF.

2) R 2NF XA F+, với X K (K là khóa của R) thì:

- hoặc A là thuộc tính khoá.

- hoặc A X (XA là phụ thuộc hàm tầm thường).

Page 6: Seminar   Ly Thuyet Chuan Hoa   V1.2

Dạng chuẩn 3NF

• Định nghĩa: R 3NF

Một lược đồ quan hệ R được gọi là ở dạng chuẩn 3NF nếu: XA trên R (A X) thì:

- Hoặc: A là thuộc tính khoá.

- Hoặc: X là siêu khoá.

Ví dụ: Cho R = <U, F>, với U = {A, B, C, D},

F = {ABC, CD} R không là 3NF.

F = {ABC, CA} R là 3NF.

Page 7: Seminar   Ly Thuyet Chuan Hoa   V1.2

Dạng chuẩn 3NF

Nhận xét:

1) Nếu R 3NF thì R 2NF

2) R 3NF không phụ thuộc bắc cầu:

XY F+ và YA F+ với:

+ X là khoá

+ Y không là siêu khoá

+ A là thuộc tính không khoá và A XY.

Hay: R3NF X_khoá Y, Y - X, mà YA_không khoá

Page 8: Seminar   Ly Thuyet Chuan Hoa   V1.2

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

• Định nghĩa: R BCNF

Lược đồ quan hệ R được gọi là BCNF nếu XA trên R (A X) thì:

- X là siêu khoá.

Ví dụ: Cho R = <U,F>, với U = {A, B, C, D},

F = {ABC, ABD} R là BCNF

Nhận xét: R BCNF R 3NF

1NF2NF3NFBCNF

Page 9: Seminar   Ly Thuyet Chuan Hoa   V1.2

Phân tách bảo toàn thông tin thành BCNF

Cho lược đồ quan hệ R = <U, F>, = (R1, R2, …, Rk) là phép tách bảo toàn thông tin của R theo F.

’ = (R11, R12) là phép tách bảo toàn thông tin của R1 theo R1

(F).

’’ = (R11, R12, R2, …, Rk) là phép tách bảo toàn thông tin của R theo F.

Định lý:

a./ Mọi lược đồ quan hệ chỉ có hai thuộc tính luôn là BCNF.

b./ Nếu R không là BCNF thì A, B U (A U) sao cho:

U\{AB} A.

Page 10: Seminar   Ly Thuyet Chuan Hoa   V1.2

Phân tách bảo toàn thông tin thành BCNF

Nhận xét:

- Nếu A, B U (A U) sao cho U\AB A thì R vẫn có thể là BCNF.

Ví dụ: Cho R = <U, F>, U = {A, B, C, D}

F = {ABC, ABD} R là BCNF

Vẫn tồn tại U\{CD} C

- Nếu không tìm được cặp A, B U: U\{AB} A thì R là BCNF.

Page 11: Seminar   Ly Thuyet Chuan Hoa   V1.2

Phân tách bảo toàn thông tin thành BCNF

Thuật toán:- Input: R = <U, F>- Output: = (R1, R2, …, Rk) sao cho Ri là BCNF, là BTTT- Method:

:=;While A,BU | A (U\{AB})+ do

beginChọn 1 cặp A, B | A (U\{AB})+;Y:=U \ B;While A,BY | A (Y\{AB})+ do

Y:=Y \ B; := Y;U:= U \ A;

end; := U;Return ;

Page 12: Seminar   Ly Thuyet Chuan Hoa   V1.2

Phân tách bảo toàn thông tin thành BCNF

Ví dụ: Cho R = <U, F>, U = {A, B, C, D, E, H, G}

F = {ABD, CD E, E B, EH G}, bảo đảm F là cực tiểu.

Page 13: Seminar   Ly Thuyet Chuan Hoa   V1.2

A B C D E H G

A B D E H G A B D H G A B D G A B D

D

C

D

E

D

H

D

G

A B D A B C E H G

A B C E G A B C E B C E B E

E

H

E

G

B

A

B

C

B E A C E H G

C E H G E H G

G

A

G

C

E H G A C E H

= { ABD, BE, EHG, ACEH }

F = {ABD, CD E, E B, EH G}Ví dụ:Ví dụ:

Page 14: Seminar   Ly Thuyet Chuan Hoa   V1.2

Phân tách bảo toàn thông tin thành 3NF

Thuật toán:- Input: R = <U, F>- Output: = (R1, R2, …, Rk) sao cho Ri là 3NF, là bảo toàn thông tin.- Method:

B1: Kiểm tra R 3NF? (không XY A?)- Nếu R 3NF thì dừng- Nếu R 3NF ( XY A) thì phân tách R thành 2 lược đồ

con: := (YA, U\A)

B2: Kiểm tra lần lượt các lược đồ con có thuộc 3NF không?- Nếu lược đồ con nào không thuộc 3NF thì ta phân tách tiếp

(theo quy tắc được chỉ ra trong B1)Cuối cùng chúng ta sẽ có một cây phân tách (cây nhị phân) mà các nút lá là các lược đồ con thuộc 3NF.

-------------------------------------------Nhận xét: Phân tách thu được dựa vào thuật toán trên là bảo toàn thông tin và các lược đồ là thuộc 3NF.

Page 15: Seminar   Ly Thuyet Chuan Hoa   V1.2

Phân tách bảo toàn thông tin thành 3NF

Ví dụ: Cho NKBH = <U, F>,

U = {STT, NGAY, MH, TH, ĐG, SL},

F = {STTU, MHTH, MHĐG}

Ta có: STT là khóa duy nhất của lược đồ NKBH

- Ta thấy {STT} {MH, TH} ĐG = ({MH, TH, ĐG}, {STT, NGAY, MH, TH, SL})

3NF 3NF

{MH, TH} {STT, NGAY, MH, SL}

= ({MH, TH, ĐG}, {STT, NGAY, MH, SL})

Page 16: Seminar   Ly Thuyet Chuan Hoa   V1.2

Phân tách bảo toàn TT & PTH thành 3NF

Thuật toán:- Input: R = <U, F>- Output: = (R1, R2, …, Rk) sao cho Ri là 3NF, là bảo toàn

PTH.- Method:

B1: - Tìm phủ cực tiểu G của F- :=;

B2: -Tìm một khoá K bất kỳ của R, := {<K, K(F)>}

B3: - Với mỗi các phụ thuộc hàm có dạng XA1, XA2, …, XAk, thì tạo thành một lược đồ R’ có U’ = XA1A2…Ak:

:= {R’}

B4: - Nếu Ri, Rj mà Ui Uj thì loại Ri ra khỏi .

Page 17: Seminar   Ly Thuyet Chuan Hoa   V1.2

Phân tách bảo toàn TT & PTH thành 3NF

Nhận xét:- Thuật toán trên là không duy nhất do cách xác định phủ cực tiểu là không duy nhất.Ví dụ: Cho R = <U, F>, U = {A, B, C, D, E, G, H}F = {ABC, ABD, CB, CDE} là cực tiểu.- ABGH là một khoá của R.

= (ABGH)- Bổ sung các lược đồ thông qua các phụ thuộc hàm:

= (ABCD, CB, CDE, ABGH)- Loại CB ra khỏi .

= (ABCD, CDE, ABGH)

Page 18: Seminar   Ly Thuyet Chuan Hoa   V1.2

Nhóm thực hiện

• Lê Quang Chiến

• Trần Tấn Từ

• Võ Hoài Trung

• Trương Khắc Tùng

• Quách Xuân Hưng

Chân thành cảm ơn cả lớp!

Hẹn gặp lại lần sau!

^_^ V