c4 1

53
Phụ thuộc hàm và Phụ thuộc hàm và Chuẩn hóa CSDL quan hệ Chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu 03:28 sáng 1 Khoa CNTT

Upload: tran-thanh

Post on 23-Dec-2014

725 views

Category:

Education


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: C4 1

Phụ thuộc hàm và Phụ thuộc hàm và Chuẩn hóa CSDL quan hệChuẩn hóa CSDL quan hệ

Nhập môn Cơ sở Dữ liệu

07:10 sáng 1Khoa CNTT

Page 2: C4 1

• Một số vấn đề lý thuyết thiết kế để có lược đồ Một số vấn đề lý thuyết thiết kế để có lược đồ tốt.tốt.

• Một lược đồ tốt được thể hiện qua2 mức:Một lược đồ tốt được thể hiện qua2 mức:o Mức khái niệm (hay logic):ngữ nghĩa rõ Mức khái niệm (hay logic):ngữ nghĩa rõ

ràng,dễ hiểu, chính xác...ràng,dễ hiểu, chính xác...o Mức cài đặt: các bộ được lưu trữ như thế Mức cài đặt: các bộ được lưu trữ như thế

nào..nào..• Lý thuyết chuẩn hóa (dựa trên phụ thuộc hàm, Lý thuyết chuẩn hóa (dựa trên phụ thuộc hàm,

…) sẽ là nền tảng cơ sở để thực hiện việc phân …) sẽ là nền tảng cơ sở để thực hiện việc phân tích và chuẩn hóa lược đồ.tích và chuẩn hóa lược đồ.

Nhập môn Cơ sở Dữ liệu

07:10 sáng 2Khoa CNTT

Phụ thuộc hàm và chuẩn hóa CSDL quan hệ

Page 3: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

Sự dư thừa và dị thường dữ liệu

Phụ thuộc hàm

Hệ suy diễn Amstrong

Thuật toán tìm bao đóng X+F

Tìm phủ tối thiểu

Các dạng chuẩn

Nội dung chính

07:10 sáng 3Khoa CNTT

Page 4: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

4.1 - Sự dư thừa và dị thường dữ liệu

07:10 sáng 4Khoa CNTT

Ví dụ 1: NHANVIEN_PHONG

Dư thừa về Đơn vị / Người quản lý

Page 5: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

4.1 - Sự dư thừa và dị thường dữ liệu

07:10 sáng 5Khoa CNTT

Ví dụ 2 Dư thừa

Page 6: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

4.1 - Sự dư thừa và dị thường dữ liệu

07:10 sáng 6Khoa CNTT

Ví dụ 3

Dư thừa

Page 7: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

4.1 - Sự dư thừa và dị thường dữ liệu

07:10 sáng 7Khoa CNTT

Sự phụ thuộc lẫn nhau giữa các thuộc tính

Ví dụ:

Điểm các môn học Điểm trung bình xếp loại

Mã phòng ->Tên phòng, người quản lý

Thuộc tính đa trị trong lược đồ ER nhiều bộ

Ví dụ:

NHANVIEN(TENNV, HONV, NS,DCHI,GT,LUONG, BANGCAP)

Tại sao có sự dư thừa ??

Page 8: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 8Khoa CNTT

4.1 - Sự dư thừa và dị thường dữ liệu

1. Lãng phí không gian nhớ

2. Dị thường cập nhật:

• Thao tác sửa đổi: cập nhật tất cả các giá trị, bộ liên quan

• Thao tác xóa: người cuối cùng của đơn vị mất thông tin về đơn vị

• Thao tác chèn

Page 9: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 9Khoa CNTT

4.2- Một số nguyên tắc thiết kế lược đồ

Nguyên tắc 1: Rõ ràng về ý nghĩa (quan hệ, thuộc tính), tránh các phụ thuộc (về ý nghĩa) giữa các thuộc tính với nhau

Mỗi lược đồ quan hệ tương ứng với một kiểu thực thể hoặc một liên kết

Nguyên tắc 2: Tránh các khả năng phát sinh dị thường cập nhật trong các quan hệ

Tránh dư thừa, trùng lặp thông tin. Nếu có xuất hiện dị thường phải đảm

bảo thao tác cập nhật thực hiện đúng đắn

Nguyên tắc 3: Tránh đặt các thuộc tính có nhiều giá trị Null

