The advantages and disadvantages of both normalization and denormalization of a database are discussed, as well as data integrity versus performance issues that pertain to normalization.
The highlights of this hour include * What normalization is * Benefits of normalization * Advantages of denormalization * Normalization techniques * Guidelines of normalization * The three normal forms * Database design
Normalizing a Database
Normalization is a process of reducing redundancies of data in a database. Normalization is a technique that is used when designing and redesigning a database. Normalization is a process or set of guidelines used to optimally design a database to reduce redundant data. The actual guidelines of normalization, called normal forms, will be discussed later in this hour. It was a difficult decision to decide whether to cover normalization in this book because of the complexity involved in understanding the rules of the normal forms this early on in your SQL journey. However, normalization is an important process that, if understood, will increase your understanding of SQL. We have attempted to simplify the process of normalization as much as possible in this hour. At this point, don't be overly concerned with all the specifics of normalization; it is most important to understand the basic concepts.
The Raw Database
A database that is not normalized may include data that is contained in one or more different tables for no apparent reason. This could be bad for security reasons, disk space usage, speed of queries, efficiency of database updates, and, maybe most importantly, data integrity. A database before normalization is one that has not been broken down logically into smaller, more manageable tables. Figure 4.1 illustrates the database used for this book before it was normalized.
Logical Database Design
Any database should be designed with the end user in mind. Logical database design, also referred to as the logical model, is the process of arranging data into logical, organized groups of objects that can easily be maintained. The logical design of a database should reduce data repetition or go so far as to completely eliminate it. After all, why store the same data twice? Naming conventions used in a database should also be standard and logical.
The needs of the end user should be one of the top considerations when designing a database. Remember that the end user is the person who ultimately uses the database. There should be ease of use through the user's front-end tool (a client program that allows a user access to a database), but this, along with optimal performance, cannot be achieved if the user's needs are not taken into consideration.
Some user-related design considerations include the following: * What data should be stored in the database? * How will the user access the database? * What privileges does the user require? * How should the data be grouped in the database? * What data is the most commonly accessed? * How is all data related in the database? * What measures should be taken to ensure accurate data?
Data Redundancy
Data should not be redundant, which means that the duplication of data should be kept to a minimum for several reasons. For example, it is unnecessary to store an employee's home address in more than one table. With duplicate data, unnecessary space is used. Confusion is always a threat when, for instance, an address for an employee in one table does not match the address of the same employee in another table. Which table is correct? Do you have documentation to verify the employee's current address? As if data management were not difficult enough, redundancy of data could prove to be a disaster.
The Normal Forms
The next sections discuss the normal forms, an integral concept involved in the process of database normalization.
Normal form is a way of measuring the levels, or depth, to which a database has been normalized. A database's level of normalization is determined by the normal form.
The following are the three most common normal forms in the normalization process: * The first normal form * The second normal form * The third normal form
Of the three normal forms, each subsequent normal form depends on normalization steps taken in the previous normal form. For example, to normalize a database using the second normal form, the database must first be in the first normal form.
The First Normal Form
The objective of the first normal form is to divide the base data into logical units called tables. When each table has been designed, a primary key is assigned to most or all tables. Examine Figure 4.2, which illustrates how the raw database shown in the previous figure has been redeveloped using the first normal form.
The Second Normal Form
The objective of the second normal form is to take data that is only partly dependent on the primary key and enter that data into another table. Figure 4.3 illustrates the second normal form.
The Third Normal Form
The third normal form's objective is to remove data in a table that is not dependent on the primary key. Figure 4.4 illustrates the third normal form.
Benefits of Normalization
Normalization provides numerous benefits to a database. Some of the major benefits include the following : * Greater overall database organization * Reduction of redundant data * Data consistency within the database * A much more flexible database design * A better handle on database security
Organization is brought about by the normalization process, making everyone's job easier, from the user who accesses tables to the database administrator (DBA) who is responsible for the overall management of every object in the database. Data redundancy is reduced, which simplifies data structures and conserves disk space. Because duplicate data is minimized, the possibility of inconsistent data is greatly reduced. For example, in one table an individual's name could read STEVE SMITH, whereas the name of the same individual reads STEPHEN R. SMITH in another table. Because the database has been normalized and broken into smaller tables, you are provided with more flexibility as far as modifying existing structures. It is much easier to modify a small table with little data than to modify one big table that holds all the vital data in the database. Lastly, security is also provided in the sense that the DBA can grant access to limited tables to certain users. Security is easier to control when normalization has occurred.
Drawbacks of Normalization
Although most successful databases are normalized to some degree, there is one substantial drawback of a normalized database: reduced database performance. The acceptance of reduced performance requires the knowledge that when a query or transaction request is sent to the database, there are factors involved, such as CPU usage, memory usage, and input/output (I/O). To make a long story short, a normalized database requires much more CPU, memory, and I/O to process transactions and database queries than does a denormalized database. A normalized database must locate the requested tables and then join the data from the tables to either get the requested information or to process the desired data. A more in-depth discussion concerning database performance occurs in Hour 18, "Managing Database Users."
Denormalizing a Database
Denormalization is the process of taking a normalized database and modifying table structures to allow controlled redundancy for increased database performance. Attempting to improve performance is the only reason to ever denormalize a database. A denormalized database is not the same as a database that has not been normalized. Denormalizing a database is the process of taking the level of normalization within the database down a notch or two. Remember, normalization can actually slow performance with its frequently occurring table join operations. (Table joins are discussed during Hour 13, "Joining Tables in Queries.") Denormalization may involve recombining separate tables or creating duplicate data within tables to reduce the number of tables that need to be joined to retrieve the requested data, which results in less I/O and CPU time.
Summary
A difficult decision has to be made concerning database design—to normalize or not to normalize, that is the question. You will always want to normalize a database to some degree. How much do you normalize a database without destroying performance? The real decision relies on the application itself. How large is the database? What is its purpose? What types of users are going to access the data? This hour covered the three most common normal forms, the concepts behind the normalization process, and the integrity of data. The normalization process involves many steps, most of which are optional but vital to the functionality and performance of your database. Regardless of how deep you decide to normalize, there will most always be a trade-off, either between simple maintenance and questionable performance or complicated maintenance and better performance.
You May Also Find These Documents Helpful
-
In database normalization, one of the important features of third normal form is that it excludes certain types of transitive dependencies. E.F. Codd, the inventor of the relational model, introduced the concepts of…
- 586 Words
- 3 Pages
Good Essays -
Normalization is a process for evaluating and correcting table structures to minimize data redundancies and by helping to eliminate data anomalies. It helps evaluate table structures and produce good tables.…
- 190 Words
- 1 Page
Satisfactory Essays -
6 T | Normal forms are sets of rules designed to remove anomalies and redundancy from database design.…
- 313 Words
- 1 Page
Satisfactory Essays -
Data normalization – how complex will this process be? Is every database from every department different and contain different data across different platforms?…
- 2795 Words
- 12 Pages
Powerful Essays -
Normalization of the database: This is a critical step for making the database. Normalization will help create table structures as well…
- 3100 Words
- 13 Pages
Better Essays -
Prior to designing my database, I will have a clear understanding of the data. This will allow me to determine the purpose of the database. Once all information is gathered, I will divide this information into tables. Information will be properly placed into columns and I will set a primary key. Upon completion of table design, I will set the relationships between tables. I will refine my design and apply normalization rules to my design.…
- 632 Words
- 3 Pages
Good Essays -
This memorandum is created to explain normalization, its level and why it is sufficient for the system. We are all aware that Microsoft Access database is the best fit for the Taylor Ambulance Company. This database will be efficient in storing, tracking and billing incidents. To reduce redundancy in the system, it is important to apply normalization. Normalization is the processes where data are organize in a database. This process includes creating tables and establishing keys and relationships of data between the tables. Normalization will also make the database more flexible, in which redundancy will be reduced and possibly completely eliminate. This will also reduce inconsistence dependency. It will also be faster to create queries between tables after the data is normalize. A non-normalize database is full of redundant data and it is unorganized.…
- 329 Words
- 2 Pages
Satisfactory Essays -
3. Normalization: The database model will be completed and all last minute changes adjusted and any lasting questions answered.…
- 358 Words
- 2 Pages
Satisfactory Essays -
• Define database architecture. For the database systems in your workplace, identify which architecture they fall under.…
- 352 Words
- 2 Pages
Satisfactory Essays -
This memo is to inform you that your service request SR-ta-001 has reached my desk and currently is in the process of being completed. The purpose of this memo is to report the progress on the service requests. Currently I am in the stage of normalizing the database to the third normal form. By normalizing the database to the third level of normalization I will ensure that the data is efficiently organized within the database by removing duplicate and redundant data from the database relations. Normalizing the data to the normal third will help free up space and make it easier for the users to retrieve the data by elimination of the same data stored in more than one relation. In addition, normalizing to this level will also ensure data integrity, scalability, and storage efficiency. I have made sure that that there are no repeating columns or rows within the same tables and each column has only one value and one data type therefore the level of 1 normalization has been completed. I then continued to normalize the database to the second level of normalization by ensuring that each nonkey attribute is fully dependent on the key columns of the table. Once level one and two normal form had been completed I continued by establishing primary and foreign keys along with relationships. I will keep in contact with you as the project nears completion.…
- 329 Words
- 2 Pages
Satisfactory Essays -
The database design team transforms entities into tables and expresses relationships by defining foreign keys. The tables in the model are to be normalized before converting them into designs. Normalization is the process of converting poorly structured tables into two or more well-structured tables. Database practitioners classify tables into various normal forms according to the kinds of problems they have. Transforming a table into a normal form to remove duplicated data and other problems is called normalizing the table. After normalizing, the designer should represent the relationship among those tables to complete the design.…
- 2041 Words
- 9 Pages
Good Essays -
References: Pratt, P.J, & Adamski J.J, (2011). Concepts of Database Management. Ohio, OH: CENGAGE Learning.…
- 688 Words
- 3 Pages
Good Essays -
These would make up the core entities of the database and each entity would have various attributes with further relevant information which can be displayed in a hierarchical nature.…
- 3200 Words
- 13 Pages
Powerful Essays -
This manual defines the comprehensive database plan for Riordan Manufacturing material 's ordering database. Team C, consisting of Master degree-seeking students at University of Phoenix Online, has created this database plan. The assignment was completed in 6 weeks.…
- 2376 Words
- 10 Pages
Powerful Essays -
Course Description This course covers database concepts. Topics include data analysis, the principal data models with emphasis on the relational model, entity-relationship diagrams, database design, normalization, and database administration. Policies Faculty and students will be held responsible for understanding and adhering to all policies contained within the following two documents: • • University policies: You must be logged into the student website to view this document. Instructor policies: This document is posted in the Course Materials forum.…
- 2296 Words
- 10 Pages
Satisfactory Essays