Tải bản đầy đủ (.pptx) (35 trang)

Cơ sở dữ liệu - Chương 6 - ThS. Nguyễn Vương Thịnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.04 MB, 35 trang )

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

BÀI GIẢNG HỌC PHẦN

CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Chương 6

CHUẨN HÓA CƠ SỞ DỮ LIỆU

Giảng viên: ThS. Nguyễn Vương Thịnh
Bộ mơn:
Hệ thống thơng tin

Hải Phịng, 2016


Thông tin về giảng viên
Họ và tên

Nguyễn Vương Thịnh

Đơn vị công tác Bộ môn Hệ thống thông tin – Khoa Công nghệ thông tin

2

Học vị

Thạc sỹ


Chuyên ngành

Hệ thống thông tin

Cơ sở đào tạo

Trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội

Năm tốt nghiệp

2012

Điện thoại

0983283791

Email



Website

/>

Thông tin về học phần
Tên học phần

Cơ sở dữ liệu và quản trị cơ sở dữ liệu

Tên tiếng Anh


Database and Database Management

Mã học phần

17425

Số tín chỉ

04 tín chỉ (LT: 45 tiết, TH: 30 tiết)

Bộ môn phụ trách

Hệ thống thông tin

PHƯƠNG PHÁP HỌC TẬP, NGHIÊN CỨU
 Nghe giảng, thảo luận, trao đổi với giảng viên trên lớp.
 Tự nghiên cứu tài liệu và làm bài tập ở nhà.
PHƯƠNG PHÁP ĐÁNH GIÁ
 SV phải tham dự ít nhất 75% thời gian.
 Có 02 bài kiểm tra viết giữa học phần (X2 = (L1 + L2)/2), 01 bài
kiểm tra thực hành (X3). Điểm quá trình X = (X2 + X3)/2.
 Thi kết thúc học phần bằng hình thức trắc nghiệm khách quan
3

trên máy tính (Z = 0.5X + 0.5Y).


Tài liệu tham khảo
1. Elmasri, Navathe, Somayajulu, Gupta, Fundamentals of Database

Systems (the 4th Edition), Pearson Education Inc, 2004.
2. Nguyễn Tuệ, Giáo trình Nhập mơn Hệ Cơ sở dữ liệu, Nhà xuất bản
Giáo dục Việt Nam, 2007.
3. Nguyễn Kim Anh, Nguyên lý của các hệ Cơ sở dữ liệu, Nhà xuất bản
Đại học Quốc gia Hà Nội, 2004.

4


Tài liệu tham khảo

5


CHUẨN HÓA CƠ SỞ DỮ LIỆU
6.1. TẠI SAO PHẢI CHUẨN HÓA CƠ SỞ DỮ LIỆU?
6.2. CÁC DẠNG CHUẨN HÓA CỦA CƠ SỞ DỮ LIỆU
6.3. CÁC PHÉP TÁCH BẢO TỒN THƠNG TIN VÀ BẢO
TOÀN PHỤ THUỘC HÀM
6.4. PHÉP TÁCH VỀ DẠNG CHUẨN BOYCE CODD (BCNF)
BẢO TỒN THƠNG TIN
6.5. PHÉP TÁCH VỀ DẠNG CHUẨN 3 (3NF) BẢO TỒN
THƠNG TIN VÀ BẢO TỒN PHỤ THUỘC HÀM

6


6.1. TẠI SAO PHẢI CHUẤN HĨA CƠ SỞ DỮ LIỆU?
Ví dụ 6.1: Xét quan hệ trên lược đồ quan hệ
Kết_Quả_Học_Phần(Mã SV, Họ và tên, Mã HP, Tên HP, Điểm)

Mã SV
HHA001
HHA002
HHA003
HHA001
HHA002
HHA001

Họ và tên
Nguyễn Văn An
Nguyễn Thu Ân
Nguyễn Văn Bình
Nguyễn Văn An
Nguyễn Thu Ân
Nguyễn Văn An

