You are on page 1of 2

Normalization:

Methods for analyzing and reducing a relational database to its most streamlined form.
Three basic normalization methods include:

First Normal Form (1NF): “All attribute values must be atomic.”

An atomic value is a value that is not a set of values of repeating groups.

Example: *Note* This is an example of what not to do when designing a table.

EmployeeID DepartmentID Name SkillType BonusRate


JK01 MKT, FIN John Kane Programmer 3.0
LP01 OPT Luis Pettino Engineer 2.9
MR03 ACT, ISM Mary Rowland Manager 4.5
LP01 RAD Luis Pettino Engineer 2.9

The table shown above is NOT in 1NF because the DepartmentID column
contains data that are not atomic. John Kane belongs to two different departments,
which is fine and realistic in a real business setting.

However, the data model for the DepartmentID should not show “MKT, FIN”. In
order to “normalize” this table into 1NF, “MKT, FIN” needs to be broken down into two
different records.

Second Normal Form (2NF): “No non-key attribute may be functionally (or partially)
dependent on just part of the key.”

Consider the table above, EmployeeID and DepartmentID columns (being


underlined) represent a unique identifier for each employee assignment to each
department. However, you can see that the Name column “depends” only on the
EmployeeID and not on the Department ID columns. This is called a functional
dependency (or partial dependency). In order to normalize a table into 2NF, this
dependency has to be eliminated.

Third Normal Form (3NF): “No transitive dependencies.”

Again, consider the table above, the BonusRate column “depends” on the
SkillType column; the SkillType column, in this example, is not part of a key. This is
called transitive dependency. In order to normalize a table into BCNF, this transitive
dependency has to be eliminated.

One solution to the problems with the table above can be implemented by
breaking down the table into several simpler, related tables.

EmployeeID Name SkillType Address . . .


JK01 John Kane Programmer
LP01 Luis Pettino Engineer
MR03 Mary Rowland Manager
DepartmentID Department
MKT Marketing
OPT Operations
ACT Accounting
RAD Research and Development
FIN Finance
ISM Information System Management

SkillType Description BonusRate


Programmer Computer Programmer 3.0
Manager Office Manager 4.5
Engineer Engineer with B.S. in Engineering 2.9

EmployeeID DepartmentID
JK01 MKT
JK01 FIN
LP01 OPT
MR03 ACT
MR03 ISM
LP01 RAD

Of course, this is just one simple solution to show how the normalization process
works. Additional modifications can be made in many different ways to accomplish
higher efficiency.

You might also like