Normalisation can be defined as the framework with set of rules that can be implemented to reduce data redundancies & improve data integrity. The purpose of normalisation is to remove anomalies including Insertion anomaly - unable to insert data due to absence of particular attributes, Deletion anomaly- deletion of one result in deletion of many Update anomaly - same values are repeated but not related to each other. By core intuition: reducing the dependence of an attribute on other attribute make sure the element get as much as distinguishable as possible.
Types of dependencies
Dependency Type
Definition
Explanation
Full Functional
A non-key attribute depends on the entire composite key.
You need all parts of the composite key to determine the attribute.
Partial Functional
A non-key attribute depends on part of a composite key.
Only a portion of the composite key determines the attribute.
Multivalued
One attribute determines independent multi-valued sets of another attribute.
Not all attributes depend on each other; e.g., Teacher →→ Subject, Teacher →→ City.
Transitive
An attribute depends on the primary key indirectly through another attribute.