1.Chuẩn hóa là quá trình khảo sát danh sách các thuộc tính và áp dụng các quy tắc phân tích vào danh sách đó để biến dổi thành nhiều tập nhỏ hơn, sao cho: Tối thiểu việc lặp lại Tránh dị
Trang 11.Chuẩn hóa là quá trình khảo sát danh sách các thuộc tính và áp dụng các quy tắc phân tích vào danh sách đó để biến dổi thành nhiều tập nhỏ hơn, sao cho: Tối thiểu việc lặp lại
Tránh dị thường thông tin
Xác định và giải quyết được sự không rõ ràng, nhập nhằng trong suy diễn
2.Các dạng chuẩn hóa
Dạng chuẩn 1 (1NF-First Normal Form)
Dạng chuẩn 2 (2NF-Second Normal Form)
Dạng chuẩn 3 (3NF)
Dạng chuẩn Boye Code (BCNF)
a.Dạng chuẩn 1NF
Định nghĩa: quan hệ R ở dạng chuẩn 1NF nếu mọi thuộc tính của R đều chứa các giá trị nguyên tố (automic value), giá trị này không là 1 danh sách các giá trị hoặc các giá trị phức hợp (composite value) Quan hệ ở dạng 1NF là quan hệ không chứa các thuộc tính đa trị và thuộc tính phức hợp
Cách khác: Bảng ở dang 1NF là bảng có tồn tại PTH có nguồn là 1 phần của khóa
Biểu diễn sơ đồ dạng 1NF:
R(A1,A2,A3,A4,A5)
Trang 2Ví dụ:
KH
MH
H
G
Và F={1.MSKH -> TÊN KH, TP; 2.MSMH ->TÊN MH, DG;
3.MSKH,MSMH ->SL; 4.TP ->PVC }
• Kết luận: để kiểm tra một lược đồ có là dạng 1NF hay không thực hiện kiểm tra lược đồ thỏa mãn 2 điều kiện:
-Không có thuộc tính là đa trị
-Không có thuộc tính là phức hợp
• Áp dụng quy tắc sau để đưa về dạng chuẩn 1NF
- Bỏ nhóm thuộc tính lặp hoặc gộp ra khỏi quan hệ, chuyển nhóm đó thành một quan hệ mới
-Thuộc tính khóa tồn tại trong 2 quan hệ
b.Dạng chuẩn 2NF
• Định nghĩa: lược đồ quan hệ R ở 2NF khi và chỉ khi thỏa mãn
-R đã là 1NF
-Mọi thuộc tính không khóa của R là phụ thuộc hàm đầy đủ vào khóa chính
Trang 3Phụ thuộc hàm đầy đủ: cho lược đồ R, PTH X ->Y được gọi là PTh đầy đủ nếu mọi Z c X, Z ≠ Ø: không tồn tại Z->Y Khi đó ta nói Y phụ thuộc hàm đầy đủ của X
• Cách khác định nghĩa lược đồ ở dạng 2NF: lược đồ quan hệ R được gọi là 2NF nếu với mọi X -> A trên R (A khác X) 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
Biểu diễn sơ đồ dạng 2NF:
R(A1,A2,A3,A4,A5)
R(A1,A2,A3,A4,A5)
Mục đích xây dựng sơ đồ dạng 2NF:
-giản ước sự dư thừa dữ liệu
-tránh các dị thường cập nhật gây nên do sự dư thừa dữ liệu này
Ví dụ:
NHÂN VIÊN-DỰ ÁN
A
Trang 4Lược đồ NHÂN VIÊN-DỰ ÁN vì thuộc tính TÊN NV phụ thuộc bộ phận vào
khóa (thuộc tính Mã Nhân Viên)
Ví dụ:
Phong
Ngay NC
Lược đồ NHÂN VIÊN-PHÒNG BAN ở dạng 2NF
c.Dạng chuẩn 3NF
Định nghĩa: lược đồ quan hệ R được dọi là ở dạng chuẩn 3NF nếu thỏa mãn:
-R đã ở 2NF
-mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa
chính của quan hệ
Cách khác, lược đồ ở dạng 3NF nếu thỏa mãn: Xét mọi PTH X-> A thì X là 1 khóa của R hoặc X là thuộc tính không khóa hay A là thuộc tính khóa của R
( đích là thuộc tính khóa)
Biểu diễn sơ đồ:
R(A1,A2,A3,A4,A5)
R(A1,A2,A3,A4,A5,A6)
Trang 5Ví dụ: quan hệ ở dạng 3NF
Fvc={TP ->PVC}
Fkh ={ MSKH ->TÊN KH, TP}
• Cách đưa về dạng chuẩn 3NF
-tạo quan hệ mới gồm các thuộc tính phụ thuộc bắc cầu vào thuộc tính khóa, lấy thuộc tính bác cầu làm khóa
-giữ lại các thuộc tính phụ trực tiếp vào khóa
-thuộc tính bắc cầu nằm ở 2 quan hệ
R(A1,A2,A3,A4,A5)
R1(A2,A4)
R(A1,A2,A3,A5)
• ví dụ: cho quan hệ
NV(MaNV, TenNV, GioiTinh, DiaChi, TenPhong)
tách về 3NF?
áp dụng nguyên tắc ta thu được lược đồ thỏa mãn 3NF như sau:
NV(MNV,TenNV,GioiTnh,DiaChi,MaPhong)
PHONG(MaPhong,TenPhong)
Trang 6d.dạng chuẩn BCNF
• định nghĩa: lược đồ quan hệ R ở dạng chuẩn BCNF nếu với mọi PTH X ->A của R, A không thuộc X thì X là 1 siêu khóa nhỏ nhất Hay nói cách khác các thuộc tính đều phụ thuộc trực tiếp vào khóa
• biểu diễn sơ đồ:
R(A1,A2,A3,A4,A5)
• Ví dụ:
lược đồ quan hệ Sinh Vien(Ma SV, Hoten,Ngaysinh) là lược đồ ở dạng BCNF với thuộc tính khóa là MaSV
• Thuật toán tách lược dồ về dạng BCNF
-loại bỏ các thuộc tính phụ thuộc hàm vào thuộc tính không khóa ra khỏi quan hệ
-tách chúng thành một quan hệ riêng có khóa chính là thuộc tính không khóa gây ra phụ thuộc
R(A1,A2,A3,A4,A5)
R(A4,A2)
R(A1,A4,A3,A5)
• Ví dụ:
cho lược dồ quan hệ R=(A,B,C,D,E,F,G,H,I,J) có khóa chính là A,B.với tạp các phụ thuộc hàm:
F1: A,B ->C,D,E,F,G,H,I,J
F2: A ->E,F,G,H,I,J
F3: F ->I,J
F4: D ->B
Yêu cầu tách lược đồ về dạng chuẩn cao nhất?
Trang 7-Có PTH A->E,,F,G,H,I,J mà A là 1 bộ phận của khóa chính nên quan hệ
R là vi phạm 2NF.Áp dụng tách R thành R1(A,E,F,G,H,I,J) và
R2(A,B,C,D)
-trong R1 do có phu thuộc hàm F->I,J nên có I,J phụ thuộc bắc cầu vào khóa chính, R1 là quan hệ vi phạm 3NF
-trong R2 ta có phụ thuộc hàm D->B trong đó B là một thuộc tính
khóa,R2 vi phạm BCNF
-tách R1 và R2 ta có: R11(F,I,J), R12(A,E,F,G,H), R21(D,B),
R22(A,D,C)
kết luận
dạng chưa được chuẩn hóa
loại bỏ các thuộc tính ko nguyên tố
dạng chuẩn hóa thứ nhất-1NF
loại bỏ các phụ thuộc ko đầy đủ
dạng chuẩn hóa thứ hai-2NF
loại bỏ các phụ thuộc bắc cầu
dạng chuẩn hóa thứ ba-3NF