Professional Documents
Culture Documents
Un-normalised form
Like this
event_no event_name position competitor performance
competitor_name
school_name school_address1 school_address2
Decide
what the data is all about and underline that data item There may be more than one obvious choice - pick any one! (unlikely in exam?)
Like this
event_no event_name position
competitor_no
school_name school_address1 school_address2
competitor-_no
performance competitor_name school_name
event_no
or
school_address1
school_address2
performance
For each <primary key> is there one or more than one of each of the other data items?
In this case
For each event number is there one or more than one event name? For each event number is there one or more than one competitor name For each event number is there one or more than one school name Write 1 or M beside each data item
Like this
event_no event_name position 1 M
competitor_no
school_name school_address1 1 1 1
competitor_no
performance competitor_name school_name M
M
M M
school_address2
or
school_address1
school_address2
M
M
competitor_no
performance competitor_name school_name
school_address1
school_address2 )
Write the repeating group as a new table Take a copy of the primary key with it
event_no event_name
Tidy things up
Write the primary keys at the top of the table Mark the copy of the original key as a foreign key
event_no competitor_no* event_name position performance
or
competitor_no
event_no* position performance
or
school_address2
competitor_name
school_name school_address1 school_address2
How?
competitor_no + event_no + 2 = 4
comp_name sch_name
sch_add1 sch_add2
performance 16.7
comp_name June Day sch_name Clifford High sch_add1 Clifford Rd
sch_add2
Inverdon
Change one key and fill in data in third column Mark data which may change
Like this
comp_no event_no position 110 10 1 112 10 4
performance 16.7
comp_name June Day sch_name sch_add1 sch_add2
17.4
Yvonne Knowles
sch_add2
4 17.4 Yvonne Knowles Clifford High Westlake High Clifford Rd West Rd Inverdon Waterdon
Inverdon
Remove all data items marked in both (all) columns along with copies of the keys
competitor_no* event_no*
position performance
Write the remaining data items in new list(s) along with marked key in that column
competitor_no competitor_name school_name school_address1
school_address2
Check each table to make sure the key determines all the data items
competitor_no*
event_no* position performance competitor_no competitor_name school_name school_address1 school_address2
Better have a closer look at this one!! Yes we know from our previous table
Move to 3NF
Remove non-descriptive items to a new table with the item they describe. Leave a copy of this item as a foreign key
Like this
competitor_no competitor_name school_name* school_name school_address1 school_address2
3NF
event_no event_name competitor_no*
event_no*
position performance competitor_no
competitor_name
school_name* school_name school_address1 school_address2