You are on page 1of 27

TRƯỜNG ĐẠI HỌC KINH TẾ - KỸ THUẬT CÔNG NGHIỆP

TÊN KHOA CÔNG NGHỆ THÔNG TIN

CHƯƠNG 2
LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU

Giảng viên:
Khoa: Công nghệ thông tin

1
NỘI DUNG BÀI HỌC

2.3. Chuẩn hoá lược đồ quan hệ


2.3.1 Các dạng chuẩn
2.3.1.1 Dạng chuẩn 1-1NF
2.3.1.2 Dạng chuẩn 2-2NF
2.3.1.3 Dạng chuẩn 3-3NF
2.3.1.4. Dạng chuẩn Boyce Codd – BCNF
Kiểm tra định kỳ lần 1

Tên học phần: Chương: 2


MỤC TIÊU BÀI HỌC

Sau khi học xong bài này, các bạn sẽ nắm được các vấn đề sau:
• Chuẩn hóa
• Dạng chuẩn 1-1NF
• Dạng chuẩn 2-2NF
• Dạng chuẩn 3-3NF
• Dạng chuẩn Boyce Codd - BCNF

Tên học phần: Chương: 3


2.3. Chuẩn hóa lược đồ quan hệ

• Chuẩn hoá: Là quá trình tách một lược đồ thành một tập các lược
đồ con, sao cho quá trình tách không bị mất thông tin và các lược đồ
con tối ưu hơn lược đồ ban đầu theo nghĩa: hạn chế dư thừa dữ liệu,
tránh những dị thường xảy ra trong quá trình thêm, xóa và sửa dữ
liệu

4
2.3. Chuẩn hóa lược đồ quan hệ

• Dư thừa dữ liệu: Một CSDL bị gọi là dư thừa khi cùng một dữ liệu bị lặp lại ở tại nhiều
nơi  lãng phí bộ nhớ, gây ra sự nhập nhằng và không bền vững của dữ liệu
• Ví dụ: Xét lược đồ quan hệ để quản lý điểm của sinh viên:
SINHVIEN-KQ(MaSV, Hodem, Ten, Ngaysinh, MaMH, TenMH, DVHT, Diem)
 Vì một sinh viên học nhiều môn nên các thông tin cá nhân (MaSV, Hodem, Ten,
Ngaysinh) sẽ bị lặp lại nhiều lần.
 Vì một môn học có nhiều sinh viên học nên các thông tin về môn học (Mã MH, TenMH,
DVHT) cũng bị lặp lại nhiều lần
 Dư thừa dữ liệu

5
2.3. Chuẩn hóa lược đồ quan hệ

Hậu quả của việc dư thừa dữ liệu:


 Dữ liệu không nhất quán (dị thường xuất hiện khi sửa dữ liệu): Ví dụ, khi sửa
Ngày sinh của một sinh viên, nếu không chú ý sửa hết trên tất cả các bộ ứng
với các môn mà sinh viên đó học thì sẽ xảy ra tình trạng sinh viên đó có nhiều
ngày sinh!
 Dị thường khi thêm bộ: Nếu một sinh viên chưa học môn nào thì ta không thể
nhập giá trị cho các trường: Mã môn học, Tên môn học và Điểm.
 Dị thường khi xóa bộ: Nếu một sinh viên bị xóa mới chỉ học một môn thì khi
xóa xong ta sẽ không còn lưu thông tin về sinh viên đó.

6
2.3. Chuẩn hóa lược đồ quan hệ

Khắc phục: Thay thế lược đồ quan hệ SINHVIEN-KQ bằng 3 lược đồ quan hệ:
 SINHVIEN(MaSV, Hodem, Ten, Ngaysinh)
 MONHOC(MaMH, TenMH, DVHT)
 DIEM(MaSV, MaMH, Diem)
Thông tin cá nhân của mỗi Sinh viên/Môn học/Điểm chỉ lưu lại một lần, không
có sự dư thừa dữ liệu và cũng không gây dị thường khi thêm/xóa bộ.
Chú ý: Để khẳng định các lược đồ CSDL này đã đáp ứng được các yêu cầu của lý
thuyết thiết kế CSDL hay chưa, cần xét các kĩ thuật chuẩn hóa CSDL quan hệ.

