Title: An Introduction to Relational Data Analysis (Normalisation)
1An Introduction toRelational Data
Analysis(Normalisation)
2Relational Data Analysis
- Steps in Normalisation
- 1. Un-normalised form
- 2. First Normal Form
- 3. Second Normal Form
- 4. Third Normal Form
3Relational Data AnalysisStudent Results Table
4Relational Data Analysis
- Possible Entities in System
- COURSE
- STUDENT
- TUTOR
- GRADE?
5Relational Data Analysis
- Unnormalised Form
- Table made up of ROWS COLUMNS
- Rows grouped together
- write table in unnormalised form
- choose unique KEY and underline
6Relational Data Analysis
- Data Attributes
- Student Code
- Student Name
- Date of Birth
- All REPEAT for a given value of COURSE CODE
- Tutor Code
- Tutor Name
- Grade
- Result
7Relational Data Analysis
Normalisation Table
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course
Title 1 Student Code 2 Student
Name 2 Date of Birth 2 Tutor
Code 2 Tutor Name 2 Grade 2 R
esult 2
8Relational Data Analysis
First Normal Form
- Any relation is in First Normal Form when it
contains no repeating groups of data
9Relational Data Analysis
10Relational Data Analysis
11Relational Data Analysis
12Relational Data Analysis
Normalisation Table
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course Code
Course Title 1 Course Title
Student Code 2 Student
Name 2 Course Code Date of Birth 2
Student Code Tutor Code 2 Student
Name Tutor Name 2 Date of
Birth Grade 2 Tutor
Code Result 2 Tutor Name
Grade Result
13Relational Data Analysis
Normalisation Table
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course
Code Course Title 1 Course
Title Student Code 2 Student Name
2 Date of Birth 2 Tutor Code
2 Course Code Tutor Name
2 Student Code Grade 2 Studen
t Name Result 2 Date of
Birth Tutor Code T
utor Name Grade Re
sult
14Relational Data Analysis
Normalisation Table
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course
Code Course Title 1 Course
Title Student Code 2 Student
Name 2 Date of Birth 2 Tutor
Code 2 Course Code Tutor
Name 2 Student Code Grade
2 Student Name Result
2 Date of Birth Tutor
Code Tutor Name Gr
ade Result
15Relational Data Analysis
Normalisation Table
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course
Code Course Title 1 Course
Title Student Code 2 Student
Name 2 Date of Birth 2 Tutor
Code 2 Course Code Tutor
Name 2 Student Code Grade
2 Student Name Result
2 Date of Birth Tutor
Code Tutor Name Gr
ade Result
16Relational Data Analysis
Second Normal Form
- Any relation already in 1NF is also in 2NF if
EITHER the key is a single attribute OR the
non-key items are fully dependent on the WHOLE
key - In Second Normal Form, you remove data items
which depend on only part of a key
17Relational Data Analysis
- What attribute or attributes determine the TUTOR
CODE? - Course Code
- Student Code
- Course Code Student Code
18Relational Data Analysis
- Student Code Student Name
- Student Code
- Tutor Code
- Course Code
19Relational Data Analysis
- Student Name
- Date of Birth
- Course Code Tutor Code
- Student Code Tutor Name
- Grade
- Result
20Relational Data Analysis
Normalisation Table - 2NF
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course Code
Course Code Course Title 1 Course
Title Course Title Student Code
2 Student Name 2 Course Code Course
Code Date of Birth 2 Student
Code Student Code Tutor Code 2 Studen
t Name Tutor Code Tutor Name 2 Date
of Birth Tutor Name Grade 2
Tutor Code Grade Result 2 Tut
or Name Result Grade
Result Student
Code Student
Name Date of Birth
21Relational Data Analysis
Normalisation Table - 2NF
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course
Code Course Code Course Title 1
Course Title Course Title Student Code
2 Student Name 2 Course Code Course
Code Date of Birth 2 Student
Code Student Code Tutor Code 2 Studen
t Name Tutor Code Tutor Name 2 Date
of Birth Tutor Name Grade 2
Tutor Code Grade Result 2 Tut
or Name Result Grade
Result Student
Code Student
Name Date of Birth
22Relational Data Analysis
Third Normal Form
- Any relation in 2NF is also 3NF if all non-key
attributes are independent of all other non-key
attributes and all key attributes are independent
of all the other key attributes - In Third Normal Form, you remove any attributes
which are not directly dependent upon the key
23Relational Data Analysis
Normalisation Table - 3NF
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course Code
Course Code Course Code Course
Title 1 Course Title Course
Title Course Title Student Code
2 Student Name 2 Course Code Course
Code Course Code Date of Birth 2
Student Code Student Code Student
Code Tutor Code 2 Student Name Tutor
Code Tutor Code Tutor Name 2 Date of
Birth Tutor Name Grade Grade 2
Tutor Code Grade Result 2
Tutor Name Result Student
Code Grade Student
Name Result Student
Code Date of Birth Stu
dent Name Date of
Birth Tutor Code
Tutor Name
Grade Result
24Relational Data Analysis
Normalisation Table - 3NF
UNF UNF 1NF 2NF 3NF
LEVEL Course Code 1 Course Code
Course Code Course Code Course
Title 1 Course Title Course
Title Course Title Student Code 2 Student
Name 2 Course Code Course Code Course
Code Date of Birth 2 Student
Code Student Code Student Code Tutor
Code 2 Student Name Tutor
Code Tutor Code Tutor Name 2 Date
of Birth Tutor Name Grade Grade 2
Tutor Code Grade Result 2 Tuto
r Name Result Student Code
Grade Student Name
Result Student Code Date of
Birth Student
Name Date of
Birth Tutor Code
Tutor Name
Grade Result
Foreign key
25Relational Data Analysis
- Summary
- choose a suitable key from a table of raw data
- identify repeating groups
- write the data in unnormalised form
- convert unnormalised data to first normal form
- convert first normal form to second normal form
- convert second normal form to third normal form
26Further Reading
- Relational Data Analysis
- Lejk Deeks, 2nd edition, chpt 8
- Next week
- NO LECTURE but read slides on DB Admin
- Following week
- Building Interactive Forms