Nguyên tắc 4: Các lược đồ quan hệ kết nối với điều kiện bằng trên các thuộc tính nên là khoá chính hoặc khoá ngoài theo cách đảm bảo không sinh ra các bộ “giả”

Page 10: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 10Khoa CNTT

4.3 – Phụ thuộc hàm

Định nghĩa:

Cho lược đồ quan hệ R; X, Y là các tập thuộc tính trên R.

Ta nói Y phụ thuộc hàm vào X hay X xác định hàm Y ; X gọi là vế trái,

Y là vế phải của phụ thuộc hàm

Một phụ thuộc hàm giữa X và Y được kí hiệu XY là một ràng buộc:

Với mỗi thể hiện r của lược đồ quan hệ R, với 2 bộ bất kỳ t1 và t2 trong r

nếu có t1[X]= t2[X] thì t1[Y]=t2[Y]

(tức là 2 bộ bất kỳ bằng nhau trên X thì cũng bằng nhau trên Y)

Phụ thuộc hàm là tính chất ngữ nghĩa trên các thuộc tính của lược đồ, được xác định khi thiết kế chứ không suy đoán trên một thể hiện của lược đồ

Page 11: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 11Khoa CNTT

4.3 – Phụ thuộc hàm

Ví dụ:

SINHVIEN(Masv, Ho, Dem,Ten, Ngaysinh, Noisinh, Lop)

Phụ thuộc hàm: Masv Ho, Dem,Ten, Ngaysinh, Noisinh, Lop

SINHVIEN_DIEM(Masv,Mamon, Ngaythi, Diem)

Phụ thuộc hàm Masv,Mamon Diem

MUON(Sothe, Masach, Tennguoimuon, Tensach, Ngaymuon, Ngaytra)

Với các phụ thuộc hàm:

Sothe Tennguoimuon

Masach Tensach

Sothe,Masach, Ngaymuon Ngaytra

Page 12: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 12Khoa CNTT

4.3 – Phụ thuộc hàm

Thể hiện phụ thuộc hàm trên lược đồ

Sothe Masach Tennguoimuon

Tensach

Ngaymuon

Ngaytra

Masv Mamon Diem

SINHVIEN_DIEM

MUON

Page 13: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 13Khoa CNTT

4.4 – Quy tắc suy diễn Phụ thuộc hàm

Cho lược đồ R (A), F là tập các phụ thuộc hàm;

XY gọi là suy diễn được từ F , nếu với mọi thể hiện r của

R thỏa mãn các phụ thuộc hàm F thì XY cũng đúng trong r

Kí hiệu F |= XYVí dụ: MUON(Sothe, Masach, Tennguoimuon, Tensach, Ngaymuon,

Ngaytra)

F = { Sothe Tennguoimuon; Masach Tensach;

Sothe,Masach Ngaymuon , Ngaytra }

F |= Sothe,masach Tensach, Ngaytra

Page 14: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

14Khoa CNTT

4.4 – Quy tắc suy diễn Phụ thuộc hàm

Quy tắc 1 (quy tắc phản xạ) : Nếu X Y thì X Y

Quy tắc 2 (quy tắc tăng) : { X Y } |= XZ YZ

Quy tắc 3 (quy tắc bắc cầu): { X Y, Y Z } |= X Z

Quy tắc 4 (quy tắc chiếu) : { XYZ } |= {X Y, X Z}Quy tắc 5 (quy tắc hợp) : { X Y , X Z } |= X YZ

Quy tắc 6 (quy tắc tựa bắc cầu): {XY,WYZ }|=WX Z

Quy tắc suy diễn Amstrong: Tập các quy tắc 1 -3

Page 15: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 15Khoa CNTT

4.4 – Quy tắc suy diễn Phụ thuộc hàm

Quy tắc 1 (quy tắc phản xạ) : Nếu X Y thì X Y

Chứng minh

Giả sử : t1 và t2 là 2 bộ bất kỳ trên r, với r là thể hiện của R, và X Y Ta có:

Nếu t1[X]= t2[X], vì X Y nên suy ra t1[Y]=t2[Y]

theo định nghĩa ta có X Y

Page 16: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 16Khoa CNTT

4.4 – Quy tắc suy diễn Phụ thuộc hàm

