First Normal Form (1 NF)

Gayan Madhusankha
3 min readJun 10, 2021

We have discussed what is Normalization in my previous article. If you have read that article, I ended up hoping to bring articles about forms of Normalization. There are 4 Normalization forms that are commonly used.

  1. First Normal Form (1NF)
  2. Second Normal Form (2NF)
  3. Third Normal Form (3NF)
  4. Boyce Codd Normal Form (BCNF)

Here I hope to bring you the information about the First Normal Form. Let’s understand this also through a practical example.

First of all, I think it is better to sketch ER diagram. (Don’t take it seriously, because it is just a simple diagram for your understanding.)

Figure 1

Here the Telephone number is a multivalued attribute (more than one value has associated with the key) and the Address is a composite attribute (attribute can be further divided into meaningful subparts. ). So, when you draw the table according to the ER diagram, you will be put the address in one column and all the Telephone numbers belong to one particular student in a one-column using comma-separated as figure 2.

Figure 2

Now you may argive with me, what’s wrong with figure 2 table structure. The problem here is the table is not in its standard version. Without more tales, I will quickly jump into the topic.

A table to be in First Normal Form, it should be satisfied 4 rules.

Rule 01)

Each attribute/Column should contain atomic values.

Nothing to confuse here my dear. It just says avoid composite and multivalued attributes and they should be inserted as the table of figure 3.

Figure 3

Rule 02)

A column should contain values that are of the same type.

This rule says that you cannot insert string-type data in an integer type column. Assume that what happens when you insert a student’s name in the student ID column. Your database will confuse, isn’t it? You got it.

Rule 03)

Each column should have a unique name.

Nothing to explain here, I think. It just says all the columns in your table should have different names. As an example assume that there are two columns for student names. Then, when you are going to retrieve the name column from the database, the database will confuse to identify which column should use to retrieve names.

Rule 04)

No ordering mechanism for rows and columns in the database.

Therefore, you don’t want to insert the students according to their index number or the alphabetical order of their names.

And also you don’t want to use Student ID as the first column, Student name as the second column likewise.

Done, this is all about First Normal Form. Now you may think about why this first Normal Form is important. Actually, the first Normal form eliminates data redundancy. In 1st NF, we write two tuples for 2 Telephone numbers for a particular student who has 2 Telephone numbers. Hey, does 1st NF eliminate redundancy or does it excess redundancy? Sometimes yes, but this problem will resolve in Next Normal Forms. Rather than eliminates redundancy, 1st NF eliminates repeating groups.

1st NF is the initial step for other Normal Forms. Therefore, it is mandatory to have completed the first Normal form to proceed to the 2nd NF.

I bid you farewell for now, hoping to bring you information about Second Normal Form in my next article. Stay with us until then. I highly appreciate your comment.

--

--