Website speed is a priority for businesses and it provides better user
experience. When data is organized in the database, that is known as
normalization. Denormalization on the other hand, is known as a strategy used on previously normalized database to increase its performance.
Normalization improves performance, data is arranged efficiently . It involves
constructing tables and setting up relationships between those tables according to some certain rules. The redundancy and inconsistent dependency can be removed using these rules in order to make it more flexible. Redundant data waste disk space, increase data inconsistency and slows down the DML queries. Should the same data be present in more than one place and any updation is committed on that data, than the change must be reflected in all locations. Inconsistent data can make data searching and access harder by losing the path to it. “These initial relations are usually unstructured, and are thus normalized into several more structured relations in such the fashion as to eliminate the data dependencies among data elements, because data dependencies cause data anomalies,”(Lee, H).
Denormalization is the inverse of normalization, where the normalized
schema is converted into a schema which has redundant information. The performance is improved by using redundancy and keeping the redundant data consistent. The reason for performing denormalization is the overheads produced in query processor by an over-normalized structure. It reduces the number of tables and complicated table joins because a higher number of joins can slow down the process. Some of the various denormalization techniques are: storing derivable values, pre-joining tables, hard coded values and keeping details with master.“One of the main purposes of denormalization is to reduce the number of physical tables that must be accessed to retrieve the desired data by reducing the number of joins needed to derive a query answer,”(Manas, R. & Sunil, M. 2012).
The different types of normalization are: First Normal Form(1NF), Second
Normal Form(2NF), Third Normal Form(3NF), Boyce and Codd Normal Form(BCNF), Fifth Normal Form(5NF). 1NF is when an attribute(column) of a table cannot hold multiple values. It should hold only atomic values. 2NF is when the table is in 1NF and no non-prime attribute is dependent on the proper subset of any candidate key of table. 3NF is when the is in 2NF and the transitive functional dependency of non-prime attribute on any super key should be removed. BCNF is the advance version of 3NF, is much stricter than 3NF and for every functional dependency Xto Y, X should be the super key of the table. Lastly 5NF(Project-join normal form) does not have lossless decomposition into smaller tables.
There is also something called single-valued dependency and multi-valued
dependency. An example of a single-valued dependency is an employee who works for one department in the organization. The employee may work at times on another department should they need extra hands but the employee cannot work for two departments simultaneously. An example of a multi- valued dependency is almost seen on almost every database that has addresses.another trickier example might be that a given programmer may be proficient in several languages and also possess certifications. Each certification requires proficiency in one or more languages, and each language may be relevant to one or more certifications. As the programmer develops proficiency in a new language, she may become eligible for one or more new certifications. What we would like to do is determine which programmers are eligible for which certifications.
Each progressive step may impact upon overall performance. At times,
normalization may take absurd lengths but in most cases if not all, normalization is needed and worthy. Reference list Lee, H. 1995. Justifying database normalization: a cost/benefit model. Information Processing & Management, 31(1): 59–67. Retrieved from: http://citeseerx.ist.psu.edu/viewdoc/download? doi=10.1.1.97.5174&rep=rep1&type=pdf [Accessed 11 November 2020]. Manas, R. & Sunil, M. 2012. Denormalisation : Towards Improved Performance. Srusti Managment review: 145–152 Retrieved from: http://srustimanagementreview.ac.in/paperfile/471914014_Denormalisation %20%20Towards %20Improved%20Performance-Manas%20Kumar %20Rath,%20Sunil%20Kumar%20MishraVol.%20-%20V%20%20Issue%20II %20%20July%202012.pdf [Accessed 11 November 2020].