Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
1,63 MB
Nội dung
Biên soạn : ThS.Phan Võ Minh Thắng
1
Cơ sởDữliệu : Chuẩn hóa
Nh
Nh
ậ
ậ
p mônCơ s
p mônCơ s
ở
ở
D
D
ữ
ữ
li
li
ệ
ệ
u
u
Ph
Ph
ầ
ầ
n 5
n 5
–
–
Chu
Chu
ẩ
ẩ
n h
n h
ó
ó
a
a
Biên soạn : ThS.Phan Võ Minh Thắng
2
Cơ sởDữliệu : Chuẩnhóa
N
N
ộ
ộ
i
i
dung
dung
•
•
Chu
Chu
ẩ
ẩ
n h
n h
ó
ó
a l
a l
à
à
g
g
ì
ì
, vai trò c
, vai trò c
ủ
ủ
a n
a n
ó
ó
trong vi
trong vi
ệ
ệ
c
c
thi
thi
ế
ế
t k
t k
ế
ế
CSDL
CSDL
•
•
C
C
á
á
c d
c d
ạ
ạ
ng chu
ng chu
ẩ
ẩ
n 1NF
n 1NF
, 2NF, 3NF, BCNF,
, 2NF, 3NF, BCNF,
v
v
à
à
4NF
4NF
•
•
C
C
á
á
ch chuy
ch chuy
ể
ể
n t
n t
ừ
ừ
d
d
ạ
ạ
ng chu
ng chu
ẩ
ẩ
n th
n th
ấ
ấ
p lên d
p lên d
ạ
ạ
ng
ng
chu
chu
ẩ
ẩ
n cao hơn
n cao hơn
Biên soạn : ThS.Phan Võ Minh Thắng
3
Cơ sởDữliệu : Chuẩnhóa
N
N
ộ
ộ
i
i
dung
dung
•
•
Vi
Vi
ệ
ệ
c
c
chu
chu
ẩ
ẩ
n
n
h
h
ó
ó
a
a
v
v
à
à
vi
vi
ệ
ệ
c
c
mô
mô
h
h
ì
ì
nh
nh
E
E
-
-
R
R
đư
đư
ợ
ợ
c
c
d
d
ù
ù
ng
ng
đ
đ
ồ
ồ
ng
ng
th
th
ờ
ờ
i
i
v
v
ớ
ớ
i
i
nhau
nhau
đ
đ
ể
ể
th
th
ự
ự
c
c
hi
hi
ệ
ệ
n
n
t
t
ố
ố
t
t
vi
vi
ệ
ệ
c
c
thi
thi
ế
ế
t
t
k
k
ế
ế
CSDL
CSDL
•
•
Trong
Trong
m
m
ộ
ộ
t
t
v
v
à
à
i
i
trư
trư
ờ
ờ
ng
ng
h
h
ợ
ợ
p
p
yêu
yêu
c
c
ầ
ầ
u
u
ph
ph
ả
ả
i
i
de
de
-
-
normalization
normalization
đ
đ
ể
ể
ph
ph
á
á
t
t
sinh
sinh
thông
thông
tin
tin
m
m
ộ
ộ
t
t
c
c
á
á
ch
ch
hi
hi
ệ
ệ
u
u
qu
qu
ả
ả
Biên soạn : ThS.Phan Võ Minh Thắng
4
Cơ sởDữliệu : Chuẩnhóa
C
C
á
á
c
c
b
b
ả
ả
ng
ng
trong
trong
CSDL
CSDL
v
v
à
à
s
s
ự
ự
chu
chu
ẩ
ẩ
n
n
h
h
ó
ó
a
a
•
•
B
B
ả
ả
ng
ng
l
l
à
à
th
th
à
à
nh
nh
ph
ph
ầ
ầ
n
n
cơ
cơ
s
s
ở
ở
trong
trong
thi
thi
ế
ế
t
t
k
k
ế
ế
CSDL
CSDL
•
•
C
C
ấ
ấ
u
u
tr
tr
ú
ú
c
c
b
b
ả
ả
ng
ng
l
l
à
à
m
m
ố
ố
i
i
quan
quan
tâm
tâm
h
h
à
à
ng
ng
đ
đ
ầ
ầ
u
u
•
•
C
C
ó
ó
hai
hai
trư
trư
ờ
ờ
ng
ng
h
h
ợ
ợ
p
p
:
:
–
–
V
V
ẫ
ẫ
n
n
c
c
ó
ó
th
th
ể
ể
còn
còn
t
t
ồ
ồ
n
n
t
t
ạ
ạ
i
i
c
c
á
á
c
c
b
b
ả
ả
ng
ng
c
c
ó
ó
c
c
ấ
ấ
u
u
tr
tr
ú
ú
c
c
không
không
t
t
ố
ố
t
t
trong
trong
thi
thi
ế
ế
t
t
k
k
ế
ế
CSDL
CSDL
h
h
ợ
ợ
p
p
lý
lý
–
–
Hi
Hi
ệ
ệ
u
u
ch
ch
ỉ
ỉ
nh
nh
CSDL
CSDL
s
s
ẵ
ẵ
n
n
c
c
ó
ó
,
,
v
v
à
à
c
c
ấ
ấ
u
u
tr
tr
ú
ú
c
c
c
c
á
á
c
c
b
b
ả
ả
ng
ng
không
không
t
t
ố
ố
t
t
•
•
Chu
Chu
ẩ
ẩ
n
n
h
h
ó
ó
a
a
c
c
ó
ó
th
th
ể
ể
gi
gi
ú
ú
p
p
ta
ta
nh
nh
ậ
ậ
n
n
bi
bi
ế
ế
t
t
c
c
á
á
c
c
b
b
ả
ả
ng
ng
c
c
ó
ó
c
c
ấ
ấ
u
u
tr
tr
ú
ú
c
c
không
không
t
t
ố
ố
t
t
v
v
à
à
chuy
chuy
ể
ể
n
n
n
n
ó
ó
th
th
à
à
nh
nh
c
c
á
á
c
c
b
b
ả
ả
ng
ng
c
c
ó
ó
c
c
ấ
ấ
u
u
tr
tr
ú
ú
c
c
t
t
ố
ố
t
t
hơn
hơn
Biên soạn : ThS.Phan Võ Minh Thắng
5
Cơ sởDữliệu : Chuẩnhóa
C
C
á
á
c
c
b
b
ả
ả
ng
ng
trong
trong
CSDL
CSDL
v
v
à
à
s
s
ự
ự
chu
chu
ẩ
ẩ
n
n
h
h
ó
ó
a
a
•
•
Chu
Chu
ẩ
ẩ
n
n
h
h
ó
ó
a
a
l
l
à
à
qu
qu
á
á
tr
tr
ì
ì
nh
nh
g
g
á
á
n
n
c
c
á
á
c
c
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
cho
cho
c
c
á
á
c
c
th
th
ự
ự
c
c
th
th
ể
ể
–
–
Gi
Gi
ả
ả
m
m
dư
dư
th
th
ừ
ừ
a
a
d
d
ữ
ữ
li
li
ệ
ệ
u
u
–
–
S
S
ử
ử
d
d
ụ
ụ
ng
ng
cho
cho
h
h
ế
ế
t
t
c
c
á
á
c
c
th
th
ự
ự
c
c
th
th
ể
ể
–
–
Gi
Gi
ú
ú
p
p
lo
lo
ạ
ạ
i
i
b
b
ỏ
ỏ
c
c
á
á
c
c
data anomalies
data anomalies
–
–
T
T
ạ
ạ
o
o
c
c
á
á
c
c
dư
dư
th
th
ừ
ừ
a
a
đư
đư
ợ
ợ
c
c
ki
ki
ể
ể
m
m
so
so
á
á
t
t
đ
đ
ể
ể
liên
liên
k
k
ế
ế
t
t
c
c
á
á
c
c
b
b
ả
ả
ng
ng
–
–
Đòi
Đòi
h
h
ỏ
ỏ
i
i
nhi
nhi
ề
ề
u
u
chi
chi
ph
ph
í
í
x
x
ử
ử
lý
lý
hơn
hơn
–
–
Tr
Tr
ả
ả
i
i
qua
qua
m
m
ộ
ộ
t
t
dãi
dãi
c
c
á
á
c
c
bư
bư
ớ
ớ
c
c
g
g
ọ
ọ
i
i
l
l
à
à
c
c
á
á
c
c
d
d
ạ
ạ
ng
ng
chu
chu
ẩ
ẩ
n
n
Biên soạn : ThS.Phan Võ Minh Thắng
6
Cơ sởDữliệu : Chuẩnhóa
Database Tables and
Database Tables and
Normalization
Normalization
•
•
C
C
á
á
c
c
giai
giai
đo
đo
ạ
ạ
n
n
chu
chu
ẩ
ẩ
n
n
h
h
ó
ó
a
a
–
–
1NF
1NF
-
-
First normal form
First normal form
–
–
2NF
2NF
-
-
Second normal form
Second normal form
–
–
3NF
3NF
-
-
Third normal form
Third normal form
–
–
4NF
4NF
-
-
Fourth normal form
Fourth normal form
Better in
dependency
Worse in
performance
(I/O)
Business
Bioinformatics
Statistical data
Biên soạn : ThS.Phan Võ Minh Thắng
7
Cơ sởDữliệu : Chuẩnhóa
Database Tables and
Database Tables and
Normalization
Normalization
•
•
V
V
í
í
d
d
ụ
ụ
:
:
M
M
ộ
ộ
t
t
công
công
ty
ty
xây
xây
d
d
ự
ự
ng
ng
–
–
Building projects
Building projects
•
•
Project number
Project number
•
•
Project name
Project name
•
•
Employees assigned
Employees assigned
•
•
…
…
–
–
Employee
Employee
•
•
Employee number
Employee number
•
•
Employee name
Employee name
•
•
Job classification
Job classification
Biên soạn : ThS.Phan Võ Minh Thắng
8
Cơ sởDữliệu : Chuẩnhóa
Ví dụ:
mộtmẫubáocáo
định kỳ tạicôngty.
Biên soạn : ThS.Phan Võ Minh Thắng
9
Cơ sởDữliệu : Chuẩnhóa
Table 4.1 should be here.
Biên soạn : ThS.Phan Võ Minh Thắng
10
Cơ sởDữliệu : Chuẩnhóa
K
K
ế
ế
t
t
qu
qu
ả
ả
quan
quan
s
s
á
á
t
t
t
t
ừ
ừ
h
h
ì
ì
nh
nh
4.1
4.1
•
•
PRO_NUM intended to be primary key, but
PRO_NUM intended to be primary key, but
it contains null values.
it contains null values.
•
•
Table entries invite data inconsistencies
Table entries invite data inconsistencies
[...]... CHG_HOUR) Biên soạn : ThS.Phan Võ Minh Thắng 22 CơsởDữliệu : Chuẩn hóa 3NF Summarized • In 2NF • Contains no transitive dependencies Biên soạn : ThS.Phan Võ Minh Thắng 23 CơsởDữliệu : Chuẩn hóa Additional DB Enhancements Figure 4.6 Biên soạn : ThS.Phan Võ Minh Thắng 24 CơsởDữliệu : Chuẩn hóa Biên soạn : ThS.Phan Võ Minh Thắng 25 CơsởDữliệu : Chuẩn hóa Boyce-Codd Normal Form (BCNF) • Every determinant... BCNF Biên soạn : ThS.Phan Võ Minh Thắng 26 CơsởDữliệu : Chuẩn hóa 3NF Table Not in BCNF Figure 4.7 Biên soạn : ThS.Phan Võ Minh Thắng 27 CơsởDữliệu : Chuẩn hóa Decomposition of Table Structure to Meet BCNF Figure 4.8 Biên soạn : ThS.Phan Võ Minh Thắng 28 CơsởDữliệu : Chuẩn hóa Example: BCNF conversion Biên soạn : ThS.Phan Võ Minh Thắng 29 CơsởDữliệu : Chuẩn hóa Decomposition into BCNF Figure... 19 CơsởDữliệu : Chuẩn hóa 2NF Conversion Results Figure 4 .5 Biên soạn : ThS.Phan Võ Minh Thắng 20 CơsởDữliệu : Chuẩn hóa 2NF Summarized • In 1NF • Includes no partial dependencies – No attribute dependent on a portion of primary key • Still possible to exhibit transitive dependency – Attributes may be functionally dependent on nonkey attributes Biên soạn : ThS.Phan Võ Minh Thắng 21 CơsởDữ liệu. .. ThS.Phan Võ Minh Thắng 12 CơsởDữliệu : Chuẩn hóa Data Organization: 1NF PK PK Figure 4.3 Biên soạn : ThS.Phan Võ Minh Thắng 13 Cơ sởDữliệu : Chuẩn hóa Conversion to 1NF • Repeating groups must be eliminated – Proper primary key developed • Uniquely identifies attribute values (rows) • Combination of PROJ_NUM and EMP_NUM Biên soạn : ThS.Phan Võ Minh Thắng 14 Cơ sởDữliệu : Chuẩn hóa Conversion... ThS.Phan Võ Minh Thắng 15 Cơ sởDữliệu : Chuẩn hóa Dependency Diagram (1NF) Above: Desired Dependencies Figure 4.4 Composite primary key Below: Less Desired Dependencies Biên soạn : ThS.Phan Võ Minh Thắng 16 Cơ sởDữliệu : Chuẩn hóa PROJ_NUM,EMP_NUM PROJ_NAME, EMP_NAME, JOB_CLASS,CHG_HOUR, HOURS DESIRED DEPENDENCIES PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME, JOB_CLASS, CHG_HOUR JOB_CLASS -> CHG_HOUR Biên soạn... ThS.Phan Võ Minh Thắng 30 Cơ sởDữliệu : Chuẩn hóa Normalization and Database Design • Normalization should be part of the design process • Make sure the proposed entities meet the required normal form before the table structures are created • Used to redesign or modify the existing table structures • E-R Diagram provides macro view Biên soạn : ThS.Phan Võ Minh Thắng 31 CơsởDữliệu : Chuẩn hóa Normalization... CơsởDữliệu : Chuẩn hóa Normalization and Database Design • Contracting company’s example: PROJECT (PROJ_NUM, PROJ_NAME) EMPLOYEE(EMP_NUM, EMP_LNAME,EMP_FNAME,EMP_INITAL, JOB_DESCRIPTION, JOB_CHG_HOUR); Biên soạn : ThS.Phan Võ Minh Thắng 33 CơsởDữliệu : Chuẩn hóa Initial ERD for Contracting Company Figure 4.10 There is a transitive dependency Biên soạn : ThS.Phan Võ Minh Thắng Already 3NF 34 Cơ. .. JOB_CLASS -> CHG_HOUR Biên soạn : ThS.Phan Võ Minh Thắng PARTIAL DEPENDENCIES TRANSITIVE DEPENDENCIES 17 CơsởDữliệu : Chuẩn hóa 1NF Summarized • All key attributes defined • No repeating groups in table • All attributes dependent on primary key Biên soạn : ThS.Phan Võ Minh Thắng 18 CơsởDữliệu : Chuẩn hóa Conversion to 2NF • • • • • Start with 1NF format: Write each key component on separate line.. .Cơ sởDữliệu : Chuẩn hóa Kết quả quan sát từ hình 4.1 • Table displays data redundancies which yield the following anomalies – Update • Modifying JOB_CLASS – Insertion • New employee must be assigned project (phantom project) – Deletion • If employee deleted, other vital data lost Biên soạn : ThS.Phan Võ Minh Thắng 11 CơsởDữliệu : Chuẩn hóa Figure 4.2 is insert... Figure 4.10 There is a transitive dependency Biên soạn : ThS.Phan Võ Minh Thắng Already 3NF 34 CơsởDữliệu : Chuẩn hóa Removal PROJECT (PROJ_NUM, PROJ_NAME) EMPLOYEE(EMP_NUM, EMP_LNAME,EMP_FNAME,EMP_INITAL, JOB_CODE) JOB (JOB_CODE, JOB_DESCRIPTION, JOB_CHG_HOUR); Biên soạn : ThS.Phan Võ Minh Thắng 35 CơsởDữliệu : Chuẩn hóa Modified ERD for Contracting Company Figure 4.11 Biên soạn : ThS.Phan Võ Minh . Thắng 1 Cơ sở Dữ liệu : Chuẩn hóa Nh Nh ậ ậ p môn Cơ s p môn Cơ s ở ở D D ữ ữ li li ệ ệ u u Ph Ph ầ ầ n 5 n 5 – – Chu Chu ẩ ẩ n h n h ó ó a a Biên soạn : ThS.Phan Võ Minh Thắng 2 Cơ sở Dữ liệu. classification Biên soạn : ThS.Phan Võ Minh Thắng 8 Cơ sở Dữ liệu : Chuẩnhóa Ví dụ: mộtmẫubáocáo định kỳ tạicôngty. Biên soạn : ThS.Phan Võ Minh Thắng 9 Cơ sở Dữ liệu : Chuẩnhóa Table 4.1 should be here : ThS.Phan Võ Minh Thắng 13 Cơ sở Dữ liệu : Chuẩnhóa Data Organization: 1NF Data Organization: 1NF Figure 4.3 PK PK Biên soạn : ThS.Phan Võ Minh Thắng 14 Cơ sở Dữ liệu : Chuẩnhóa Conversion to