You are on page 1of 17

WELCOME MESSAGES

Insert your subtitle here

Chương 6: Phụ thuộc hàm &


Chuẩn hóa quan hệ
Phần 3- Chuẩn hóa quan hệ

page 2
Nội dung
1- Vấn đề dư thừa dữ liệu

2- Các dạng chuẩn


- Dạng chuẩn 1
- Dạng chuẩn 2
- Dạng chuẩn 3
- Dạng chuẩn Boyce- Codd
3. Chuẩn hóa quan hệ

page 3
1. Vấn đề dư thừa dữ liệu trong quan hệ:
Dữ liệu được lưu trữ dư thừa
+ Lãng phí không gian lưu trữ
+ Gây nên những bất thường khi thêm/ xóa hay sửa dữ liệu.
Dư thừa

page 4
1. Vấn đề dư thừa dữ liệu trong quan hệ (tt.):
Bất thường khi sửa dữ liệu
+ Sửa tên phòng “Nghiên cứu” thành “Nghiên cứu và phát triển” sẽ cần
phải sửa ở tất cả các bộ của nhân viên thuộc phòng Nghiên cứu
Dư thừa

page 5
1. Vấn đề dư thừa dữ liệu trong quan hệ (tt.):
Bất thường khi thêm dữ liệu
+ Không thể chèn thêm một phòng ban nếu phòng ban đó chưa có nhân
viên
Dư thừa

page 6
1. Vấn đề dư thừa dữ liệu trong quan hệ (tt.):
Bất thường khi xóa dữ liệu
+ Khi xóa một nhân viên thì phải xóa luôn thông tin phòng ban quản lý
nhân viên đó. Nếu phòng ban chỉ có 1 nhân viên thì sẽ mất luôn thông tin về
phòng ban Dư thừa

page 7
2. Các dạng chuẩn:
Dạng chuẩn 1 (1NF- 1 Normal Form): Giá trị các thuộc tính trong quan hệ đều là giá trị nguyên tố.

MaNV Hoten MaPB TenPB Khoahoc Diem


Quan hệ
100 Margaret D01 Marketing {CSDL, C++} {10,9}
chưa đạt 1NF
140 Alan D02 Accounting LT Win 8
110 Chris D03 Info. System {DBMS, C++} {8, 7}
190 Davis D04 Finance Java 8

MaNV Hoten MaPB TenPB Khoahoc Diem Quan hệ


100 Margaret D01 Marketing CSDL 10 đạt 1NF
100 Margaret D01 Marketing C++ 9
140 Alan D02 Accounting LT Win 8
110 Chris D03 Info. System DBMS 8
110 Chris D03 Info. System C++ 7
190 Davis D04 Finance Java 8
page 8
2. Các dạng chuẩn (tt.):
Dạng chuẩn 2 (2NF):
Định nghĩa:
- Thuộc tính khóa: là thuộc tính nằm trong khóa ứng viên của quan hệ
- PTH đầy đủ: PTH X  Y là PTH đầy đủ nếu X là tập nhỏ nhất xác
định hàm Y (i.e nếu bỏ bớt một thuộc tính bất kỳ trong X thì X không
còn xác định hàm Y)
Ví dụ:
NHANVIEN(MaNV, Hoten, MaPB, TenPB, Khoahoc, Diem)
MANV and Khoahoc là 2 thuộc tính khóa, nhưng Hoten thì không phải thuộc
tính khóa.
{MaNV, Khoahoc}  Diem là PTH đầy đủ
vì ta không thể có các PTH MaNV  Diem và Khoahoc  Diem
{MaNV, Khoahoc}  Hoten không phải là PTH đầy đủ (nó được gọi là PTH riêng
phần - partial dependency) vì ta có MaNV  Hoten.

page 9
2. Các dạng chuẩn (tt.):
Dạng chuẩn 2 (2NF):
Một lược đồ quan hệ R đạt 2NF nếu
- R đạt 1NF
- Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào các
khóa ứng viên của R.
Ví du.
+ NHANVIEN(MANV, Hoten, MaPB, TenPB, Khoahoc, Diem)
Lược đồ quan hệ này không đạt 2NF
vì MaNV, Khoahoc  Hoten không phải là PTH đầy đủ

NHANVIEN(MaNV, Hoten, MaPB, TenPB)


NV_KHOAHOC(MaNV, Khoahoc, Diem)
Cả 2 lược đồ quan hệ này đều đạt 2NF

page 10
2. Các dạng chuẩn (tt.):
Dạng chuẩn 3 (3NF):
PTH bắc cầu: Nếu X  Z và Z  Y với Z không phải là khóa ứng viên và
cũng không phải là tập con của bất kỳ khóa ứng viên nào thì X  Y là PTH
bắc cầu.
Một lược đồ quan hệ R đạt 3NF nếu
- R đạt 2NF
- Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào các khóa
ứng viên của R.
Ví du.
+ NHANVIEN(MANV, Hoten, MaPB, TenPB)
Lược đồ quan hệ này đạt 2NF nhưng không đạt 3NF
vì MaNV  MaPB và MaPB TenPB nên MaNV  TenPB là PTH bắc cầu

