22
LÝ THUYẾT CHUẨN HOÁ Nhóm 4 Trần Tấn Từ Lê Quang Chiến Trương Khắc Tùng Quách Xuân Hưng Võ Hoài Trung

Baocao Chuanhoa

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Baocao Chuanhoa

LÝ THUYẾT CHUẨN HOÁ

Nhóm 4 Trần Tấn Từ Lê Quang Chiến Trương Khắc Tùng

Quách Xuân Hưng Võ Hoài Trung

Page 2: Baocao Chuanhoa

Chuẩn hoá là gì ?

Cho lược đồ quan hệ R = <U, F>, 1 phân tách còn được xem là có ý nghĩa nếu nó giảm được dư thừa dữ liệu. Lý thuyết chuẩn hoá sẽ xác định các dạng chuẩn của 1 lược đồ quan hệ.

Quá trình phân tách 1 lược đồ thành các lược đồ con sao cho các lược đồ con đều thuộc 1 dạng chuẩn nào đó được gọi là quá trình chuẩn hoá.

Page 3: Baocao Chuanhoa

Các dạng chuẩn lược đồ quan hệ

Dạng chuẩn 1NF Dạng chuẩn 2NF Dạng chuẩn 3NF Dạng chuẩn BCNF Dạng chuẩn 4NF Dạng chuẩn 5NF

Phụ thuộc đa trị

Phụ thuộc kết nối

Page 4: Baocao Chuanhoa

Dạng chuẩn 1NF

Định nghĩa: Một lược đồ R được gọi là thuộc dạng chuẩn 1NF (ký hiệu: R 1NF) nếu miền giá trị của các thuộc tính trong R chỉ chứa những giá trị nguyên tố (không thể phân chia được nữa)

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

Page 5: Baocao Chuanhoa

Dạng chuẩn 2NF

Các khái niệm

- Định nghĩa 1 (thuộc tính khoá) :

Cho R= <U, F>. Khi đó, thuộc tính A được gọi là thuộc tính khoá nếu A thuộc khoá K nào đó của R.

- Ví dụ R = <U, F>, với U = ABCD

F = {AB C, C D}

K = {AB} R có 2 thuộc tính khoá: A và B

và R có thuộc tính không khoá : C và D

Page 6: Baocao Chuanhoa

Dạng chuẩn 2NF (tiếp)

- Định nghĩa 2 (Phụ thuộc hàm đầy đủ) : Cho R = <U, F>. Khi đó, X Y F được gọi là 1 phụ thuộc hàm đầy đủ nếu : Z X sao cho ZY F+

Nhận xét: Nếu X U F+ là 1 phụ thuộc hàm đầy đủ khi X là khoá của R.

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

với U = {NG, SP, MH, ĐG, SL}

F = {SP, MHU, MHĐG}

{SP, MH} ĐG F+ không là phụ thuộc hàm đầy đủ

(vì MH {MH, SP}: MH ĐG F+)

Page 7: Baocao Chuanhoa

Dạng chuẩn 2NF (tiếp)

- Định nghĩa 2NF : Cho R = <U, F>. Khi đó, R được gọi là thuộc 2NF (ký hiệu: R 2NF) nếu với mọi thuộc tính không khoá A là phụ thuộc hàm đầy đủ vào mọi khoá của R.

(A - không khoá, X K: X A F+ là phụ thuộc hàm đầy đủ)

Ví dụ: Xét lược đồ quan hệ nêu trên NKBH có 2 thuộc tính khoá: SP và MH. Suy ra các thuộc tính không khoá: NG, ĐG, SL.

Theo trên ta có : {SP, MH} ĐG F+ không là phụ thuộc hàm đầy đủ.

NKBH 2NF

Page 8: Baocao Chuanhoa

Dạng chuẩn 2NF (tiếp)

- Nhận xét:

+ Nếu mọi khoá của lược đồ quan hệ R chỉ có

1 thuộc tính thì R thuộc 2NF.

+ Ta có thể chứng minh rằng :

