Database normalization refers to the process of organizing the fields and tables of a relational database to minimize redundancy. It usually involves dividing large tables into smaller ones which are less redundant and defining the relationships between them. The main objective of the normalization process is to isolate data so as additions, deletions, and any modifications that are applied to a field can be made in just one table and then they can be propagated through the rest of the database using some of the defined relationships.
Example of Normalization
First normal form
Third Normal form
The objectives behind normalization include among the following: first, to free the collection of relations from some of the undesirable insertion, deletion and update dependencies. Secondly, to minimize the need for restructuring the collection of relations, as new types of data are introduced thus enhancing the life span of applications programs. Thirdly, to make the relational model that is more informative to users. Finally, to make the collection of relations to the query statistics in which the said statistics are liable to change as time progresses.
The normal forms of the relational database are used in providing a criteria for determining a tables' degree of immunity against some logical inconsistencies and anomalies. Thus the higher the normal form that is applicable to the table, the less vulnerable that table becomes. Some of the normal forms that exist include among the following: first normal form in which we eliminate duplicative columns from the same table and also creating separate tables for each group of the related data thus identifying each row with a unique column or a set of columns and hence making them primary keys. The second normal form on the other is aimed at meeting all the requirements of the first normal form, removing subsets of data that apply to multiple rows of a table thus placing them in separate tables and finally creating the relationships between these new tables and their predecessors through the use of foreign keys. The third normal form is also aimed at meeting all the requirements of the second normal form specified above and removing columns that are not dependent upon the primary key.
Dernomalization is the process that attempts to optimize the read performance of a database by adding some redundant data or by grouping data. In many instances, dernomalization is aimed at addressing performance or scalability in relational databases. Another case that may necessitate the use of denormalization is when there does not exist RDMS for a platform or in a situation in which no changes are to be made to the data and a swift response is crucial. You can also use it when creating reports or analysis if you want speedy results (Mullins, 2012).
Some of the instances in which a business can impact the decision of normalizing a database and denormalizing include is when the performance of the application goes down this is because the query sent requires much CPU, memory, and I/O to process the transaction sent. In the case, the individual may decide to use other means and hence enhancing business improved performance like by using dernomalization and hence enhancing the performance (Mannino & Michael, 2011).