Mã HP
HP01
HP02
HP01
HP03
HP01
HP02

Tên HP
Toán rời rạc
Cơ sở dữ liệu
Toán rời rạc
Tin học đại cương
Toán rời rạc

Cơ sở dữ liệu

Điểm
6.5
7.0
7.5
8.0
6.0
7.0

NHƯỢC ĐIỂM
1. Dư thừa dữ liệu: Cùng 01 sinh viên nhưng khơng chỉ có mã sinh
viên mà họ tên sinh viên cũng bị lặp đi lặp lại nhiều lần ở các vị trí
khác nhau. Tương tự, cùng một học phần thì khơng chỉ có mã học
phần mà tên học phần cũng bị lặp lại ở những vị trí khác nhau.
7


2. Khó khăn khi cập nhật dữ liệu:
 Thêm: Ta không thể thêm tên một học phần mới vào quan hệ
nếu học phần đó chưa được sinh viên nào đăng ký. Tương tự ta
không thể thêm thông tin về một sinh viên mới nếu sinh viên đó
chưa đăng ký một học phần nào.
 Xóa: Nếu ta xóa thơng tin về học phần "Tốn rời rạc" thì cũng sẽ
mất ln thơng tin của sinh viên "Nguyễn Văn Bình" có mã sinh
viên là "HHA003" vì chỉ có một bản ghi duy nhất có chứa thơng
tin về sinh viên này.
 Sửa: Giả sử có nhiều sinh viên đăng ký học mơn "Tốn rời rạc",
khi đó sẽ có nhiều bản ghi có liên quan đến "Tốn rời rạc". Nếu
ta muốn đổi tên mơn "Tốn rời rạc" thành "Tốn tin" thì ta sẽ

phải cập nhật tên mơn ở nhiều vị trí tương ứng, gây mất nhiều
thời gian và dễ xảy ra sai sót.
3. Khơng nhất quán dữ liệu: Là hệ quả của 02 điều trên.
8


6.2. CÁC DẠNG CHUẨN HÓA CƠ SỞ DỮ LIỆU
6.2.1. DẠNG CHUẨN 1 (1NF)
Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn 1 (1NF) nếu như
toàn bộ các thuộc tính đều mang giá trị đơn và nguyên tố.
Ví dụ 6.2: Các lược đồ quan hệ sau đây không thỏa mãn chuẩn 1:

9

Mã NV
NV01

Họ tên
Nguyễn Văn An

Chuyên Môn
Kỹ sư xây dựng

NV02

Nguyễn Thị Ánh

Kiến trúc sư

NV03


Lê Văn Bình

Cử nhân Kinh tế

Mã hàng hóa

Số lượng

MH01
MH02
MH03
MH04

40
50
120
123

Kích thước
40
65
45
56

Ngoại Ngữ
Tiếng Anh
Tiếng Anh
Tiếng Pháp
Tiếng Anh

Tiếng Trung

Thuộc tính
Khối lượng
100
250
130
300

Màu sắc
Đỏ
Vàng
Xanh
Tím


6.2.2. DẠNG CHUẨN 2 (2NF)
Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn 2 (2NF) nếu nó ở
dạng chuẩn 1 và mỗi thuộc tính khơng khóa (nếu có) đều phải phụ
thuộc hàm đầy đủ vào một khóa nào đó của lược đồ quan hệ.
Lưu ý một số khái niệm:
 Thuộc tính khơng khóa (nonprime attribute) là thuộc tính khơng nằm trong bất
kỳ một khóa nào của lược đồ quan hệ.
 Y được gọi là phụ thuộc hàm đầy đủ vào X nếu X → Y và không tồn tại X’⊆ X
sao cho X’→Y (nói cách khác: phụ thuộc hàm đầy đủ có nghĩa là Y chỉ phụ thuộc
hàm vào X chứ không phụ thuộc vào một tập con nào đó của X).

