Tải bản đầy đủ (.pdf) (51 trang)

nhập môn cơ sở dữ liệu - phần 5

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 (1.63 MB, 51 trang )

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 : 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


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


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




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


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


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




hơn
hơn


Tr
Tr


i
i
qua
qua
m
m


t
t

dãi
dãi
c
c
á
á
c
c




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
Biên soạn : ThS.Phan Võ Minh Thắng
11
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


Table displays data redundancies which
Table displays data redundancies which
yield the following anomalies
yield the following anomalies


Update
Update


Modifying JOB_CLASS
Modifying JOB_CLASS


Insertion
Insertion


New employee must be assigned project (phantom
New employee must be assigned project (phantom
project)
project)



Deletion
Deletion


If employee deleted, other vital data lost
If employee deleted, other vital data lost
Biên soạn : ThS.Phan Võ Minh Thắng
12
Cơ sở Dữ liệu : Chuẩnhóa
Figure 4.2 is insert here.
Repeating group (any project can have a group of
data entries) which should not to be appeared in
relational table
Biên soạn : 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 1NF
Conversion to 1NF


Repeating groups must be eliminated

Repeating groups must be eliminated


Proper primary key developed
Proper primary key developed


Uniquely identifies attribute values (rows)
Uniquely identifies attribute values (rows)


Combination of PROJ_NUM and EMP_NUM
Combination of PROJ_NUM and EMP_NUM
Biên soạn : ThS.Phan Võ Minh Thắng
15
Cơ sở Dữ liệu : Chuẩnhóa
Conversion to 1NF
Conversion to 1NF


Repeating groups must be eliminated
Repeating groups must be eliminated


Dependencies can be identified
Dependencies can be identified


Desirable dependencies based on primary key
Desirable dependencies based on primary key



Less desirable dependencies
Less desirable dependencies


Partial
Partial


based on part of composite primary key
based on part of composite primary key


Transitive
Transitive


one nonprime attribute depends on another nonprime
one nonprime attribute depends on another nonprime
attribute
attribute
Biên soạn : ThS.Phan Võ Minh Thắng
16
Cơ sở Dữ liệu : Chuẩnhóa
Dependency Diagram (1NF)
Dependency Diagram (1NF)
Figure 4.4
Above: Desired Dependencies
Below: Less Desired Dependencies

Composite primary key
Biên soạn : ThS.Phan Võ Minh Thắng
17
Cơ sở Dữ liệu : Chuẩnhóa
PROJ_NUM,EMP_NUM Æ PROJ_NAME, EMP_NAME,
JOB_CLASS,CHG_HOUR, HOURS
PROJ_NUM Æ PROJ_NAME
DESIRED DEPENDENCIES
EMP_NUM Æ EMP_NAME, JOB_CLASS, CHG_HOUR
PARTIAL DEPENDENCIES
JOB_CLASS -> CHG_HOUR
TRANSITIVE DEPENDENCIES
Biên soạn : ThS.Phan Võ Minh Thắng
18
Cơ sở Dữ liệu : Chuẩnhóa
1NF Summarized
1NF Summarized


All key attributes defined
All key attributes defined


No repeating groups in table
No repeating groups in table


All attributes dependent on
All attributes dependent on
primary key

primary key
Biên soạn : ThS.Phan Võ Minh Thắng
19
Cơ sở Dữ liệu : Chuẩnhóa
Conversion to 2NF
Conversion to 2NF


Start with 1NF format:
Start with 1NF format:


Write each key component on separate line
Write each key component on separate line


Write original key on last line
Write original key on last line


Each component is new table
Each component is new table


Write dependent attributes after each key
Write dependent attributes after each key
PROJECT (PROJ_NUM, PROJ_NAME)
EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS, CHG_HOUR)
ASSIGN (PROJ_NUM, EMP_NUM, HOURS)
Biên soạn : ThS.Phan Võ Minh Thắng

20
Cơ sở Dữ liệu : Chuẩnhóa
2NF Conversion Results
2NF Conversion Results
Figure 4.5
Biên soạn : ThS.Phan Võ Minh Thắng
21
Cơ sở Dữ liệu : Chuẩnhóa
2NF Summarized
2NF Summarized


In 1NF
In 1NF


Includes no partial dependencies
Includes no partial dependencies


No attribute dependent on a portion of primary
No attribute dependent on a portion of primary
key
key


Still possible to exhibit transitive
Still possible to exhibit transitive
dependency
dependency



Attributes may be functionally dependent on
Attributes may be functionally dependent on
nonkey
nonkey
attributes
attributes
Biên soạn : ThS.Phan Võ Minh Thắng
22
Cơ sở Dữ liệu : Chuẩnhóa
Conversion to 3NF
Conversion to 3NF


Create separate
Create separate
table(s
table(s
) to eliminate
) to eliminate
transitive functional dependencies
transitive functional dependencies
PROJECT (PROJ_NUM, PROJ_NAME)
ASSIGN (PROJ_NUM, EMP_NUM, HOURS)
EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS)
JOB (JOB_CLASS, CHG_HOUR)
Biên soạn : ThS.Phan Võ Minh Thắng
23
Cơ sở Dữ liệu : Chuẩnhóa

3NF Summarized
3NF Summarized


In 2NF
In 2NF


Contains no transitive
Contains no transitive
dependencies
dependencies
Biên soạn : ThS.Phan Võ Minh Thắng
24
Cơ sở Dữ liệu : Chuẩnhóa
Additional DB Enhancements
Additional DB Enhancements
Figure 4.6
Biên soạn : ThS.Phan Võ Minh Thắng
25
Cơ sở Dữ liệu : Chuẩnhóa

×