Normalization
Normalization
Normalisation is a database design technique that organises data to reduce redundancy and improve data integrity .
It involves decomposing a table into smaller, well-structured tables, linked by relationships. The process aims to
eliminate data duplication and anomalies that can occur during insertion, update, and deletion operations. The
sources describe normalisation as a process to:
Normalisation relies on the concept of normal forms, a set of rules that define the level of organisation and structure
of a relational database. These normal forms are progressive, meaning that each subsequent normal form builds
upon the previous ones, further reducing redundancy and enforcing stricter data integrity rules.
Benefits of Normalisation:
Reduced Data Redundancy: By eliminating duplicate data, normalisation minimises storage space and reduces
the risk of inconsistencies.
Improved Data Integrity: Normalisation ensures that data is consistent and accurate by enforcing relationships
and constraints.
Simplified Data Maintenance: Updating, inserting, and deleting data becomes easier and more efficient with
normalised tables.
Better Query Performance: Normalised tables can lead to better query performance as the database
management system can access and retrieve data more efficiently.
Process of Normalisation:
Normalisation involves a series of steps, starting with identifying functional dependencies and then applying the rules
of each normal form to decompose the table into smaller ones. The process aims to create a set of relations that
satisfy the desired normal form while preserving data integrity.
While normalisation is a crucial aspect of database design, other considerations exist. These include:
Denormalisation: In some situations, intentionally introducing redundancy can improve performance by reducing
the need for complex joins.
Query Optimisation: Efficient query design and the use of indexes are essential for achieving optimal database
performance.
Transaction Processing: Mechanisms for managing concurrent transactions and ensuring data consistency are
crucial for multi-user databases.
Overall, normalisation is a powerful technique for designing robust and efficient relational databases. It helps
ensure data integrity, reduce redundancy, and improve data management. By understanding and applying normal
forms, database designers can create databases that are well-structured, easy to maintain, and perform well.
However, the choice of normal form and the extent of normalisation depend on the specific requirements and
characteristics of the application.
Both Boyce-Codd Normal Form (BCNF) and Third Normal Form (3NF) are normal forms in relational database
design aimed at reducing data redundancy and enhancing data integrity. However, they differ in their
strictness and trade-offs.
Definition: A relation schema R is in third normal form with respect to a set F of functional dependencies if, for all
functional dependencies in F+ of the form α → β, where α ⊆ R and β ⊆ R, at least one of the following holds:
α → β is a trivial functional dependency.
α is a superkey for R.
Each attribute A in β − α is contained in a candidate key for R.
Strictness: 3NF is less restrictive than BCNF, meaning that it allows for some functional dependencies that
BCNF would not.
Advantages: It is always possible to achieve a 3NF design without sacrificing losslessness or dependency
preservation. This means that a relation schema can be decomposed into 3NF while preserving the ability to
enforce all functional dependencies within the decomposed relations.
Disadvantages: Relations in 3NF may have some redundancy. This is considered an acceptable trade-off when
a dependency-preserving decomposition into BCNF is not achievable.
Comparison
Feature BCNF 3NF
Strictness More strict. All schemas in BCNF are also in 3NF. Less strict. Allows for some dependencies not permitted in
BCNF.
Redundancy Aims to eliminate all redundancy based on May allow for some redundancy in situations where a
functional dependencies. dependency-preserving BCNF decomposition is not possible.
Decomposition May not always be possible to achieve a Guarantees a lossless and dependency-preserving
dependency-preserving decomposition. decomposition.
Trade-offs May require choosing between BCNF and Represents a compromise, allowing dependency
dependency preservation. preservation but potentially at the cost of some redundancy.
Practicality Preferred when possible due to its stricter A suitable alternative when a dependency-preserving BCNF
elimination of redundancy. However, may not be decomposition is not achievable. Offers a balance between
feasible. goals.
In summary, BCNF is the more desirable normal form due to its stricter reduction of redundancy. However, when a
dependency-preserving BCNF decomposition is not possible, 3NF is a good alternative that ensures both
losslessness and dependency preservation, albeit with the potential for some remaining redundancy.