Quy tắc 2 (quy tắc tăng) : { X Y } |= XZ YZ

Phản chứng: Giả sử có X Y nhưng XZ YZ không đúng.

Chứng minh

tức là : t, s và nếu t[X] = s[X] t[Y] = s[Y]; t[XZ] = s[XZ]

nhưng t[YZ] <> s[YZ]

từ t[X] = s[X] và t[XZ] = s[XZ] t[Z] = s[Z]

do t[Y] = s[Y] và t[Z] = s[Z] t[YZ] = s[YZ]

mẫu thuẫn với giả thiết phản chứng

Quy tắc 2 đúng.

Page 17: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 17Khoa CNTT

4.4 – Quy tắc suy diễn Phụ thuộc hàm

Quy tắc 3 (bắc cầu): { X Y, Y Z } |= X Z

với t, s bất kỳ, nếu t[X] = s[X], cần chứng minh t[Z] = s[Z]

Chứng minh

Do X Y nên nếu t[X] = s[X] ta có t[Y] = s[Y]

Do Y Z, t[Y] = s[Y] nên t[Z] = s[Z]

Vậy nếu t[X] = s[X] ta có t[Z] = s[Z]

tức là X Z

Page 18: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 18Khoa CNTT

4.4 – Quy tắc suy diễn Phụ thuộc hàm

Quy tắc 4 (quy tắc chiếu): { XYZ } |= {X Y, X Z}Chứng minh

Theo quy tắc 1: ta có YZ Y,

YZ Z

Theo giả thiết ta có X YZ X Y

X Z

Vậy ta có { XYZ } |= {X Y, X Z}

Page 19: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 19Khoa CNTT

4.4 – Quy tắc suy diễn Phụ thuộc hàm

Chứng minh Quy tắc 5 (quy tắc hợp): { X Y , X Z } |= X YZ

Theo QT 2 ta có X YX và XY YZ

Theo QT 3 ta có X YZ

Chứng minh Quy tắc 6 (tựa bắc cầu): {XY, WYZ }|=WX Z

Theo QT 2 ta có WX WY

kết hợp với WYZ ta có WX Z

Page 20: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 20Khoa CNTT

4.4 – Quy tắc suy diễn Phụ thuộc hàm

Quy tắc 4-6 có thể suy dẫn từ tập quy tắc Amstrong

Định lý: Quy tắc Amstrong là đúng và đầy đủ.

Tức là nếu F bao f, thì f có thể suy diễn được từ F sử dụng hệ các quy tắc suy diễn Amstrong

Page 21: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 21Khoa CNTT

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

Đinh nghĩa: Cho lược đồ R (A), F là tập các phụ thuộc hàm;

Tập tất cả các phụ thuộc hàm suy ra được từ F gọi là bao

đóng của F, được kí hiệu là F+

Tức là F+ = F { f , F |= f}

Ví dụ :

F = {X Y , Y Z }

Thì F+ = {X Y , Y Z , X Z , X YZ}

Page 22: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 22Khoa CNTT

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

ví dụ: BANGDIEM(Masv, Dtoan, Dtin, Dtb, Xeploai)

F= {Dtoan, DtinDtb; DtbXeploai}

F += {Dtoan, DtinDtb; DtbXeploai, Dtoan, Dtin

Xeploai}

Xác định bao đóng ?

Page 23: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 23Khoa CNTT

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

ví dụ: F= {ABC; AD, D E}

F+= F {A E, AB BD, ABBCD, BCDBCDE,

ABCDE }

Xác định F+

Page 24: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 24Khoa CNTT

Ví dụ: DA(Manv, Hoten,Mada, Tenda, DD, Sogio}

F ={ Manv ->Hoten; Mada->Tenda, DD; Manv, Mada->Sogio}

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

X+F = { A U sao cho X A F+}

{Manv}+ =

Định nghĩa : Cho lược đồ quan hệ R (U), tập phụ thuộc hàm F; X là một tập thuộc tính của R; gọi X+ là bao đóng của X theo

F

{Manv, Hoten}

{Mada}+ =

{Mada, Tenda,DD}

{Manv, Mada}+ =

{Manv,Hoten, Mada, Tenda,DD,Sogio}

Page 25: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 25Khoa CNTT

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

Bổ đề: X Y được suy diễn từ tập phụ thuộc hàm F theo quy tắc