Ví dụ 6.2: Xét lược đồ quan hệ
Kết Quả Học Phần(Mã SV, Họ và tên, Mã HP, Tên HP, Điểm)
Có tập phụ thuộc hàm:

F = {Mã SV → Họ và tên, Mã HP → Tên HP, {Mã SV, Mã HP} → Điểm}
Khóa K = {Mã SV, Mã HP}
Họ và tên phụ thuộc hàm vào Mã SV là 1 phần của khóa
Tên HP phụ thuộc hàm vào Mã HP là 1 phần của khóa
10

KHƠNG THỎA MÃN CHUẨN 2


Hệ quả:
 Nếu một lược đồ quan hệ đạt chuẩn 1 và tập thuộc tính khơng khóa
của nó là tập rỗng thì đương nhiên lược đồ quan hệ đó đạt chuẩn 2.
 Nếu tất cả các khóa của lược đồ quan hệ chỉ gồm một thuộc tính thì
lược đồ quan hệ đó đạt chuẩn 2.
THUẬT TỐN KIỂM TRA MỘT LƯỢC ĐỒ QUAN HỆ CÓ ĐẠT CHUẨN 2
Input:

Lược đồ quan hệ R(Ω) và tập phụ thuộc hàm F

Output: Khẳng định R(Ω) có đạt chuẩn 2 hay khơng.
 Bước 1: Tìm tất cả các khóa của lược đồ quan hệ và xác định các thuộc tính khơng
khóa.
 Bước 2: Với mỗi khóa K, tìm bao đóng của tất cả các tập con thật sự S của K.
 Bước 3: Nếu tồn tại một bao đóng S+ nào đó chứa thuộc tính khơng khóa thì R(Ω)
khơng đạt chuẩn 2. Ngược lại thì đạt chuẩn 2.

11

Lưu ý: Đối với những bài toán đơn giản, người ta thường xuất phát từ định
nghĩa của dạng chuẩn 2 để xác định xem một lược đồ quan hệ có thỏa mãn

dạng chuẩn 2 hay khơng thay vì phải sử dụng thuật toán nêu trên.


Ví dụ 6.3:
Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm:
F = {AB → C, B → D, BC → A}
Hỏi lược đồ quan hệ này có đạt chuẩn 2 hay khơng?
Giải
Đầu tiên ta tìm tất cả các khóa của lược đồ quan hệ:
TN = B, TG = AC
Xi

A
C
AC

Si = TN ∪ Xi
B
AB
BC
ABC

(TN ∪ Xi)+
BD
Ω
Ω
Ω

Siêu khóa Khóa
 

 
AB
AB
BC
BC
ABC
 

Ta có hai khóa K1 = AB, K2 = BC. Thuộc tính khơng khóa là D. Ta thấy
B→D trong khi B ⊂ K1. Vậy thuộc tính khơng khóa D phụ thuộc hàm
vào một phần của khóa nên lược đồ quan hệ khơng thỏa mãn chuẩn 2.
12


Ví dụ 6.4: Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm
F = {B → D, A → C, C → ABD}.
Hỏi lược đồ quan hệ này có đạt chuẩn 2 hay khơng?
Giải
Đầu tiên ta tìm tất cả các khóa của lược đồ quan hệ:
TN =⍉ , TG = ABC
Xi

A
B
C
AB
BC
AC
ABC


Si = TN ∪ Xi

A
B
C
AB
BC
AC
ABC

(TN ∪ Xi)+
 
Ω
BD
Ω
Ω
Ω
Ω
Ω

Siêu khóa
 
A
 
C
AB
BC
AC
ABC


Khóa
 
A
 
C
 
 
 
 

Ta có hai khóa K1 = A, K2 = C. Tất cả các khóa của lược đồ quan hệ đều
có một thuộc tính nên theo hệ quả 2, lược đồ quan hệ đạt chuẩn 2.
13


