lOMoARcPSD| 59994889
5 / 6/2025
Chất lượng thiết kế csdl quan hệ (1)
Thước đo nào để đánh giá chất lượng của csdl quan hệ được thiết kế theo
phương pháp phân tích (top - down)?
Ý nghĩa của lược đồ quan hệ dễ hiểu, ngữ nghĩa của thuộc tính rõ ràng.
Quan hệ không lưu trữ trùng lặp thông tin.
Quan hệ không lưu trữ nhiều giá trị null.
Không tạo ra các bộ dữ liệu ảo.
DEPT_PROJ
Dnumber
Dname
Dlocation
Pnumber
Pname
Plocation
DEPT_PROJ có thuộc tính với ngữ nghĩa rõ
ràng nhưng khó giải thích ý nghĩa của quan
hệ, lưu trữ trùng lặp thông tin gây ra các dị
thường khi cập nhật dữ liệu.
Chuẩn
sở
dữ
liệu
quan
hệ
Bài
8
Nội dung trình bày
Chất
lượng
thiết
kế
csdl
quan
hệ
Phụ
thuộc
hàm
Các dạng
chuẩn
Chuẩn
hóa
quan
hệ
2
lOMoARcPSD| 59994889
5 / 6/2025
5
Research
Bellaire
1
ProductX
Bellaire
5
Houston
3
ProductZ
Houston
4
Administration
Stafford
10
Computerization
Stafford
4
Administration
Stafford
30
Newbenefits
Stafford
1
Headquaters
Houston
20
Reorganization
Houston
3
Chất lượng thiết kế csdl quan hệ (2)
DEPT PROJ
Dnumber
Location
Dname
Pnumber
Pname
Location
5
Bellaire
Research
1
ProductX
Bellaire
5
Houston
Research
3
ProductZ
Houston
4
Stafford
Administration
10
Computerization
Stafford
1
Houston
Headquaters
20
Reorganization
Houston
DEPT * PROJ tạo dữ liệu không chính xác do liên kết trên thuộc tính không phù hợp.
4
Research
lOMoARcPSD| 59994889
5 / 6/2025
Dnumber
Location
Dname
Pnumber
Pname
Location
5
Bellaire
Research
1
ProductX
Bellaire
5
Houston
Research
3
ProductZ
Houston
5
Houston
Research
Reorganization
Houston
4
Stafford
Administration
10
Computerization
Stafford
1
Houston
Headquaters
ProductZ
Houston
Phụ thuộc hàm (1)
Phụ thuộc hàm là ràng buộc giữa hai tập con của tập thuộc tính của một lược
đồ quan hệ, xác định tính duy nhất các giá trị của một số thuộc tính cụ thể.
Ví dụ: DEPT
{Dnumber} → {Dname} biểu diễn ràng Dnumber Location Dname
buộc là với mỗi thể hiện của DEPT nếu 5 Bellaire Research
2 bộ có cùng giá trị Dnumber thì cũng
phải có cùng giá trị Dname. 5 Houston Research
{Dnumber, Location} → {Dname}, 4 Stafford Administration
{Dname} → {Dnumber}. 1 Houston Headquaters
20
3
lOMoARcPSD| 59994889
5 / 6/2025
Cơ sở để xây dựng tiêu chuẩn hình thức đánh giá chất lượng của lược đồ
quan hệ.
5
Hệ tiên đề Armstrong
Hệ tiên đề Armstrong là các luật suy diễn cho phép xác định thêm các pth từ
một tập pth cho trước của lược đồ quan hệ R.
(2)
Phụ
thuộc
hàm
thuộc
ph
Định nghĩa
hàm
:
cho
X
,
Y
thuộc tính
tập
tập con của
là các
lược
đồ
quan
hệ
của
R
; khi đó, phụ
thuộc
hàm
X
Y
được xem
trong
đúng
R
nếu và chỉ nếu, mỗi khi có hai bộ của
R
trùng nhau về
giá trị trên
X
, thì chúng cũng trùng nhau về giá trị trên
Y
.
X
được gọi là vế xác định (vế
trái), và
Y
phải).
là vế phụ thuộc (vế
này có thể được đọc là “
Pth
X
xác định hàm
Y
”, hoặc
Y
phụ thuộc hàm vào
X
,
hay đơn giản là
X
mũi tên
Y
.
Pth
X
Y
hiển
nhiên
nếu
chỉ
nếu
Y
X
.
Biểu
diễn
trên
lược
đồ:
6
Dname
Location
Dnumber
DEPT
lOMoARcPSD| 59994889
5 / 6/2025
Hệ quả của các tiên đề Armstrong
Ví dụ: cho lược đồ quan hệ R(A, B, C, D) và Ƒ= {A → B, B → H} là một tập
pth đúng trên R. Từ các pth A → B, B → H, áp dụng luật bắt cầu thì A → H
cũng là pth đúng trên R.
7
Các dạng
chuẩn
(1)
h
Dạng
chuẩn
một
biểu
diễn
chuẩn
cho
dữ
liệu
dưới
dạng
quan
đảm
bảo
Ý nghĩa
của
quan
hệ
dễ
hiểu.
tin.
Hạn
chế
lưu
trữ
trùng
lặp
thông
ảo.
Không
tạo
ra
các
bộ
dữ
liệu
Các dạng
chuẩn:
Dạng
chuẩn
1
(1NF
).
).
Dạng
chuẩn
2
(2NF
(3NF
Dạng
chuẩn
3
).
Dạng
chuẩn
Boy -
Codd (BCNF).
Dạng
chuẩn
4
(4NF
).
Dạng
chuẩn
5
(5NF
).
8
lOMoARcPSD| 59994889
5 / 6/2025
Các dạng chuẩn (2)
Siêu khóa: cho SK là một tập con của tập thuộc tính của lược đồ quan hệ R.
Khi đó, SK được gọi là một siêu khóa của R nếu và chỉ nếu không tồn tại một
thể hiện hợp lệ nào của R chứa hai bộ khác nhau có cùng giá trị trên tập thuộc
tính SK.
Khóa: cho K là một tập con của tập thuộc tính của lược đồ quan hệ R. Khi đó,
K được gọi là một khóa của R nếu và chỉ nếu K thỏa mãn đồng thời hai tính
chất sau:
K là siêu khóa của R.
Không tồn tại tập con thực sự nào của K cũng là siêu khóa của R.
Một thuộc tính của lược đồ quan hệ R được gọi là thuộc tính khóa nếu và chỉ
nếu nó là một phần của một khóa nào đó của R; ngược lại, được gọi là thuộc
tính không khóa.
Dạng
chuẩn
1 (1)
NF
Định nghĩa
1
hệ
quan
một
:
R
nếu,
chỉ
(1NF) nếu
1
chuẩn
dạng
của
bộ
mỗi
R
tính.
thuộc
mỗi
trị
giá
cho
đúng
một
10
Project
Dlocation
Dname
Dnumber
Plocation
Pname
Bellaire
ProductX
1
{
Bellaire,
Houston}
Research
5
Houston
ProductZ
3
Stafford
Computerization
10
Stafford
Administration
4
Stafford
Newbenefits
30
Houston
Reorganization
20
Houston
Headquaters
1
DEPT_PROJ
DEPT_PROJ không
1
hơn
nhiều
NF do Dlocation
bảng.
dạng
trị
g
hay Project có
trị
giá
một
lOMoARcPSD| 59994889
5 / 6/2025
9
lOMoARcPSD| 59994889
5 / 6/2025
Dạng chuẩn 1 (2)
Do đặc tính của quan hệ (không có thuộc tính đa trị và thuộc tính gộp), mọi
quan hệ đều là dạng chuẩn 1.
11
Dạng chuẩn 2 (1)
Định nghĩa phụ thuộc hàm tối giản: pth X → Y được gọi là tối giản nếu và
chỉ nếu nó đúng trong R và không tồn tại một tập con thực sự của X là X
sao cho pth X’ → Y cũng đúng trong R.
Định nghĩa 2NF: một quan hệ R là dạng chuẩn 2 (2NF) nếu và chỉ nếu với
mỗi khóa K của R và với mỗi thuộc tính không khóa A của R, pth K → {A}
là tối giản.
DEPT_PROJ
Plocation
Pname
Dlocation
Dname
Dnumber
Bellaire
ProductX
1
Bellaire
Research
5
Houston
ProductZ
3
Houston
Research
5
Stafford
Computerization
10
Stafford
Administration
4
Stafford
Newbenefits
30
Stafford
Administration
4
Houston
Reorganization
20
Houston
Headquaters
1
DEPT_PROJ
DEPT_PROJ là
1
NF nhưng
lưu
trữ
trùng
lặp
thông
tin.
lOMoARcPSD| 59994889
5 / 6/2025
Dạng chuẩn 2 (2)
Dnumber
Dname
Dlocation
Pnumber
Pname
Plocation
12
Định nghĩa 2NF tương đương: một quan hệ R là dạng chuẩn 2 (2NF) nếu
chỉ nếu với mỗi pth không hiển nhiên X → Y đúng trong R, ít nhất một trong
các điều sau đúng
X là một siêu khóa của R.
Y là một tập con thực sự của một khóa của R.
X không là một tập con thực sự của một khóa của R.
DEPT_PROJ1 DEPT_LOCATIONS
Dnumber
Dname
Pnumber
Pname
Plocation
Dnumber
Dlocation
Dạng chuẩn 3 (1)
DEPT_PROJ có
là
khóa
{
Dlocation, Pnumber
;
}
2
là
không
NF, do pth
{
DLocation, Pnumber
}
{
Dnumber
}
giản.
không
tối
ƒ
1
ƒ
2
ƒ
3
ƒ
4
ƒ
5
ƒ
6
13
Pnumber
DEPT_PROJ1
là
khóa
2
pth
trái
NF do các
2
Pname; là
khóa
vế
tính
không
khóa
đều
tối
giản.
thuộc
vế
phải
ƒ
46
ƒ
2
ƒ
3
ƒ
5
lOMoARcPSD| 59994889
5 / 6/2025
Dạng chuẩn 3 (2)
Định nghĩa 3NF: một quan hệ R là dạng chuẩn 3 (3NF) nếu và chỉ nếu với
mỗi pth không hiển nhiên X → Y đúng trong R, ít nhất một trong các điều
sau đúng
X là một siêu khóa của R.
Y là một tập con thực sự của một khóa của R.
DEPT_PROJ1
Dnumber
Dname
Pnumber
Pname
Plocation
14
DEPT_PROJ1
DEPT_PROJ1 vẫn có sự trùng lặp thông tin.
DEPARTMENT PROJECT
Dnumber
Dname
Dnumber
Pnumber
Pname
Plocation
15
pth
DEPT_PROJ1 không
3
NF do các
f
2
,
f
3
vế
khóa
siêu
là
không
trái
vế
cũng
không
tập
con thực
sự
của
phải
một
khóa.
ƒ
46
ƒ
2
ƒ
3
ƒ
5
ƒ
2
ƒ
3
ƒ
46
ƒ
5
DEPARTMENT,
PROJECT
3
NF.
lOMoARcPSD| 59994889
5 / 6/2025
Dạng chuẩn 4 (2)
Dạng chuẩn Boyce-Codd (1)
Định nghĩa BCNF: một quan hệ R là dạng chuẩn Boyce-Codd (BCNF) nếu
và chỉ nếu với mỗi pth không hiển nhiên X → Y đúng trong R, điều sau đúng
• X là một siêu khóa của R.
Ví dụ: mỗi dự án cũng cần lưu trữ tổng chi phí, xếp hạng. Biết rằng không có
2 dự án cùng hạng được triển khai cùng một địa điểm, xếp hạng của dự án
dựa trên tổng chi phí.
16
Dnumber
Pnumber
Pname
Plocation
Pcost
Prank
Dnumber
Dname
Pnumber
Pname
Plocation
5
Research
1
ProductX
Bellaire
5
3
ProductZ
Houston
4
Administration
10
Computerization
Stafford
4
Administration
30
Newbenefits
Stafford
1
Headquaters
20
Reorganization
Houston
Research
PROJ_COST_RANK
ƒ
46
ƒ
5
ƒ
7
ƒ
8
3
PROJ_COST_RANK
Pnumber, Pname
là
khóa
{
Plocation,
}
;
3
NF nhưng
không
BCNF
do pth
f
8
vế
trái
khóa.
siêu
là
không
lOMoARcPSD| 59994889
5 / 6/2025
Dạng chuẩn Boyce-Codd (2)
PROJ_COST_RANK
Dnumber
Pnumber
Pname
Plocation
Pcost
Prank
5
1
ProductX
Bellaire
B
5
3
ProductZ
Houston
400
B
4
10
Computerization
Stafford
200
C
4
30
Newbenefits
Stafford
150
C
1
20
Reorganization
Houston
600
A
PROJ_COST
COST_RAN
K
Dnumber
Pnumber
Pname
Plocation
Pcost
Pcost
Prank
PROJ_COST_RANK
vẫn có sự trùng lặp
thông tin.
17
400
ƒ
46
ƒ
5
ƒ
7
PROJ_COST,
COST_RANK
BCNF.
Chuẩn
hóa
quan
hệ
Chuẩn
hóa
thành
đổi
biến
quá
trình
một
lược
đồ
quan
hệ
một
tập
hệ
quan
đồ
lược
hơn
tiêu
mục
(
tốt
trúc
hợp
cấu
3
NF, BCNF)
tương
đương
về
biểu
diễn
dữ
liệu.
18
Quan hệ
NF
1
là
không
Quan hệ
NF
1
hệ
Các quan
2
NF
hệ
Các quan
3
NF
h
Các quan
BCNF
Đảm
bảo
quan
các
hệ
chỉ
đơn
thuộc
tính
mỗi
thuộc
tính
chỉ
một
trị.
giá
pth
các
bỏ
Loại
thuộc
tính
khóa
không
tập
thuộc
phụ
con của
khóa.
pth
các
bỏ
Loại
thuộc
tính
không
khóa
phụ
thuộc
bắt
cầu
khóa.
Loại
bỏ
các
pth
trái
vế
siêu
là
không
khóa.
lOMoARcPSD| 59994889
5 / 6/2025
Chuẩn hóa về
)
1 NF (1)
Chuẩn hóa về 2 NF (1)
Với mỗi pth có thuộc tính không khóa phụ thuộc tập con của khóa, tạo
một quan hệ với tập thuộc tính gồm vế trái và vế phải của pth.
Tạo một quan hệ với tập thuộc tính gồm các thuộc tính còn lại.
19
Project
Dlocation
Dname
Dnumber
Plocation
Pname
DEPT_PROJ
ƒ
1
ƒ
2
ƒ
3
Plocation
Pname
Dlocation
Dname
Dnumber
DEPT_PROJ
ƒ
1
ƒ
2
ƒ
3
ƒ
4
ƒ
5
ƒ
6
1
NF sau
DEPT_PROJ là
trị
đa
bỏ
loại
khi
dạng
các
thuộc
của
gộp
dạng
tính
Dlocation, Project
lOMoARcPSD| 59994889
5 / 6/2025
Chuẩn hóa về
Đảm bảo các quan hệ được liên kết bởi khóa ngoại phù hợp.
DEPT_PROJ
Dnumber
Dname
Dlocation
Pnumber
Pname
Plocation
20
2 NF (2)
DEPT_PROJ1 DEPT_LOCATIONS
Dnumber
Dname
Pnumber
Pname
Plocation
Dnumber
Dlocation
ƒ
46
ƒ
2
ƒ
3
ƒ
5
Quan hệ DEPT_PROJ được biến đổi thành 2 quan hệ
DEPT_PROJ1 và DEPT_LOCATIONS là 2NF. Hơn nữa,
DEPT_LOCATIONS là BCNF.
21
ƒ
1
ƒ
2
ƒ
3
ƒ
4
ƒ
5
ƒ
6
1
NF nhưng
DEPT_PROJ là
không
2
NF, do pth
f
4
, f
6
tính
không
khóa
phụ
thuộc
tập
con của
khóa.
thuộc
lOMoARcPSD| 59994889
5 / 6/2025
Chuẩn hóa về
)
Chuẩn hóa về 3 NF (1)
Với mỗi pth có thuộc tính không khóa phụ thuộc bắt cầu khóa, tạo một
quan hệ với tập thuộc tính gồm vế trái và vế phải của pth.
Tạo một quan hệ với tập thuộc tính gồm các thuộc tính còn lại.
Đảm bảo các quan hệ được liên kết bởi khóa ngoại phù hợp.
DEPT_PROJ1
Dnumber
Dname
Pnumber
Pname
Plocation
DEPT_PROJ1 là 2 NF nhưng không
là 3NF, do pth f , f có
22
3 NF (2)
DEPARTMENT PROJECT
Dnumber
Dname
Dnumber
Pnumber
Pname
Plocation
ƒ
2
ƒ
46
ƒ
3
ƒ
5
ƒ
46
ƒ
2
ƒ
3
ƒ
5
2
3
không
khóa
phụ
thuộc
tính
thuộc
bắt
cầu
khóa.
lOMoARcPSD| 59994889
5 / 6/2025
Chuẩn hóa về
Quan hệ DEPT_PROJ1 được biến đổi thành 2 quan
hệ DEPARTMENT, PROJECT là 3NF (và cũng là
BCNF).
Kết luận, quan hệ DEPT_PROJ được biến đổi thành 3 quan hệ DEPT_LOCATIONS,
DEPARTMENT, PROJECT là 3NF (và cũng là BCNF).
23
Chuẩn hóa về BCNF (1)
Với mỗi pth có vế trái không là siêu khóa, tạo một quan hệ với tập thuộc tính gồm vế
trái và vế phải của pth.
Tạo một quan hệ với tập thuộc tính gồm các thuộc tính còn lại.
Đảm bảo các quan hệ được liên kết bởi khóa ngoại phù hợp.
PROJ_COST_RANK
Dnumber
Pnumber
Pname
Plocation
Pcost
Prank
lOMoARcPSD| 59994889
5 / 6/2025
Chuẩn hóa về
)
24
ƒ
46
ƒ
5
ƒ
7
ƒ
8
PROJ_COST_RANK
3
NF
nhưng
không
BCNF
do
f
pth
8
vế
trái
là
không
khóa.
siêu
lOMoARcPSD| 59994889
5 / 6/2025
Chuẩn hóa về BCNF (2)
PROJ_COST COST_RANK
Dnumber
Pnumber
Pname
Plocation
Pcost
Pcost
Prank
ƒ46ƒ
7
ƒ
5
Quan hệ PROJ_COST_RANK được biến đổi thành 2 quan hệ PROJ_COST,
COST_RANK là BCNF.
25