Amstrong khi và chỉ khi Y X+F

Ví dụ: Cho F={ AB C, A D, D E, AC B}

Xác định các bao đóng sau:

A+ =

AB+ =

B+ =

D+ =

F |= AB E ? F |= DC ? F |= AD CDE ? F |=AB CDE

{A, D,E }

{A, B, C, D, E }

{B}

{D, E}

AD+ = {A, D, E}

Page 26: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 26Khoa CNTT

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

Ví dụ 2: Cho F ={ A B, C DE, AC F}

Xác định các bao đóng sau:

A+ =

C+ =F |= A E ?

F |= ACBDF ?

{A, B }

{C, D, E }

AC+ = {A, B,C, D, E, F}

Page 27: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 27Khoa CNTT

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

Thuật toán tìm bao đóng X+

F

X+ = X;Repeat

Old X+ = X+ ;

Với mỗi phụ thuộc hàm Y Z trong F

thực hiện nếu X+ Y thì X+ = X+ Z;

until ( X+ = Old X+ );

Page 28: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 28Khoa CNTT

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

Ví dụ 1: Tìm bao đóng của AB với các phụ thuộc hàm sau

- Khởi tạo: X+ ={AB}

- Dùng (a): X+ ={ABC}

- Dùng (b): X+ ={ABCD}

- Dùng (c): X+ ={ABCDE}

- Dùng (d): X+ ={ABCDE}

Page 29: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 29Khoa CNTT

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

Tìm {ABC}+

Ví dụ 2: Cho F ={ A D, E H , AB DE, CE G}

Đặt X = {ABC} (Lặp: ) Old X = X+

với A D ta có X+ = {ABCD} với E H ta có X+ = {ABCD} với AB DE ta có X+ = {ABCDE} với CE G ta có X+ = {ABCDEG} ……. với E H ta có X+ = {ABCDEGH}

..Vậy {ABC}+ = {ABCDEGH}

Page 30: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 30Khoa CNTT

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

Ví dụ 3: Cho F ={ AG I, BE I,E G, AB E, GI H}

Hãy chứng tỏ AB GH

Đặt X = {AB} (Lặp: ) Old X = X+

với AB E ta có X+ = {ABE} với BE I ta có X+ = {ABEI} với E G ta có X+ = {ABEGI} với GI H ta có X+ = {ABEGHI} với AG I ta có X+ = {ABEGHI}

Vậy GH {AB}+ do đó AB GH

Page 31: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 31Khoa CNTT

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

Ví dụ 4: Cho F ={ A D, B C,BC EF, D G}

Chứng minh F |=AB EFG

Đặt X = {AB} với A D ta có X+ = {ABD} với B C ta có X+ = {ABCD} với BC EF ta có X+ = {ABCEF} với D G ta có X+ = {ABCDEFG} do đó F |=AB EFG

Page 32: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 32Khoa CNTT

Bài tâp

Bài tâp 1: Hãy chứng minh các suy diễn sau

bằng các sử dụng các quy tắc suy diễn

1. {W Y, X Z } |= WXY

ta có {X Z } |= {WXWZ} quy tắc 2

{WXWZ } |= {WX W} quy tắc 4

{WXW , W Y} |= {WX Y} quy tắc 3

Vậy {W Y, X Z } |= {WX Y}

Page 33: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 33Khoa CNTT

Bài tâp

Bài tâp 1: Hãy chứng minh các suy diễn sau

2. {X Z } và Y Z |= XY

ta có Y Z nên {Z Y } quy tắc 1

{XZ , Z Y} |= {X Y } quy tắc 3

Vậy {X Z } và Y Z |= XY

Page 34: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 34Khoa CNTT

Bài tâp

Bài tâp 1: Hãy chứng minh các suy diễn sau

3. {XY,XW,WYZ} |= {XZ}

ta có {XY,XW} |= {XWY} quy tắc hơp

{XWY , WYZ} |= {X Z } quy tắc bắc cầu

Vậy {XY,XW,WYZ} |= {XZ}

Page 35: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 35Khoa CNTT

Bài tâp

Bài tâp 1: Hãy chứng minh các suy diễn sau

4. {X Y,Z W } |= XZYW

ta có {X Y } |= XZYZ quy tắc tăng

{Z W} |= {YZ YW } quy tắc 3

Vậy {X Y,Z W } |= XZYW