6.2.3. DẠNG CHUẨN 3 (3NF)
A. Định nghĩa cổ điển
Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn 3 (3NF) nếu nó đã
ở dạng chuẩn 2 và khơng tồn tại thuộc tính khơng khóa phụ thuộc
hàm bắc cầu vào khóa chính của lược đồ quan hệ.
Lưu ý: Một thuộc tính A được gọi là phụ thuộc hàm bắc cầu vào tập
thuộc tính X nếu tồn tại tập thuộc tính Y để cả ba điều sau được thỏa
mãn:
1. X → Y, Y → A
2. Y → X ∉ F+
3. A ∉ XY
B. Định nghĩa tổng quát
Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn 3 (3NF) nếu với
mọi phụ thuộc hàm X→A ∈ F+ (A ∉ X) ta đều có:
 Hoặc X là siêu khóa.

 Hoặc A là thuộc tính khóa.
14


Ví dụ 6.5: Xét lược đồ quan hệ:
SinhVien(MaSV, HoTen, MaLop, TenLop)
MaSV

HoTen

MaLop

TenLop

HHA001

Nguyễn Văn An

L01

CNT50-ĐH1

HHA002

Nguyễn Văn Án

L02

ĐKT51-ĐH2


HHA003

Nguyễn Văn Ân

L01

CNT50-ĐH1

HHA004

Nguyễn Văn Bình

L02

ĐKT51-ĐH2

HHA005

Nguyễn Văn Bơng

L01

CNT50-ĐH1

HHA006

Nguyễn Văn Cường

L03


CTT51-ĐH

• Tập phụ thuộc hàm: F = {MaLop → TenLop; MaSV → HoTen, MaLop}
• Khóa chính K = {MaSV}
Lược đồ này khơng thỏa mãn chuẩn 3 vì có thuộc tính khơng khóa là
TenLop phụ thuộc hàm bắc cầu vào khóa chính MaSV như sau:
MaSV → MaLop và MaLop → TenLop.
15


Hệ quả:


Nếu một lược đồ quan hệ đạt chuẩn 3 thì đương nhiên đạt chuẩn 2.



Nếu một lược đồ quan hệ khơng có thuộc tính khơng khóa thì đạt
chuẩn 3.

THUẬT TỐN KIỂM TRA MỘT LƯỢC ĐỒ QUAN HỆ CĨ ĐẠT CHUẨN 3
Input: Lược đồ quan hệ R(Ω) và tập phụ thuộc hàm F.
Output: Khẳng định R(Ω) có đạt chuẩn 2 hay khơng.
Bước 1: Tìm tất cả các khóa của lược đồ quan hệ R(Ω).
Bước 2: Từ tập phụ thuộc hàm F, tạo ra tập phụ thuộc hàm F’ tương đương với
F và có vế phải chỉ có một thuộc tính (nhờ sử dụng luật phân rã).
Bước 3: Nếu mọi phụ thuộc hàm X→A ∈ F’ với A ∉ X đều có X là siêu khóa
hoặc A là thuộc tính khóa thì lược đồ quan hệ đạt chuẩn 3. Ngược lại thì lược
đồ quan hệ khơng đạt chuẩn 3.
16



Ví dụ 6.6: Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm:
F = {AB → C, D → B, C → ABD}
Hỏi lược đồ quan hệ này có đạt chuẩn 3 hay không?
Giải
Bước 1: Sau khi áp dụng thuật tốn tìm tất cả các khóa, ta tìm được 3
khóa: K1 = AB, K2 = AD, K3 = C. Như vậy, các thuộc tính khóa là: A, B,
C, D.
Bước 2: Xây dựng tập phụ thuộc hàm F’ tương đương với F có vế phải
một thuộc tính nhờ luật phân rã:
F’ = {AB → C, D → B, C → A, C → B, C → D}
Bước 3: Duyệt các phụ thuộc hàm trong F’, ta thấy tất cả các phụ
thuộc hàm đều có vế phải là thuộc tính khóa nên lược đồ quan hệ đạt
chuẩn 3.
17