Preview text:

lOMoAR cPSD| 59994889 5 / 6/2025 Bài 8 Chuẩn hóa
cơ sở dữ liệu quan hệ
Chất lượng thiết kế csdl quan hệ (1)
Thước đo nào để đánh giá chất lượng của csdl quan hệ được thiết kế theo
phương pháp phân tích (top - down)?
• Ý nghĩa của lược đồ quan hệ dễ hiểu, ngữ nghĩa của thuộc tính rõ ràng.
• Quan hệ không lưu trữ trùng lặp thông tin.
DEPT_PROJ có thuộc tính với ngữ nghĩa rõ
• Quan hệ không lưu trữ nhiều giá trị null.
ràng nhưng khó giải thích ý nghĩa của quan •
hệ, lưu trữ trùng lặp thông tin gây ra các dị
Không tạo ra các bộ dữ liệu ảo.
thường khi cập nhật dữ liệu. Nội dung trình bày
Chất lượng thiết kế csdl quan hệ Phụ thuộc hàm Các dạng chuẩn Chuẩn hóa quan hệ 2 DEPT_PROJ Dnumber Dname Dlocation Pnumber Pname Plocation lOMoAR cPSD| 59994889 5 / 6/2025 5 Research Bellaire 1 ProductX Bellaire 5 Houston 3 ProductZ Houston Research 4 Administration Stafford 10 Computerization Stafford 4 Administration Stafford 30 Newbenefits Stafford 1 Headquaters Houston 20 Reorganization Houston 3
Chất lượng thiết kế csdl quan hệ (2) DEPT PROJ Dnumber Location Dname Pnumber Pname Location 5 Bellaire Research 1 ProductX Bellaire 5 Houston Research 3 ProductZ Houston 4 Stafford Administration 10 Computerization Stafford 1 Houston Headquaters 20 Reorganization Houston DEPT * PROJ
tạo dữ liệu không chính xác do liên kết trên thuộc tính không phù hợp. 4 lOMoAR cPSD| 59994889 5 / 6/2025 Dnumber Location Dname Pnumber Pname Location 5 Bellaire Research 1 ProductX Bellaire 5 Houston Research 3 ProductZ Houston 5 Houston Research Reorganization Houston 20 4 Stafford Administration 10 Computerization Stafford 1 Houston Headquaters ProductZ Houston 3 Phụ thuộc hàm (1)
Phụ thuộc hàm là ràng buộc giữa hai tập con của tập thuộc tính của một lược
đồ quan hệ, xác định tính duy nhất các giá trị của một số thuộc tính cụ thể. Ví dụ: DEPT
• {Dnumber} → {Dname} biểu diễn ràng Dnumber Location Dname
buộc là với mỗi thể hiện của DEPT nếu 5 Bellaire Research
2 bộ có cùng giá trị Dnumber thì cũng
phải có cùng giá trị Dname. 5 Houston Research
• {Dnumber, Location} → {Dname}, 4 Stafford Administration {Dname} → {Dnumber}. 1 Houston Headquaters lOMoAR cPSD| 59994889 5 / 6/2025
Cơ sở để xây dựng tiêu chuẩn hình thức đánh giá chất lượng của lược đồ quan hệ. 5 Phụ thuộc hàm (2)
Định nghĩa phụ thuộc hàm : cho X , Y là các tập con của tập thuộc tính
của lược đồ quan hệ R ; khi đó, phụ thuộc hàm X → Y được xem là
đúng trong R nếu và chỉ nếu, mỗi khi có hai bộ của R trùng nhau về
giá trị trên X , thì chúng cũng trùng nhau về giá trị trên Y .
• X được gọi là vế xác định (vế
trái), và Y là vế phụ thuộc (vế phải).
• Pth này có thể được đọc là “ X xác định hàm Y ”, hoặc “ Y phụ thuộc hàm vào X ” ,
hay đơn giản là “ X mũi tên Y ” .
• Pth X → Y là hiển nhiên nếu và chỉ nếu Y X .
Biểu diễn trên lược đồ: DEPT Dnumber Location Dname 6 Hệ tiên đề Armstrong
Hệ tiên đề Armstrong là các luật suy diễn cho phép xác định thêm các pth từ
một tập pth cho trước của lược đồ quan hệ R. • • lOMoAR cPSD| 59994889 5 / 6/2025 •
Hệ quả của các tiên đề Armstrong • • •
Ví dụ: cho lược đồ quan hệ R(A, B, C, D) và Ƒ= {A → B, B → H} là một tập
pth đúng trên R. Từ các pth A → B, B → H, áp dụng luật bắt cầu thì A → H cũng là pth đúng trên R. 7 Các dạng chuẩn (1)
Dạng chuẩn là một biểu diễn chuẩn cho dữ liệu dưới dạng quan hệ đảm bảo
• Ý nghĩa của quan hệ dễ hiểu.
• Hạn chế lưu trữ trùng lặp thông tin.
• Không tạo ra các bộ dữ liệu ảo. Các dạng chuẩn: • Dạng chuẩn 1 (1NF ). • Dạng chuẩn 2 (2 ) NF . • Dạng chuẩn 3 ( 3NF ).
• Dạng chuẩn Boy - Codd (BCNF). • Dạng chuẩn 4 (4NF ). • Dạng chuẩn 5 (5NF ). 8 lOMoAR cPSD| 59994889 5 / 6/2025 Các dạng chuẩn (2)
Siêu khóa: cho SK là một tập con của tập thuộc tính của lược đồ quan hệ R.
Khi đó, SK được gọi là một siêu khóa của R nếu và chỉ nếu không tồn tại một
thể hiện hợp lệ nào của R chứa hai bộ khác nhau có cùng giá trị trên tập thuộc tính SK.
Khóa: cho K là một tập con của tập thuộc tính của lược đồ quan hệ R. Khi đó,
K được gọi là một khóa của R nếu và chỉ nếu K thỏa mãn đồng thời hai tính chất sau:
• K là siêu khóa của R.
• Không tồn tại tập con thực sự nào của K cũng là siêu khóa của R.
Một thuộc tính của lược đồ quan hệ R được gọi là thuộc tính khóa nếu và chỉ
nếu nó là một phần của một khóa nào đó của R; ngược lại, được gọi là thuộc tính không khóa. Dạng chuẩn 1 (1) Định nghĩa 1NF
: một quan hệ R là dạng chuẩn 1 (1NF) nếu và chỉ nếu,
mỗi bộ của R có đúng một giá trị cho mỗi thuộc tính.
DEPT_PROJ không là 1 NF do Dlocation có nhiều hơn một giá trị h ay Project có giá trị d ạng bảng. DEPT_PROJ Dnumber Dname Dlocation Project Pnumber Pname Plocation 5 Research { Bellaire, 1 ProductX Bellaire Houston} 3 ProductZ Houston 4 Administration Stafford 10 Computerization Stafford 30 Newbenefits Stafford 1 Headquaters Houston 20 Reorganization Houston 10 lOMoAR cPSD| 59994889 5 / 6/2025 9 lOMoAR cPSD| 59994889 5 / 6/2025 Dạng chuẩn 1 (2)
DEPT_PROJ là 1 NF nhưng có lưu trữ trùng lặp thông tin. DEPT_PROJ Dnumber Dname Dlocation Pnumber Pname Plocation 5 Research Bellaire 1 ProductX Bellaire 5 Research Houston 3 ProductZ Houston 4 Administration Stafford 10 Computerization Stafford 4 Administration Stafford 30 Newbenefits Stafford 1 Headquaters Houston 20 Reorganization Houston
Do đặc tính của quan hệ (không có thuộc tính đa trị và thuộc tính gộp), mọi
quan hệ đều là dạng chuẩn 1. 11 Dạng chuẩn 2 (1)
Định nghĩa phụ thuộc hàm tối giản: pth X → Y được gọi là tối giản nếu và
chỉ nếu nó đúng trong R và không tồn tại một tập con thực sự của X là X’
sao cho pth X’ → Y cũng đúng trong R.
Định nghĩa 2NF: một quan hệ R là dạng chuẩn 2 (2NF) nếu và chỉ nếu với
mỗi khóa K của R và với mỗi thuộc tính không khóa A của R, pth K → {A} là tối giản. DEPT_PROJ lOMoAR cPSD| 59994889 5 / 6/2025 Dạng chuẩn 2 (2)
Dnumber Dname Dlocation Pnumber Pname Plocation ƒ 1 ƒ 2 DEPT_PROJ có khóa là ƒ 3 { Dlocation, Pnumber ; } ƒ 4 không là 2 NF, do pth ƒ { DLocation, Pnumber } → 5
{ Dnumber } không tối giản. ƒ 6 12
Định nghĩa 2NF tương đương: một quan hệ R là dạng chuẩn 2 (2NF) nếu và
chỉ nếu với mỗi pth không hiển nhiên X → Y đúng trong R, ít nhất một trong các điều sau đúng
• X là một siêu khóa của R.
• Y là một tập con thực sự của một khóa của R.
• X không là một tập con thực sự của một khóa của R. DEPT_PROJ1 DEPT_LOCATIONS Dnumber Dname Pnumber Pname Plocation Dnumber Dlocation ƒ 46 ƒ 2 ƒ 3
DEPT_PROJ1 có 2 khóa là Pnumber và ƒ 5 Pname; là 2NF d
o các pth có vế trái là khóa và
vế phải là thuộc tính không khóa đều tối giản. 13 Dạng chuẩn 3 (1) lOMoAR cPSD| 59994889 5 / 6/2025 Dạng chuẩn 3 (2)
Định nghĩa 3NF: một quan hệ R là dạng chuẩn 3 (3NF) nếu và chỉ nếu với
mỗi pth không hiển nhiên X → Y đúng trong R, ít nhất một trong các điều sau đúng
• X là một siêu khóa của R.
• Y là một tập con thực sự của một khóa của R. DEPT_PROJ1 Dnumber Dname Pnumber Pname Plocation ƒ 46 ƒ 2 ƒ 3
DEPT_PROJ1 không là 3 NF do các pth ƒ 5 f có vế 2 , f 3
trái không là siêu khóa và vế
phải cũng không là tập con thực sự của một khóa. 14 DEPT_PROJ1
DEPT_PROJ1 vẫn có sự trùng lặp thông tin. DEPARTMENT PROJECT Dnumber Dname Dnumber Pnumber Pname Plocation ƒ ƒ 2 46 ƒ ƒ 3 5 DEPARTMENT, PROJECT là 3 NF. 15 lOMoAR cPSD| 59994889 5 / 6/2025 Dạng Dnum chuẩ ber n 4 (2) Dna me Pnumber Pname Plocation 5 Research 1 ProductX Bellaire 5 3 ProductZ Houston Research 4 Administration 10 Computerization Stafford 4 Administration 30 Newbenefits Stafford 1 Headquaters 20 Reorganization Houston Dạng chuẩn Boyce-Codd (1)
Định nghĩa BCNF: một quan hệ R là dạng chuẩn Boyce-Codd (BCNF) nếu
và chỉ nếu với mỗi pth không hiển nhiên X → Y đúng trong R, điều sau đúng
• X là một siêu khóa của R.
Ví dụ: mỗi dự án cũng cần lưu trữ tổng chi phí, xếp hạng. Biết rằng không có
2 dự án cùng hạng được triển khai cùng một địa điểm, xếp hạng của dự án dựa trên tổng chi phí. Dnumber Pnumber Pname Plocation Pcost Prank PROJ_COST_RANK PROJ_COST_RANK có 3 ƒ 46 khóa là Pnumber, Pname ƒ và { Plocation, Pranking } ; 5 ƒ là 3 NF nhưng không là 7
BCNF do pth f 8 có vế trái ƒ 8 không là siêu khóa. 16 lOMoAR cPSD| 59994889 5 / 6/2025 Dạng chuẩn Boyce-Codd (2) 1 20 Reorganization Houston 600 A ƒ 46 ƒ 7 PROJ_COST, ƒ 5 COST_RANK là BCNF. PROJ_COST_RANK PROJ_COST COST_RAN Dnumber Pnumber Pname Plocation Pcost Prank K 5 1 ProductX Bellaire B 400 Dnumber Pnumber Pname Plocation Pcost Pcost Prank PROJ_COST_RANK vẫn có sự trùng lặp 5 3 ProductZ Houston 400 B thông tin. 4 10 Computerization Stafford 200 C 4 30 Newbenefits Stafford 150 C 17 Chuẩn hóa quan hệ
Chuẩn hóa là quá trình biến đổi một lược đồ quan hệ thành một tập
hợp lược đồ quan hệ có cấu trúc tốt hơn (m ục tiêu là 3 NF, BCNF)
tương đương về biểu diễn dữ liệu. Đảm bảo quan Loại bỏ các pth Loại bỏ các pth Loại bỏ các pth hệ chỉ có các có thuộc tính có th uộc tính có vế trái thuộc tính đơn không khóa không khóa không là siêu và m ỗi thuộc phụ thuộc tập phụ thuộc bắt khóa. tính chỉ có một con của khóa. cầu khóa. giá trị. Quan hệ Quan hệ là Các quan hệ Các quan hệ Các quan hệ không là 1NF 1NF là 2 NF là 3 NF là BCNF 18 lOMoAR cPSD| 59994889 5 / 6/2025 Chuẩn hóa về 1 NF (1) DEPT_PROJ Dnumber Dname Dlocation Project Pnumber Pname Plocation ƒ 1 ƒ 2 DEPT_PROJ ƒ 3
Dnumber Dname Dlocation Pnumber Pname Plocation ƒ 1 DEPT_PROJ là 1 NF sau ƒ 2
khi loại bỏ dạng đa trị và ƒ 3
dạng gộp của các thuộc ƒ 4 tính Dlocation, Project ƒ 5 ƒ 6 19 Chuẩn hóa về 2 NF (1)
• Với mỗi pth có thuộc tính không khóa phụ thuộc tập con của khóa, tạo
một quan hệ với tập thuộc tính gồm vế trái và vế phải của pth.
• Tạo một quan hệ với tập thuộc tính gồm các thuộc tính còn lại. ) lOMoAR cPSD| 59994889 5 / 6/2025 Chuẩn hóa về
• Đảm bảo các quan hệ được liên kết bởi khóa ngoại phù hợp. DEPT_PROJ
Dnumber Dname Dlocation Pnumber Pname Plocation ƒ 1 DEPT_PROJ là 1 NF nhưng ƒ 2
không là 2 NF, do pth f 4 , f 6 có ƒ
thuộc tính không khóa phụ 3 ƒ
thuộc tập con của khóa. 4 ƒ 5 ƒ 6 20 2 NF (2) DEPT_PROJ1 DEPT_LOCATIONS Dnumber Dname Pnumber Pname Plocation Dnumber Dlocation ƒ46 ƒ2 ƒ3 ƒ5
Quan hệ DEPT_PROJ được biến đổi thành 2 quan hệ
DEPT_PROJ1 và DEPT_LOCATIONS là 2NF. Hơn nữa, DEPT_LOCATIONS là BCNF. 21 lOMoAR cPSD| 59994889 5 / 6/2025 Chuẩn hóa về Chuẩn hóa về 3 NF (1)
• Với mỗi pth có thuộc tính không khóa phụ thuộc bắt cầu khóa, tạo một
quan hệ với tập thuộc tính gồm vế trái và vế phải của pth.
• Tạo một quan hệ với tập thuộc tính gồm các thuộc tính còn lại.
• Đảm bảo các quan hệ được liên kết bởi khóa ngoại phù hợp. DEPT_PROJ1 ƒ 46 ƒ 2 ƒ 2 3 3
thuộc tính không khóa phụ ƒ 5 thuộc bắt cầu khóa. Dnumber Dname Pnumber Pname Plocation
DEPT_PROJ1 là 2 NF nhưng không là 3NF, do pth f , f có 22 3 NF (2) DEPARTMENT PROJECT Dnumber Dname Dnumber Pnumber Pname Plocation ƒ2 ƒ46 ƒ3 ƒ5 ) lOMoAR cPSD| 59994889 5 / 6/2025 Chuẩn hóa về
Quan hệ DEPT_PROJ1 được biến đổi thành 2 quan hệ DEPARTMENT, PROJECT là 3NF (và cũng là BCNF).
Kết luận, quan hệ DEPT_PROJ được biến đổi thành 3 quan hệ DEPT_LOCATIONS,
DEPARTMENT, PROJECT là 3NF (và cũng là BCNF). 23 Chuẩn hóa về BCNF (1)
• Với mỗi pth có vế trái không là siêu khóa, tạo một quan hệ với tập thuộc tính gồm vế
trái và vế phải của pth.
• Tạo một quan hệ với tập thuộc tính gồm các thuộc tính còn lại.
• Đảm bảo các quan hệ được liên kết bởi khóa ngoại phù hợp. PROJ_COST_RANK Dnumber Pnumber Pname Plocation Pcost Prank lOMoAR cPSD| 59994889 5 / 6/2025 Chuẩn hóa về ƒ 46 PROJ_COST_RANK là 3 NF ƒ 5 nhưng không là BCNF do ƒ 7
pth f 8 có vế trái không là ƒ siêu khóa. 8 24 ) lOMoAR cPSD| 59994889 5 / 6/2025 Chuẩn hóa về BCNF (2) PROJ_COST COST_RANK Dnumber Pnumber Pname Plocation Pcost Pcost Prank ƒ46ƒ7 ƒ5
Quan hệ PROJ_COST_RANK được biến đổi thành 2 quan hệ PROJ_COST, COST_RANK là BCNF. 25