Page 36: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 36Khoa CNTT

Bài tâp

Bài tâp 1: Hãy chứng minh các suy diễn sau

5. {X Y,YZ} |= XYZ

ta có {X Y,YZ} |= XZ quy tắc bắc cầu

{X Y,XZ} |= XYZ quy tắc hợp

Vậy {X Y,YZ} |= XYZ

Page 37: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 37Khoa CNTT

Bài tâp

Bài tâp 2: Cho R với tập phụ thuộc hàm

F ={ AB C, B D,CD E,CE GH, G A}

Chứng minh các phụ thuộc hàm sau bằng cách dùng bao đóng:

AB E

AB GH

Page 38: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 38Khoa CNTT

4.7 – Phụ thuộc hàm tương đương

Định nghĩa:

• Một tập phụ thuộc hàm E được phủ bởi tập

phụ thuộc hàm F nếu mỗi một phụ thuộc hàm

trong E đều thuộc F+

hay mỗi phụ thuộc hàm trong E có thể suy diễn

được từ F.• Hai tập phụ thuộc hàm E và F là tương đương nếu

E+ = F+

Tương đương có nghĩa là mỗi phụ thuộc hàm trong E có thể

suy diễn được từ F và mỗi phụ thuộc hàm trong F có thể suy

diễn được từ E.

Page 39: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 39Khoa CNTT

4.7 – Phụ thuộc hàm tương đương

Cho hai tập phụ thuộc hàm

F = {A C, AC D, EAD, E H }

E = { A CD, E AH }

Kiểm tra xem E tương đương F ?

Cách 1: Dùng các quy tắc suy diễn để chứng

minh các phụ thuộc hàm của E suy dẫn được từ F và ngược lại Cách 2: Dùng bổ đề về bao đóng và suy diễn để chứng minh

Page 40: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 40Khoa CNTT

4.7 – Phụ thuộc hàm tương đương

F = {A C, AC D, EAD, E H }

E = { A CD, E AH }

Kiểm tra xem E tương đương F ?Cách 1: Dùng các quy tắc suy diễn

{A C} |= { A AC} {AC D}

|= {A D}

kết hợp với {A C}|= {A CD}

Vậy F |= {A CD}

{E AD} |= {E A} {E H}

|= {E AH} Vậy F |= {E AH}

Tức là F phủ E

Page 41: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 41Khoa CNTT

4.7 – Phụ thuộc hàm tương đương

F = {A C, AC D, EAD, E H }

E = { A CD, E AH }

Kiểm tra xem E tương đương F ?Cách 1: Dùng các quy tắc suy diễn

Tức là F tương đương E

Tương tự: chứng minh được E phủ F

Page 42: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 42Khoa CNTT

4.7 – Phụ thuộc hàm tương đương

F = {A C, AC D, EAD, E H }

E = { A CD, E AH }

Kiểm tra xem E tương đương F ?

Cách 2: Dùng bổ đề về bao đóng và suy diễn để chứng minh

{A}+

F = {ACD}

{E}+

F =

{ADEH} vậy F phủ E

{A}+

E = {ACD}

{AC}+

E = {ACD}

{E}+

E = {ACDEH}

vậy E phủ F

tức là E,F tương đương

Page 43: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 43Khoa CNTT

4.8 – Tập phụ thuộc hàm tối thiểu

Định nghĩa:

Tập phụ thuộc hàm F gọi là tối thiểu nếu F thỏa mãn các điều kiện sau Vế phải của mọi phụ thuộc hàm trong F chỉ có 1

thuộc tính Không thể thay thế XA trong F bằng YA với Y

X mà vẫn còn là tập phụ thuộc hàm tương đương với F.

Không thể bớt được bất kỳ phụ thuộc hàm nào khỏi F mà vẫn là tập phụ thuộc hàm tương đương F

Ví dụ: F = {A C, AC D, EAD, E H }

E = { A C, A D, E H }

G = { E C, A D, AD H }

Tối thiểu?

Page 44: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 44Khoa CNTT

4.8 – Tập phụ thuộc hàm tối thiểu

Phủ tối thiểu

Tập phụ thuộc hàm Fmin gọi là phủ tối thiểu của F nếu Fmin là tập phụ thuộc hàm tối thiểu, tương đương F.

