2

I've been given my assignment for college and one of the questions is to describe the importance of the 3NF.

I understand normalisation is to eliminate data redundancy.

Any help or resources would be of great help.

EugZol
  • 6,476
  • 22
  • 41

1 Answers1

0

Normalization is important part of the database design, it is defined in 70's by E F Codd. As you already know, it reduces the duplication of data in a table(relation) but it keeps the referential integrity - the information is the same but presumably more optimized. It has a cost though - more tables, related with foreign key relationship. This usually adds abstraction on the database.

Since you need specifically for 3NF it should be ensured:

  • The relation R (table) is in second normal form (2NF)
  • Every non-prime attribute of R is non-transitively dependent on every superkey of R.

The table should be normalized first in First Normal Form (1NF) and Second Normal Form (2NF), so after that eventually in 3NF. Also the row in the table should depend only "Nothing but the key". If contents of a group of field applies to more than one primary key, it should be put in another table.

For example, if you have employee table in a database that has the hometown of the employee you may have several duplicate rows with hometown New York. This hometown can be separated to another table hometown with primary key and column like name, related to the employee (through EmployeeHometown table), where only once would be listed New York (no duplicates). It will be much easier, to check 5 hometowns on separate table, than to go through 100 employees, get their hometows.

Bor
  • 775
  • 3
  • 19
  • 44