R 2NF XA F+, với X K ( K là khoá 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 9: Baocao Chuanhoa

Dạng chuẩn 3NF

- Định nghĩa: (R 3NF)

Cho R = <U, F>. Khi đó R được gọi là thuộc

3NF (ký hiệu: R 3NF) nếu XA F+ với A X thì:

+ Hoặc X là siêu khoá

+ Hoặc A là thuộc tính khoá

- Ví dụ:

NKBH = <U, F>, với U = {STT, NGAY, MH, TH, ĐG, SL},

F = {STTU, MHTH, MHĐG}

NKBH 2NF (do lược đồ có 1 khoá duy nhất là STT chỉ có 1 thuộc tính) nhưng NKBH 3NF vì :

Page 10: Baocao Chuanhoa

Dạng chuẩn 3NF (tiếp)

NKBH có: K = {STT}

Ta có MH TH F+ nhưng: + MH không là siêu khoá

+ TH không là thuộc tính khoá

- Phân tách NKBH thành 2 lược đồ con:

+HANG = <U1, F1>, với U1 = {MH, TH, ĐG} và F1 = {MH U1}

+NK = <U2, F2>, với U2 = {STT, NGAY, MH, SL} và F2 = {STT U2} rõ ràng HANG và NK thuộc dạng chuẩn 3NF

Page 11: Baocao Chuanhoa

Dạng chuẩn 3NF (tiếp)

- Nhận xét :

+ Nếu R 3NF thì R 2NF.

+ Ta có thể chứng minh rằng: . R 3NF phụ thuộc bắc cầu:

X Y F+ và Y A F+

với: + X là khoá (X_khoá)

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

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

Hay:. R 3NF X_khoá Y, mà Y A_không khoá

Page 12: Baocao Chuanhoa

Thuật toán 1: Phân tách thành các lược đồ con 3NF bảo toàn thông tin

Vào: R = <U, F>Ra: = (R1, R2, …, Rk) với Ri 3NF (i = )

và là bảo toàn thông tin.Phương pháp:

Bước 1: Kiểm tra R 3NF? ( XY A?) Nếu R 3NF: không phân tách và dừngNếu R 3NF: ( XY A) phân tách R thành 2 lược đồ con: = (YA, U\A)

Bước 2: Kiểm tra lần lượt các lượt các lược đồ con có thuộc 3NF không, nếu không thuộc thì lại phân tách tiếp cho đến khi nào tất cả các lược đồ con đều thuộc dạng chuẩn 3NF. Bấy giờ chúng ta sẽ có 1 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.

1,k

Page 13: Baocao Chuanhoa

Thuật toán 1: Phân tách thành các lược đồ con 3NF bảo toàn thông tin (Tiếp)

procedure Phantach(U, F);begin

if ( XY A (phụ thuộc bắc cầu)) thenbegin

Phantach(YA,F1);Phantach(U\A,F2);

end;end;

Lưu ý: Nếu phân tách = (U1, …, Un) tồn tại Ui là tập

con của Uj (i j) thì ta loại bỏ lược đồ tương ứng với

tập thuộc tính Ui.

Page 14: Baocao Chuanhoa

Thuật toán 1: Phân tách thành các lược đồ con 3NF bảo toàn thông tin (Tiếp)

Ở ví dụ trên {STT} {MH, TH} ĐG

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

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

3NF 3NF

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

Lưu ý: Thuật toán trên không duy nhất

Page 15: Baocao Chuanhoa

Thuật toán 2: Phân tách 3NF bảo toàn thông tin và bảo toàn phụ thuộc hàm

Vào : R = <U, F>Ra: = (R0, R1, R2, …, Rk) với Ri 3NF (i = )

là bảo toàn thông tin và bảo toàn phụ thuộc hàm.Phương pháp: Bước 1: Xác định phủ tối thiểu của F:

F’ = {Xi Ai | i = }Bước 2: Tìm 1 khoá X bất kì của R.Bước 3: Xác định lược đồ con R0 =<U0, F0> với U0 = XBước 4: Lần lượt xác định các lượt đồ con Ri = <Ui, Fi> với Ui = XiAi (i = )Bước 5: Nếu i j mà Ui Uj (i, j = ) thì loại bỏ Ri.Quá trình này sẽ tiếp tục cho đến khi không thể loại bỏ được một Ri nào nữa.

0,k

1,m

1,m0,m

Page 16: Baocao Chuanhoa

Thuật toán 2: Phân tách 3NF bảo toàn thông tin và bảo toàn phụ thuộc hàm (tiếp)

Ví dụ:

Cho R = <U,F>

với U = ABCD, F = {AB, BC, CDA, ACD}

Bước 1: Ta có 1 phủ tối thiểu của F là:

F = {AB, BC, CDA, AD}

Bước 2: Ta có A là 1 khoá của R.

Bước 3: R0 = <U0, F0> với U0 = A , F0 = Bước 4:

R1 = <AB, {AB }>

R2 = <BC, {BC}>

R3 = < ACD, {CDA, AD, AC}>

R4 = <AD, {AD}>

Bước 5: Loại R0 và R4

Kết luận: = (AB, BC, ACD)

Page 17: Baocao Chuanhoa

Dạng chuẩn BCNF

Định nghĩa: (R BCNF)

Cho R = <U, F>. Khi đó: R BCNF XA F+ với A X thì: X là siêu khoá.

Ví dụ: Cho R = <U, F>, với U = CSZ và F = {CSZ, ZC}

Xét r R:

=> Dư thừa dữ liệu

r = CVNVNMỹMỹMỹMỹX

SHueHNABCDA

Z84841122

99

Page 18: Baocao Chuanhoa

Dạng chuẩn BCNF (tiếp)

= rC

VNMỹMỹX

Z

8412

99

S

HueHNABCDA

Z

84841122

99

Không dư thừa

Không dư thừa

Rõ ràng R 3NF (vì R có 2 khoá: CS và SZ), nhưng R vẫn dư thừa.

Page 19: Baocao Chuanhoa

Ở ví dụ trên R BCNF vì ZC F+ với Z không là siêu khoá.

Nhưng:

R1 = <U1, F1> với U1 = CZ và F1 = {Z C}

R2 = <U2, F2> với U2 = SZ và F2 =

Ta có R1, R2 BCNF.

Nhận xét:

R BCNF R 3NF

Ta có thuật toán để phân tách 1 lược đồ quan hệ thành các lược đồ

con thuộc BCNF và phân tách này bảo toàn thông tin như sau:

Dạng chuẩn BCNF (tiếp)

Page 20: Baocao Chuanhoa

Vào: R = <U, F>Ra: = (R1, R2, …, Rk) với Ri BCNF (i = )

là bảo toàn thông tinPhương pháp: Dựa vào giải thuật sau:

procedure PT(U,F)beginif ( XA F+ với AX và X không là siêu khoá) thenbegin

PT(XA,F1);PT(U\A,F2);

end;end;

Thuật toán để phân tách 1 lược đồ quan hệ thành các lược

đồ con thuộc BCNF bảo toàn thông tin

1,k

Page 21: Baocao Chuanhoa

Người ta đã chứng minh: không tồn tai 1 giải thuật phân tách 1 lược đồ quan hệ thành các lược đồ con thuộc BCNF vừa bảo toàn thông tin vừa bảo toàn phụ thuộc hàm

Page 22: Baocao Chuanhoa

XIN CHÂN THÀNH

CÁM ƠN !