Ví dụ 6.7: Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm:
F = {B → D, A → C, C → ABD}
Hỏi lược đồ quan hệ này có đạt chuẩn 3 hay không?
Giải
Bước 1: Sau khi áp dụng thuật tốn tìm tất cả các khóa, ta tìm được 2
khóa: K1 = A và K2 = C. Các thuộc tính khóa là: A, C.
Bước 2: Xây dựng tập phụ thuộc hàm F’ tương đương với F có vế phải
một thuộc tính nhờ luật phân rã:
F’ = {B → D, A → C, C → A, C → B, C → D}
Bước 3: Duyệt các phụ thuộc hàm trong F’ ta thấy phụ thuộc hàm
B → D có vế trái khơng phải là siêu khóa, vế phải cũng khơng phải là
thuộc tính khóa. Vậy lược đồ quan hệ khơng đạt chuẩn 3.


18


6.2.4. DẠNG CHUẨN BOYCE CODD (BCNF)
Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn Boyce Codd
(BCNF) nếu với mọi phụ thuộc hàm X → A ∈ F+ (A ∉ X) ta đều có X là
siêu khóa.
Gần giống định nghĩa tổng quát của
chuẩn 3, nhưng chặt chẽ hơn ở chỗ
khơng chấp nhận trường hợp A là thuộc
tính khóa.
Hệ quả: Nếu một lược đồ quan hệ đạt chuẩn Boyce Codd thì đương
nhiên đạt chuẩn 3.

19


THUẬT TỐN KIỂM TRA MỘT LƯỢC ĐỒ QUAN HỆ CĨ ĐẠT CHUẨN
BOYCE CODD
Input: Lược đồ quan hệ R(Ω) và tập phụ thuộc hàm F.
Output: Khẳng định R(Ω) có đạt chuẩn Boyce Codd hay khơng.
Bước 1: Tìm tất cả các khóa của lược đồ quan hệ R(Ω).
Bước 2: Từ tập phụ thuộc hàm F, tạo ra tập phụ thuộc hàm F’ tương đương
với F và có vế phải chỉ có một thuộc tính (nhờ sử dụng luật phân rã).
Bước 3: Nếu mọi phụ thuộc hàm X→A ∈ F’ với A ∉ X đều có X là siêu khóa
thì lược đồ quan hệ đạt chuẩn Boyce Codd. Ngược lại thì lược đồ quan hệ
không đạt chuẩn Boyce Codd.

20



Ví dụ 6.8: Cho lược đồ quan hệ R(A,B,C,D,E,I) và tập phụ thuộc
hàm F = {ACD → EBI, CE → AD}. Hỏi lược đồ quan hệ này có đạt
chuẩn Boyce Codd hay khơng?
Giải
Bước 1: Sau khi áp dụng thuật tốn tìm tất cả các khóa, tìm được
2 khóa: K1 = ACD, K2 = CE.
Bước 2: Xây dựng tập phụ thuộc hàm tương đương F’ có vế phải
một thuộc tính nhờ luật phân rã:
F’ = {ACD → E, ACD → B, ACD → I, CE → A, CE → D}
Bước 3: Duyệt các phụ thuộc hàm trong F’ ta thấy các phụ thuộc
hàm đều có vế trái là khóa ACD hoặc CE nên đương nhiên lược
đồ quan hệ thỏa mãn chuẩn Boyce Codd.

21


6.2.5. XÁC ĐỊNH DẠNG CHUẨN CAO NHẤT CỦA LƯỢC ĐỒ QUAN HỆ

Dạng chuẩn 1 (1st Normal Form)
Dạng chuẩn 2 (2nd Normal Form)
Dạng chuẩn 3 (3rd Normal Form)
Dạng chuẩn Boyce Codd (BCNF)
Một lược đồ quan hệ đã đạt dạng chuẩn nào thì đương nhiên
cũng thỏa mãn các dạng chuẩn thấp hơn.
22