Ví dụ: F = {A C, AC D, EAD, E H }

F= { E C, A D, AD H }

Fmin= { E C, A D, A H }

Fmin = {A C, A D, EA, E H }

Page 45: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 45Khoa CNTT

4.8 – Tập phụ thuộc hàm tối thiểu

Thuật toán tìm phủ tối thiểu của F

1. Đặt G = F

2. Thay mỗi pth X A1A2..Ak trong G bằng các pth X A1, X A2.. X Ak

3. Với mỗi pth XY B trong G, nếu G-{XY B} {X B} tương đương

với G thì thay {XY B} bởi {X B}

4. Với mỗi pth X Y trong G, nếu G-{X Y} tương đương với G thì

loại {X Y}

G là phủ tối thiểu của F

Page 46: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 46Khoa CNTT

Ví dụ: Tìm phủ tối thiểu

F = {A BC, B AC, CAB, AC D }

1. G = {A BC, B AC, CAB , AC D}

2. G= {A B, AC, B A,B C, CA, CB , AC D}

3. G= {A B, AC, B A,B C, CA, CB , A D}

4. Loại {AC}, {CA}

G= {A B, B A, B C, CB , A D}

vậy Fmin= {A B, B A, B C, CB , A D}

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

Page 47: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 47Khoa CNTT

4.9– Bao đóng và khóa

Siêu khóa, khóa, khóa chính và khóa dự tuyển

Thuộc tính khóa

Thuật toán tìm khóa K của R(U) dựa trên tập phụ thuộc hàm F

• Đặt K = U• Lặp với mỗi thuộc tính A trong K

o tính {K-A}+

F

o nếu {K-A}+

F = U thì K = K-{A};

Page 48: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 48Khoa CNTT

4.10– Các dạng chuẩn dựa trên khóa chính

Chuẩn là gì? Mỗi một dạng chuẩn là một tập các điều kiện trên lược đồ nhằm đảm bảo các tính chất của nó (liên quan tới dư thừa và bất thường trong cập nhật)

Chuẩn hóa : quá trình phân tích lược đồ quan hệ dựa trên các FD và các khóa chính để đạt được:o Giảm tối đa sự dư thừao Giảm tối đa các phép cập nhật bất thường

Chuẩn và hóa do Codd đề xuất đầu tiên năm 1972 (1NF-3NF, sau đó Boyce-Codd, 4-5NF)

Page 49: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 49Khoa CNTT

4.10– Các dạng chuẩn dựa trên khóa chính

Thủ tục chuẩn hoá cung cấp • Một cơ cấu hình thức để phân tích các lược đồ

quan hệ dựa trên khoá và các phụ thuộc hàm.• Một loạt các kiểm tra dạng chuẩn có thể thực

hiện trên các lược đồ quan hệ riêng rẽ sao cho cơ sở dữ liệu quan hệ có thể được chuẩn hoá đến một mức cần thiết.

Chuẩn hóa cần đảm bảo tính chất:• Nối không mất mát (hoặc nối không phụ thêm-

không têm bộ giả)• Bảo toàn sự phụ thuộc nó đảm bảo rằng từng phụ thuộc hàm sẽ được biểu hiện

trong các quan hệ riêng rẽ nhận được sau khi tách.

Page 50: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 50Khoa CNTT

a. Dạng chuẩn 1 (1NF)

Một quan hệ gọi là 1NF nếu

• Miền giá trị của mỗi thuộc tính chỉ chứa giá trị nguyên tử (đơn, ko phân chia được)

• Giá trị của mỗi thuộc tính trong các bộ là một giá trị đơn

Ví dụ:

SV_DIEM(Masv, Mamon, Diem)

SV(Masv, Hoten, Gioitinh,Ngaysinh, Noisinh)

Page 51: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 51Khoa CNTT

a. Dạng chuẩn 1

Mada TenDa Manv Sogio

CO1 Cấp nước 001002

2035

DO2 Cung cấp thiết bị điện..

002004

2040

Ví dụ: NV_DA

Page 52: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 52Khoa CNTT

a. Dạng chuẩn 1

Page 53: C4 1

Nhập môn Cơ sở Dữ liệuPhụ thuộc hàm và chuẩn hóa CSDL quan hệ

07:10 sáng 53Khoa CNTT

4.10– Các dạng chuẩn dựa trên khóa chính