c4 1
DESCRIPTION
TRANSCRIPT
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
• 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ệ
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
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ý
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
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
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 ??
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
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ả”
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 đồ
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
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
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
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
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
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.
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
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}
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
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
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}
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 ?
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+
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}
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}
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}
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+ );
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}
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}
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
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
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}
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
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}
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
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
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
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.
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
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
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
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
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?
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 }
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
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
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};
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)
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.
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)
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
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
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