1. 1
Information Management Centre, Thames Valley University
Relational Modelling
(Normalisation)
Abdisalam Issa-Salwe
Faculty of Professional Studies
Thames Valley University
Week 7 Seminar
Information Management Centre, Thames Valley University
Company Name
Company Number
Job Title
Job Ref Number
Applicant Address
Applicant Name
Applicant Number
1NFUNF
2. 2
Information Management Centre, Thames Valley University
UNF – 1NF
Applicant
Applicant Number
Applicant Name
Applicant Address
Job Ref Number
Job Title
Company Number
Company Name
Information Management Centre, Thames Valley University
Company Name
Company Number
Job Title
Job Ref Number
Applicant Address
Applicant Name
Applicant Number
1NFUNF
3. 3
Information Management Centre, Thames Valley University
UNF: Remove Repeating Groups
Create a new group for the multi-valued
attributes
Include the Primary Key attribute from
the original group as a Foreign Key in
the new group
Choose a key for the new group
Information Management Centre, Thames Valley University
Company Name
Company Number
Job TitleCompany Name
Job Ref NumberCompany Number
Job Title
Job Ref Number
Applicant AddressApplicant Address
Applicant NameApplicant Name
Applicant NumberApplicant Number
1NFUNF
4. 4
Information Management Centre, Thames Valley University
Company Name
Company Number
Job TitleCompany Name
Job Ref NumberCompany Number
*Applicant NumberJob Title
Job Ref Number
Applicant AddressApplicant Address
Applicant NameApplicant Name
Applicant NumberApplicant Number
1NFUNF
Information Management Centre, Thames Valley University
Applicant
Applicant's Job
Applicant Number
Applicant Name
Applicant Address
Job Ref Number
Job Title
Company Number
Company Name
5. 5
Information Management Centre, Thames Valley University
Applicant
Applicant's Job
Applicant Number
Applicant Name
Applicant Address
Job Ref Number
Job Title
Company Number
Company Name
*Applicant Number
1NF – 2NF
Information Management Centre, Thames Valley University
1NF – 2NF
Applicant Number
Applicant Name
Applicant Address
*Applicant Number
*Job Ref Number
Applicant
Applicant's Job
Job
Job Reference Number
Job Title
Company Number
Company Name
6. 6
Information Management Centre, Thames Valley University
1NF – 2NF
Applicant Number
Applicant Name
Applicant Address
*Applicant Number
*Job Ref Number
Applicant
Applicant's Job
Job
Job Reference Number
Job Title
Company Number
Company Name
Information Management Centre, Thames Valley University
1NF to 2NF: Remove Partial Dependencies
Partial dependency only arises where
we have a compound key
It describes the situation where there is
a functional dependency between one
part of the key and some non-key
attribute
e.g. Job Reference Number determines Job
Title, Company Number and Company
Name
7. 7
Information Management Centre, Thames Valley University
Partial Dependency example
Job
Reference
Number
determines
Job Title
Job Ref
Number
Applicant
Number
Job Title
J24 A1001 Trainee SA
J24 A1002 Trainee SA
J99 A1002 IT Manager
Information Management Centre, Thames Valley University
1NF to 2NF: Remove Partial Dependencies (cont…)
Create a new group for all the partially
dependent data items
The Primary Key of the new group will
be the attribute(s) that the partially
dependent data items depended on
The key of the original group does not
change
8. 8
Information Management Centre, Thames Valley University
2NF
Company Name
Company Number
Job Title
Job Ref Number
*Applicant Number
1NF
Information Management Centre, Thames Valley University
2NF to 3NF: Remove Transitive Dependencies
A transitive dependency arises where
there is a dependency between two
data items neither of which is a
candidate key for the data group in
question
e.g. Company Number determines
Company Name
9. 9
Information Management Centre, Thames Valley University
Remove the data items that depend on
the non-candidate key attribute
The attribute that determines them is
the Primary Key of the new group
Leave behind a copy of this attribute as
a Foreign Key
2NF to 3NF: Remove Transitive Dependencies (cont…)
Information Management Centre, Thames Valley University
2NF – 3NF
Company Name
Company Number
Company Name
Company Number
Job TitleJob Title
Job Reference NumberJob Reference Number
3NF2NF
10. 10
Information Management Centre, Thames Valley University
2NF – 3NF
2NF 3NF
Job Reference Number Job Reference Number
Job Title Job Title
Company Number
Company Name
Company Number
Company Name
Information Management Centre, Thames Valley University
2NF – 3NF
2NF 3NF
Job Reference Number Job Reference Number
Job Title Job Title
Company Number *Company Number
Company Name
Company Number
Company Name
11. 11
Information Management Centre, Thames Valley University
2NF – 3NF
Applicant
Applicant's Job
Job
Job Ref Number
Title
Company Number
Company Name
Information Management Centre, Thames Valley University
2NF – 3NF
Applicant
Applicant's Job
Job
Company
Company Number
Company Name
Job Ref Number
Title
*Company Number
12. 12
Information Management Centre, Thames Valley University
Functional Dependency
A Function in mathematics is a relation between two
domains A,B such that
for every a in A there is exactly one corresponding b in B
e.g. A and B both real numbers:
square(x) is a function
but
sqrt(x) is not a function
sqrt(4) = (-2,2) since -2*-2 = 4 as well as 2*2=4
this is an example of a non-functional dependency
Information Management Centre, Thames Valley University
Mnemonic
“the key, the whole key and nothing but
the key”
2NF
“the key” : non-key fields depend on the key
“the whole key”: non-key fields depend fully on
the key
3NF
“nothing but the key”: non-key fields are not
dependent on each other
13. 13
Information Management Centre, Thames Valley University
Unnormalised Entity
Begin with an entity from
the logical data model
Information Management Centre, Thames Valley University
First Normal Form (1NF)
Look for repeating groups of attributes and
remove them into separate entities
14. 14
Information Management Centre, Thames Valley University
Second Normal Form (2NF)
If an entity has a concatenated identifier, look for attributes that
depend only on part of the identifier. If found, remove to new entity.
Information Management Centre, Thames Valley University
Third Normal Form (3NF)
Look for attributes that depend only on another non-identifying attribute.
If found, remove to new entity. Also remove any calculated attributes.
15. 15
Information Management Centre, Thames Valley University
Potential anomalies
UPDATE the price per session of facility 1
now different rates for squash courts - suspect
business rule is same rate for all facilities for a
‘sport’
ADD a new tennis court
must also ensure the same rate is used as for
other tennis courts
DELETE facility 11
lose the rate per session for skittles
Information Management Centre, Thames Valley University
Summary: Data modelling
Data modelling answers the question:
What data exists and what is the most efficient way of organising it?
Data Modelling is the analysis of data in organisations,
departments, branches, etc.
It captures all the data uses,
It organises it into an efficient structure.
Data modelling = the construction of a model of the data
requirements of the organisation.
Data requirements are more stable that processing
requirements.
There are two techniques:
1. Entity-relationship modelling - a top down approach.
2. Normalisation - a bottom up approach.