Lecture 7 Normalisation
Lecture 7 Normalisation
Lecture 6
Normalisation
• Its the process of organising data to minimise
data duplication.
• It decomposes a large database table into
smaller manageable ones.
• Its aimed at creating an efficient, reliable,
flexible and appropriate relational databases.
• Its an example of a top-down design
The purpose of normalisation
• To put data into a format that conforms to
relational principle e.g single valued columns, each
relation represents one entity.
• Avoid redundancy by storing each ‘fact’ within the
database only once
• To put the data only into a form that is more able
to accommodate change.
• To avoid certain difficulties in updating (anomalies)
• To facilitate the enforcement of constraints on
data.
Anomalies
• There are basically three tuple database
operations, ie, add, delete and update tuple.
These operations are the ones that can result
in anomalies in a Database
• So we have
– Update anomalies
– insertion/addition anomalies
– deletion anomalies
Update anomalies
Course(Course#, CourseName,
Prerequisites, duration)
Course(Course#, CourseName,
Prerequisites, duration)
ExamDate(Course#, DateOfexam)
• In STUDENT, the key is Student# and all other non-
key attributes, StudentName and DateOfBirth are
fully functionally dependent on the key attribute.
• In COURSE, Course# is the key and all the non-key
attributes, CourseName, DurationInDays are fully
functional dependant on the key attribute.
• In RESULT Student#Course# together are key
attributes and all other non-key attributes, Marks
and Grade are fully functional dependent on the
key attributes.
• In the fourth Table (EXAM DATE) Course# is the
key and the non-key attribute, DateOfExam is fully
functionally dependent on the key attribute
The definition of 3rd normal form