Академический Документы
Профессиональный Документы
Культура Документы
Mark Kelly
McKinnon Secondary College
Vceit.com
Based on work by Robert Timmer-Arends
Thanks
This example is based on Relational
Databases a simplified account by
Robert Timmer-Arends
Is it 1NF?
Is it 2NF?
Step 1
Step 2
Step 3
Step 3
Step 4 - relationships
STUDENT TABLE (key = StudentID)
Step 4 - cardinality
STUDENT TABLE (key = StudentID)
Step 4 - cardinality
STUDENT TABLE (key = StudentID)
Step 4 - cardinality
STUDENT TABLE (key = StudentID)
Step 4 - cardinality
STUDENT TABLE (key = StudentID)
A 2NF check
STUDENT TABLE (key = StudentID)
SubjectCost is only
dependent on the
primary key,
Subject
A 2NF check
STUDENT TABLE (key = StudentID)
Grade is only
dependent on the
primary key
(studentID +
subject)
A 2NF check
STUDENT TABLE (key = StudentID)
So it is
2NF!
But is it
3NF?
A 3NF check
STUDENT TABLE (key = StudentID)
Oh
oh
8
What?
A 3NF check
STUDENT TABLE (key = StudentID)
HouseName is
dependent on
both
StudentID +
HouseColour
A 3NF check
STUDENT TABLE (key = StudentID)
Or
HouseColour
is dependent
on both
StudentID +
HouseName
A 3NF check
STUDENT TABLE (key = StudentID)
A 3NF check
STUDENT TABLE (key = StudentID)
A 3NF check
STUDENT TABLE (key = StudentID)
WHAT DO
WE DO?
8
A 3NF fix
A 3NF fix
1
1
A 3NF win!
1
1
RESULTS TABLE (key =
StudentID+Subject)
Or
The Reveal
Before
After
8
1
8
1
SUBJECTS TABLE (key =
Subject)
The end
Thanks to Robert Timmer-Arends for
the scenario and staging of the
normalisation
Mark Kelly
Vceit.com