NHANVIEN(MaNV, Hoten, MaPB)


PHONGBAN(MaPB, TenPB)
Cả 2 lược đồ quan hệ này đều đạt 3NF page 11
2. Các dạng chuẩn (tt.):
Dạng chuẩn 3 (3NF).
Định nghĩa khác của 3NF:
Lược đồ quan hệ R được gọi là đạt dạng chuẩn 3 với tập PTH F
nếu với mọi phụ thuộc hàm không hiển nhiên X  A thuộc F+ thì
hoặc X là siêu khóa của R hay A là thuộc tính khóa.
Ví dụ.
+ NHANVIEN(MaNV, Hoten, MaPB, TenPB) không đạt 3NF vì MaPB  TenPB là
PTH không hiển nhiên có MaPB không phải là siêu khóa và TenPB không phải là
thuộc tính khóa

+ NV_KHOAHOC(MaNV, Khoahoc, Diem) đạt 3NF vì PTH


MaNV, Khoahoc  Diem có {maNV, Khoahoc} là siêu khóa của lược đồ quan hệ
NV_KHOAHOC

page 12
2. Các dạng chuẩn (tt.):
Dạng chuẩn Boyce-Codd (BCNF).
- Định nghĩa:
Lược đồ quan hệ R được gọi là đạt dạng chuẩn BCNF nếu với mọi
phụ thuộc hàm không hiển nhiên X  A thuộc F+ thì X là siêu khóa của
R.
- Một quan hệ đạt BCNF thì cũng đạt 3NF
Ví dụ. Cho NV_KHOAHOC(MaNV, Khoahoc, GiangVien) và
F= {MaNV, Khoahoc  GiangVien, GiangVien  Khoahoc}.
Quan hệ này có 2 khóa {MaNV, Khoahoc} và {MaNV, GiangVien}. Quan hệ đạt
3NF nhưng không đạt BCNF vì có GiangVien  Khoahoc nhưng GiangVien không
phải là siêu khóa.
NV_GV(MaNV, GiangVien)
GV_KHOAHOC(GiangVien, Khoahoc) Cả 2 quan hệ
đều đạt BCNF
page 13
3. Chuẩn hóa quan hệ:
Chuẩn hóa quan hệ bằng phương pháp phân rã là một quá trình thay thế quan hệ cho trước bằng
các quan hệ nhỏ hơn theo đúng dạng chuẩn nhằm cải tiến một thiết kế CSDL mức logic thỏa mãn
các RBTV và tránh dư thừa dữ liệu không cần thiết
Chuẩn hóa quan hệ cần đảm bảo:
― Các quan hệ sau phân rã đều đạt dạng chuẩn (tối thiểu là dạng chuẩn 3)
― Phân rã quan hệ phải là phân rã bảo toàn thông tin
― Tốt hơn, phân rã nên bảo toàn phụ thuộc hàm

page 14
2. Chuẩn hóa quan hệ (tt.):
Chuẩn hóa bằng phương pháp phân rã.
Input: 1 lược đồ quan hệ Q(R), K  R là khóa của Q và tập PTH F.
Output: Tất cả lược đồ quan hệ đều đạt BCNF (hoặc 3NF)
-B1. Chọn 1 PTH X Y gây cho Q(R) vi phạm dạng chuẩn
-B2. Phân rã Q(R) thành 2 lược đồ con Q1(R1) với tập PTH F1 và Q2(R2) với tập PTH F2. Trong đó,
R1 = X  Y, với khóa chính là X và F1= { f  F+ / Vếtrái(f) U Vếphải(f) R1}.
R2 = R – Y, với khóa chính là K và F2 = { f  F+ / Vếtrái(f) U Vếphải(f)  R2}
-B3. Nếu tất cả lược đồ con đều đạt BCNF hoặc 3NF thì ngưng
Ngược lại, quay về B1 để phân rã lược đồ con nào chưa đạt dạng
chuẩn.

page 15
2. Chuẩn hóa quan hệ (tt.):
Chuẩn hóa bằng phương pháp phân rã.
Ví dụ. Cho Q(A, B, C, D, E, G) and F = {A  BDEG, B  C, DEG B}
Lược đồ này không đạt 3NF.

Q(A, B, C, D, E, G), F
BC
Q1(B, C), F1 = {B  C} Q2(A, B, D, E, G), F2={A  BDEG, DEG B}
DEG B

Q21(B,D,E,G), F21={DEG B} Q22(A,D,E,G), F22={A  DEG}

Cả 3 quan hệ Q1, Q21 và Q22 đều đạt BCNF: Stop

page 16
Hết phần 3 chương 6

Số 1, Võ Văn Ngân, Thủ Đức, TPHCM

sonnt@hcmute.edu.vn

+84918648899

You might also like