Need help from an expert?
The world’s top online tutoring provider trusted by students, parents, and schools globally.
Normalization in database design is a process used to organise a database into tables and columns to reduce data redundancy and improve data integrity.
In more detail, normalization is a systematic approach of decomposing tables to eliminate data redundancy and undesirable characteristics like Insertion, Update and Deletion Anomalies. It is a multi-step process that puts data into tabular form by removing duplicated data from the relation tables. Normalization is used for mainly two purposes, eliminating redundant (useless) data and ensuring data dependencies make sense i.e. data is logically stored.
The concept of normalization was first developed by E.F. Codd at IBM in 1970. He defined a series of normal forms, each with a higher standard of normalization, known as 1NF (First Normal Form), 2NF (Second Normal Form), 3NF (Third Normal Form), BCNF (Boyce-Codd Normal Form), 4NF (Fourth Normal Form), and 5NF (Fifth Normal Form). Each of these normal forms has a specific set of criteria that a database schema must meet before it can be considered to be in that normal form.
For example, a table is in first normal form (1NF) if all the columns in the table hold only atomic (indivisible) values. A table is in second normal form (2NF) if it is in 1NF and every non-key column is fully dependent on the primary key. A table is in third normal form (3NF) if it is in 2NF and every non-key column is non-transitively dependent on the primary key.
The main goal of normalization is to reduce the amount of space a database consumes and to ensure that data is logically stored. The process eliminates any redundancy, such as storing the same data in more than one table, and ensures that only related data is stored in each table. It also prevents any issues stemming from database modifications such as insertions, updates, and deletions.
In conclusion, normalization is a crucial part of database design that ensures data integrity and efficient storage. It's a concept that every computer science student should understand and apply when working with databases.
Study and Practice for Free
Trusted by 100,000+ Students Worldwide
Achieve Top Grades in your Exams with our Free Resources.
Practice Questions, Study Notes, and Past Exam Papers for all Subjects!
The world’s top online tutoring provider trusted by students, parents, and schools globally.