Normal Forms & Normalization: Database Design
Normal Forms & Normalization: Database Design
Normalization
Vu Tuyet Trinh
[email protected]
Department of Information Systems, School of Information Technolog
Hanoi University of Technology
Database Design
Top Down
Conceptual/Abstract View
Functional Dependencies
1.
2.
3.
Bottom Up
Synthesise relations
List all attributes
Consider the relationships between them
Decompose attributes into tables in order to eliminate the
redundancy.
STUDENT
(studno,givenname,familyname,hons,tutor,slot,year)
labmark
exammark
courseno
subject
equip
lecturer
roomno
appraiser
lecturer
roomno
appraiser
ENROL(studno,courseno,labmark,exammark)
COURSE(courseno,subject,equip)
STAFF(lecturer,roomno,appraiser)
hons
hons
year
year
yeartutor
yeartutor
stud
no
s1
s1
s1
s2
s2
s3
s4
s5
s6
null
null
s7
year
yeartutor
year
yeartutor
name
tutor
jones
jones
jones
brown
brown
smith
blogg
jones
peters
null
null
patel
bush
bush
wibby
kahn
kahn
goble
goble
zobel
kahn
capon
null
null
YEAR(year,yeartutor)
roomn
o
2.26
2.26
2.26
IT206
IT206
2.82
2.82
2.34
A17
A14
null
null
SCHOOL(hons,faculty)
course no
labmark
subject
cs250
cs260
cs270
cs250
cs270
cs270
cs280
cs250
cs250
null
cs290
null
65
80
47
67
65
49
50
0
2
null
null
null
prog
graphics
elecs
prog
elecs
comms
design
prog
prog
null
specs
null
F
studno name, tutor
tutor roomno
roomno tutor
courseno subject
studno, courseno labmark
faculty
hons
F+
studno, courseno name partial
studno roomno
transitive
Process of Normalization
Definition
Definition
the relation is in 1 NF
all non-key attributes are fully functionally dependent on the
entire key
partial dependency has been removed
Example
ENROL (studno, courseno, subject, labmark)
courseno subject
studno, courseno labmark
ENROL (studno, courseno, labmark)
studno, courseno labmark
Definition
Example
ENROL
(studno, courseno, labmark)
studno, courseno labmark
Definition
Remarks
The
STUDENT1
tutor
bush
kahn
goble
goble
zobel
kahn
tutor
bush
kahn
goble
goble
zobel
kahn
roomno
2.26
IT206
2.82
2.82
2.34
IT206
studno name
studno tutor
studno name
studno tutor
tutor roomno
roomno tutor
TUTOR
tutor
kahn
bush
goble
zobel
roomno
IT206
2.26
2.82
2.34
tutor roomno
roomno tutor
TUTORS = STUDENT
Dependency Preservation
Dependency Preservation
STUDENT
studno name
s1
jones
s2
brown
s3
smith
s4
bloggs
s5
jones
s6
peters
STUDENT'
studno name
s1
jones
s2
brown
s3
smith
s4
bloggs
s5
jones
s6
peters
studno name
studno tutor
tutor
bush
kahn
goble
goble
zobel
kahn
roomno
2.26
IT206
2.82
2.82
2.34
IT206
appraiser
capon
watson
capon
capon
watson
watson
studno name
studno tutor
tutor roomno
tutor appraiser
roomno tutor
roomno appraiser
studno appraiser
studno roomno
studno appraiser
studno roomno
tutor
bush
kahn
goble
goble
zobel
kahn
TUTOR
studno
s1
s2
s3
s4
s5
s6
STUDENT
roomno
2.26
IT206
2.82
2.82
2.34
IT206
appraiser
capon
watson
capon
capon
watson
watson
* TUTOR = STUDENT
Exercises
10