Để xác định dạng chuẩn cao nhất của lược đồ quan hệ người ta sẽ

kiểm tra lần lượt từ chuẩn Boyce Codd đến các dạng chuẩn thấp hơn.
THUẬT TOÁN XÁC ĐỊNH DẠNG CHUẨN CAO NHẤT CỦA LƯỢC ĐỒ
QUAN HỆ
Input: Lược đồ quan hệ R(Ω) và tập phụ thuộc hàm F.
Output: Dạng chuẩn cao nhất của lược đồ quan hệ R(Ω).
Bước 1: Tìm tất cả các khóa của R(Ω).
Bước 2: Kiểm tra xem R(Ω) có đạt chuẩn Boyce Codd khơng. Nếu R(Ω) có đạt
chuẩn Boyce Codd thì kết luận chuẩn Boyce Codd là dạng chuẩn cao nhất của
lược đồ quan hệ và kết thúc thuật tốn. Ngược lại nếu khơng đạt chuẩn Boyce
Codd thì chuyển qua bước 3.
Bước 3: Kiểm tra xem R(Ω) có đạt chuẩn 3 khơng. Nếu R(Ω) có đạt chuẩn 3
thì kết luận chuẩn 3 là dạng chuẩn cao nhất của lược đồ quan hệ và kết thúc
thuật tốn. Ngược lại nếu khơng đạt chuẩn 3 thì chuyển qua bước 4.
Bước 4: Kiểm tra xem R(Ω) có đạt chuẩn 2 khơng. Nếu R(Ω) có đạt chuẩn 2
thì kết luận chuẩn 2 là dạng chuẩn cao nhất của lược đồ quan hệ và kết thúc
thuật tốn. Ngược lại thì kết luận R(Ω) đạt chuẩn 1.
23


6.3. CÁC PHÉP TÁCH BẢO TỒN THƠNG TIN VÀ
BẢO TỒN TẬP PHỤ THUỘC HÀM
6.3.1. PHÉP TÁCH BẢO TỒN THƠNG TIN
A. Khái niệm
Phép tách lược đồ quan hệ R(Ω) thành m lược đồ quan hệ con R 1(Ω1),
R2(Ω2), ... , Rm(Ωm) được gọi là bảo tồn thơng tin nếu như với mọi
quan hệ r trên R(Ω) ta ln có:

Đảm bảo việc khôi phục nguyên vẹn quan hệ gốc ban
đầu từ các quan hệ con sau khi tách, không phát sinh
các bộ phụ thêm.

24


DanhSachHocSinh(MaHS, HoTen, DiemThi, MaLop, TenLop, PhongHoc)
MaHS

HoTen

DiemThi

MaLop

TenLop

PhongHoc

HS01

Nguyễn Văn An

6

L01

10A1

203

HS02


Nguyễn Văn Bình

8

L01

10A1

203

HS03

Lê Hữu Cường

5

L02

10A2

204

HS04

Thái Văn Dương

9

L01


10A1

203

HS05

Bùi Văn Đạt

6

L02

10A2

204

HS06

Lê Thái Minh

7

L03

10A3

205

HocSinh(MaHS, HoTen, DiemThi, MaLop)
MaHS


HoTen

DiemThi

MaLop

Lop(MaLop, TenLop, PhongHoc)
MaLop

TenLop

PhongHoc

L01

L01

10A1

203

5

L02

L02

10A1


203

Thái Văn Dương

9

L01

L03

10A2

204

HS05

Bùi Văn Đạt

6

L02

HS06

Lê Thái Minh

7

L03


HS01

Nguyễn Văn An

6

L01

HS02

Nguyễn Văn Bình

8

HS03

Lê Hữu Cường

HS04


×