Normalization
of
Database Tables
Objectives
In this chapter, students will learn:
• What normalization is and what role it plays in
the database design process
• About the normal forms 1NF, 2NF, 3NF
• How normal forms can be transformed from
lower normal forms to higher normal forms
• That normalization and ER modeling are used
concurrently to produce a good database design
2
Database Tables and Normalization
• Normalization
• Process for evaluating and correcting table
structures to minimize data redundancies
• Reduces data anomalies
• Series of stages called normal forms:
• First normal form (1NF)
• Second normal form (2NF)
• Third normal form (3NF)
3
Database Tables and Normalization (cont’d.)
Normalization (continued)
• 2NF is better than 1NF; 3NF is better than 2NF
• For most business database design purposes,
3NF is as high as needed in normalization
• Highest level of normalization is not always most
desirable
Denormalization produces a lower normal form
• Increased performance but greater data
redundancy
4
The Need for Normalization
Example: company that manages building projects
• Charges its clients by billing hours spent on each
contract
• Hourly billing rate is dependent on employee’s
position
• Periodically, report is generated that contains
information such as displayed in Table 6.1
5
6
7
The Need for Normalization (cont’d.)
Structure of data set in Figure 6.1 does not handle
data very well
Table structure appears to work; report is
generated with ease
Report may yield different results depending on
what data anomaly has occurred
Relational database environment is suited to help
designer avoid data integrity problems
8
The Normalization Process
• Each table represents a single subject
• No data item will be unnecessarily stored in more
than one table
• All nonprime attributes in a table are dependent on
the primary key
• Each table is void of insertion, update, deletion
anomalies
9
10
The Normalization Process (cont’d.)
• Objective of normalization is to ensure that all
tables are in at least 3NF
• Higher forms are not likely to be encountered in
business environment
• Normalization works one relation at a time
• Progressively breaks table into new set of relations
based on identified dependencies
11
12
Conversion to First Normal Form
• Repeating group
• Group of multiple entries of same type can exist
for any single key attribute occurrence
• Relational table must not contain repeating groups
• Normalizing table structure will reduce data
redundancies
• Normalization is three-step procedure
13
Conversion to First Normal Form (cont’d.)
• Step 1: Eliminate the Repeating Groups
• Eliminate nulls: each repeating group attribute
contains an appropriate data value
• Step 2: Identify the Primary Key
• Must uniquely identify attribute value
• New key must be composed
• Step 3: Identify All Dependencies
• Dependencies are depicted with a diagram
14
15
Conversion to First Normal Form (cont’d.)
• Dependency diagram:
• Depicts all dependencies found within given table
structure
• Helpful in getting bird’s-eye view of all
relationships among table’s attributes
• Makes it less likely that you will overlook an
important dependency
16
17
Conversion to First Normal Form (cont’d.)
First normal form describes tabular format:
• All key attributes are defined
• No repeating groups in the table
• All attributes are dependent on primary key
All relational tables satisfy 1NF requirements
Some tables contain partial dependencies
• Dependencies are based on part of the primary key
• Should be used with caution
18
Conversion to Second Normal Form
Step 1: Make New Tables to Eliminate Partial
Dependencies
• Write each key component on separate line, then
write original (composite) key on last line
• Each component will become key in new table
Step 2: Assign Corresponding Dependent Attributes
• Determine attributes that are dependent on other
attributes
• At this point, most anomalies have been eliminated
19
20
Conversion to Second Normal Form (cont’d.)
• Table is in second normal form (2NF) when:
• It is in 1NF and
• It includes no partial dependencies:
• No attribute is dependent on only portion of
primary key
21
Conversion to Third Normal Form
• Step 1: Make New Tables to Eliminate Transitive
Dependencies
• For every transitive dependency, write its
determinant as PK for new table
• Determinant: any attribute whose value
determines other values within a row
22
Conversion to Third Normal Form (cont’d.)
• Step 2: Reassign Corresponding Dependent
Attributes
• Identify attributes dependent on each
determinant identified in Step 1
• Identify dependency
• Name table to reflect its contents and function
23
24
Conversion to Third Normal Form (cont’d.)
• A table is in third normal form (3NF) when both of
the following are true:
• It is in 2NF
• It contains no transitive dependencies
25
Improving the Design
• Table structures should be cleaned up to eliminate
initial partial and transitive dependencies
• Normalization cannot, by itself, be relied on to make
good designs
• Valuable because it helps eliminate data
redundancies
26
Improving the Design (cont’d.)
• Issues to address, in order, to produce a good
normalized set of tables:
• Evaluate PK Assignments
• Evaluate Naming Conventions
• Refine Attribute Atomicity
• Identify New Attributes
27
Improving the Design (cont’d.)
• Issues to address, in order, to produce a good
normalized set of tables (cont’d.):
• Identify New Relationships
• Refine Primary Keys as Required for Data
Granularity
• Maintain Historical Accuracy
• Evaluate Using Derived Attributes
28
29
Normalization and Database Design
• Normalization should be part of the design process
• Make sure that proposed entities meet required
normal form before table structures are created
• Many real-world databases have been improperly
designed or burdened with anomalies
• You may be asked to redesign and modify existing
databases
35
Normalization and Database Design (cont’d.)
• ER diagram
• Identify relevant entities, their attributes, and their
relationships
• Identify additional entities and attributes
• Normalization procedures
• Focus on characteristics of specific entities
• Micro view of entities within ER diagram
• Difficult to separate normalization process from ER
modeling process
36
37
38
39
40
41
Summary
• Normalization minimizes data redundancies
• First three normal forms (1NF, 2NF, and 3NF) are
most commonly encountered
• Table is in 1NF when:
• All key attributes are defined
• All remaining attributes are dependent on
primary key
46
Summary (cont’d.)
• Table is in 2NF when it is in 1NF and contains no
partial dependencies
• Table is in 3NF when it is in 2NF and contains no
transitive dependencies
• Table that is not in 3NF may be split into new tables
until all of the tables meet 3NF requirements
• Normalization is important part—but only part—of
the design process
47