7
2.3. Chuẩn hóa lược đồ quan hệ
2.3.1. Các dạng chuẩn (Normal Form)
a) Dạng chuẩn 1 (1NF)
Một quan hệ được gọi là ở dạng chuẩn 1 (1NF) nếu giá trị của
mỗi thuộc tính trong một bộ giá trị là một giá trị nguyên tử (đơn, không
phân chia được) lấy từ miền giá trị của thuộc tính đó.
Cách khác: Một quan hệ đc gọi là ở dạng 1 NF nếu mọi thuộc tính của
nó đều là đơn trị.
Ví dụ: SV (MSSV,Hoten, Ngsinh, ngoaingu)
Quan hệ SV vi phạm dạng chuẩn 1NF vì có thuộc tính ngoaingu là đa trị

8
2.3.1. Các dạng chuẩn (Normal Form)

b) Dạng chuẩn 2 (2NF)


Một quan hệ được gọi là ở dạng chuẩn 2 nếu nó ở dạng
chuẩn 1 và không tồn tại thuộc tính phụ thuộc một phần vào khóa.
Chú ý:
Phụ thuộc hàm (FD) đầy đủ: Một FD X Y là một phụ thuộc
hàm đầy đủ nếu loại bỏ bất kỳ thuộc tính A nào ra khỏi X thì FD
không còn đúng nữa

9
2.3.1. Các dạng chuẩn (Normal Form)

FD bộ phận: Một FD X Y là phụ thuộc hàm bộ phận nếu có


thể bỏ đi 1 thuộc tính A  X ra khỏi X mà FD vẫn còn đúng.
Ví dụ: Cho quan hệ R (A, B, C, D, E)
F= {AB CD, CE}
Ở dạng chuẩn 2

10
2.3.1. Các dạng chuẩn (Normal Form)

c) Dạng chuẩn 3 (3NF)


Một quan hệ được gọi là ở dạng chuẩn 3 nếu nó ở dạng
chuẩn 2 và không tồn tại thuộc tính phụ thuộc bắc cầu vào khóa.
Ví dụ: Cho R (A, B, C, D, E, F)
F= {AB CD, ABE, EF}
Quan hệ R không ở dạng chuẩn 3 (Vì thuộc tính F phụ thuộc
bắc cầu vào khóa AB)

11
2.3.1. Các dạng chuẩn (Normal Form)
d) Dạng chuẩn Boyce - codd (BCNF)
Một quan hệ được gọi là ở dạng chuẩn
BCNF nếu nó ở dạng chuẩn 3 và không tồn tại
phụ thuộc hàm trong đó thuộc tính khóa phụ
thuộc vào thuộc tính không phải là khóa.
Ví dụ: Cho R (A, B, C, D, E)
F= {AB CDE, DB}
Quan hệ R không ở dạng chuẩn BCNF

12
Mô hình chuyển đổi giữa 3 dạng chuẩn

• Mô hình chuyển đổi giữa các dạng chuẩn 1NF, 2NF và 3NF (Codd):

13
Mối quan hệ giữa các dạng chuẩn

• Các lớp của các dạng chuẩn có mối quan hệ lồng nhau (nghĩa là
nếu lược đồ quan hệ đạt dạng chuẩn BCNF thì cũng đạt dạng
chuẩn 3NF, nếu đã đạt dạng chuẩn 3NF thì cũng đạt dạng chuẩn
2NF, nếu đã đạt dạng chuẩn 2NF thì cũng đạt dạng chuẩn 1NF)

14
Thuật toán kiểm tra dạng chuẩn cao nhất của một lược đồ quan hệ

• Vào: Một lược đồ quan hệ R(U, F)


• Ra: Khẳng định lược đồ quan hệ R(U, F) trên đang ở
dạng chuẩn cao nhất là dạng nào?
• Thuật toán:
 Bước 1: Tìm tất cả các khóa của lược đồ quan hệ
 Bước 2: Kiểm tra dạng chuẩn BCNF, nếu đúng thì
kết luận lược đồ đạt dạng chuẩn BCNF và kết thúc
thuật toán, nếu sai thì chuyển sang bước 3.

15
Thuật toán kiểm tra dạng chuẩn cao nhất của một lược đồ quan hệ

• Vào: Một lược đồ quan hệ R(U, F)


• Ra: Khẳng định lược đồ quan hệ R(U, F) trên đang ở dạng
chuẩn cao nhất là dạng nào?
• Thuật toán:
 Bước 3: Kiểm tra dạng chuẩn 3NF, nếu đúng thì kết luận
lược đồ đạt dạng chuẩn 3NF và kết thúc thuật toán, nếu sai
thì chuyển sang bước 3.
 Bước 4: Kiểm tra dạng chuẩn 2NF, nếu đúng thì kết luận
