The Disadvantages of Normalization
Simple databases may not need normalization; complex ones probably do. If you've heard the word "normalization" but never looked it up, you may discover that your database could use normalizing. Before embarking on an adventure in normalization, it's important to know the advantages and disadvantages associated with organizing the tables in a database.
-
Data Organization
-
A database is similar to a file cabinet. You have the option to group similar objects and place them into separate drawers or toss everything into a single drawer haphazardly. Choose the first organization method, and you'll probably find that trinket you're looking for quickly because you will have an idea of where to look. Computer databases work along a similar principle. A database designer can toss all data items into a single table or group related items inside multiple tables. Normalization refers to the method you use to group related database items.
Normalization
-
One important normalization goal is the elimination of duplicate data. For example, If your Sales table contains a "Customer City" item, and your Customer table has an identical item, your database contains duplicate data. The database is not normalized. Another normalization goal is the elimination of dependencies that are inconsistent to increase the efficiency of your data access methods. You should also eliminate data dependencies that are inconsistent. An inconsistent dependency occurs when, for example, you add a car color to a table containing employee data.
-
Strucutural Disadvantages
-
Getting rid of redundant data and inconsistent dependencies can reduce the size of your database. However, you may incur a new cost when you restructure your data tables. You or a data analyst must understand normalization and perform detailed analysis before even beginning to normalize your data if you have a complex system. It is also possible to over-normalize a database and break it down into too many granular tables. For instance, you may have a perfectly normalized Employee table containing fields for Name, ID and Email Address. If this occurs, you may have to create more complex queries to join data scattered across multiple tables.
Reduced Efficiency
-
Since data resides in multiple tables in a properly normalized database, it sometimes requires more work to extract data and produce reports. If a Sales report requires data from a Product table, a Price table and a Customer table, a query must join all three tables to produce the report. CPUs and hard drives must work harder to perform such queries. On the other hand, if all your data resides in a single table that is not normalized, your query would only have to retrieve data from that table. Normalize your tables effectively to maximize processing efficiency.
-
References
Resources
- Photo Credit Ablestock.com/AbleStock.com/Getty Images