lược đồ đạt dạng chuẩn 2NF và kết thúc thuật toán, nếu sai
thì kết luận lược đồ R đạt dạng chuẩn 1NF.

16
Thuật toán kiểm tra dạng chuẩn cao nhất của một lược đồ quan hệ

Chú ý: Ta cũng có thể kiểm tra từ dạng chuẩn thấp đi lên các lược đồ có dạng
chuẩn cao hơn nếu thấy nhanh hơn.

17
Thuật toán kiểm tra dạng chuẩn cao nhất của một lược đồ quan hệ
• Ví dụ: Xác định dạng chuẩn cao nhất của lược đồ quan hệ
sau: R(U, F), U = (ABCD), F = {A → B, A → C, D → B}
Bài làm:
Ta có:TN = AD
TG = 
Vì TG =  nên lược đồ R chỉ có một khóa duy nhất K = TN =
AD
Xét thấy trong F có các phụ thuộc hàm vi phạm dạng chuẩn
2NF (vì phụ thuộc hàm A → B là phụ thuộc hàm không đầy đủ
vào khóa) nên ta kết luận dạng chuẩn cao nhất của lược đồ
quan hệ R trên là ở 1NF.

18
CÂU HỎI TRẮC NGHIỆM

Câu 1:Một quan hệ có chứa một miền giá trị của một thuộc tính nào đó là không nguyên tố được gọi là

A. Quan hệ chuẩn hóa

B. Quan hệ không chuẩn

C. Quan hệ chuẩn hóa loại 1

D. Quan hệ chuẩn hóa loại 2

19
CÂU HỎI TRẮC NGHIỆM

Câu 2:Nếu toàn bộ các miền giá trị của các thuộc tính trong sơ đồ quan hệ R đều chỉ chứa giá trị nguyên tố
thì sơ đồ quan hệ R ở dạng chuẩn nào?

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

B. Dạng chuẩn 2 (2NF)

C. Dạng chuẩn 3 (3NF)

D. Dạng chuẩn 4 (4NF)

20
CÂU HỎI TRẮC NGHIỆM

Câu 3:Sơ đồ quan hệ R đã ở dạng chuẩn 1 và mọi thuộc tính không khóa của R đều phụ thuộc hàm đầy đủ
vào khóa chính thì sơ đồ quan hệ R được gọi là ở dạng chuẩn nào?

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

B. Dạng chuẩn 2 (2NF)

C. Dạng chuẩn 3 (3NF)

D. Dạng chuẩn 4 (4NF)

21
CÂU HỎI TRẮC NGHIỆM

Câu 4:Sơ đồ quan hệ R đã ở dạng chuẩn 2 và mọi thuộc tính không khóa của R đều không phụ thuộc bắc
cầu vào khóa chính thì sơ đồ quan hệ R được gọi là ở dạng chuẩn nào?

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

B. Dạng chuẩn 2 (2NF)

C. Dạng chuẩn 3 (3NF)

D. Dạng chuẩn 4 (4NF)

22
CÂU HỎI TRẮC NGHIỆM

Câu 5:Mọi sơ đồ quan hệ R với tập phụ thuộc hàm F ở dạng chuẩn Boye-Codd thì cũng ở dạng chuẩn nào?

A. Dạng chuẩn 2 (2NF)

B. Dạng chuẩn 3 (3NF)

C. Dạng chuẩn 4 (4NF)

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

23
BÀI TẬP

Bài 1: Cho R(A, B,C,D), F={AB→ C,A → D}


a.Tìm khóa của R
b.Quan hệ trên vi phạm dạng chuẩn mấy?
Bài 2: Cho R(C#, I, D, B, K, F, L, M, G)
F = {C# → IDBKF, D → B, K → F}
a.Tìm khóa của R
b.Quan hệ trên vi phạm dạng chuẩn mấy?

24
TỔNG KẾT:

• Các dạng chuẩn


• Dạng chuẩn 1-1NF
• Dạng chuẩn 2-2NF
• Dạng chuẩn 3-3NF
• Dạng chuẩn Boyce Codd - BCNF

Tên học phần: Chương: 25


BÀI HỌC TIẾP THEO

• Tên bài: Lý thuyết thiết kế cơ sở dữ liệu


• Các nội dung cần chuẩn bị:
Nội dung 1:Chuẩn hoá qua phép tách không làm mất thông tin
Nội dung 2:Chuẩn hoá nhờ phép tổng hợp

Tên học phần: Chương: 26


CHÚC CÁC BẠN HỌC TỐT !

Tên học phần: Chương: 27

You might also like