First Normal Form
In this lesson, we will take a look at first normal form with some examples.
We'll cover the following
First normal form (1NF)
First normal form (1NF) states that the domain of an attribute must include only atomic (simple, indivisible) values and that the value of any attribute in a tuple must be a single value from the domain of that attribute. Hence, 1NF disallows having a set of values, a tuple of values, or a combination of both as an attribute value for a single tuple. The only attribute values permitted by 1NF are single atomic (or indivisible) values. In other words, if a relation contains a multi-valued attribute, it violates 1NF.
To make things more clear, let’s consider the following examples.
Example 1
STUDENT Relation
Roll_No | Name | Course |
---|---|---|
101 | Micheal | Databases, Operating Systems |
102 | Huber | Computer Networks, Data Structures |
The STUDENT relation is not in 1NF because of the multi-valued attribute Course
. To convert this table into 1NF, we must make sure that the values for the Course
attribute are atomic. This can be seen below
Roll_No | Name | Course |
---|---|---|
101 | Micheal | Databases |
101 | Micheal | Operating Systems |
102 | Huber | Computer Networks |
102 | Huber | Data Structures |
Now this table is in 1NF.
Example 2
STUDENT Relation
Roll_No | Name | Phone |
---|---|---|
101 | Felix | (123) 456–7890 |
102 | Giorno | (456) 686–7821, (789) 316–9880 |
103 | Tom | NULL |
Again we can see that the second student has two phone numbers in a single tuple which violates 1NF. The table can be seen in the first normal form below:
Roll_No | Name | Phone |
---|---|---|
101 | Felix | (123) 456–7890 |
102 | Giorno | (456) 686–7821 |
102 | Giorno | (789) 316–9880 |
103 | Tom | NULL |
In the next lesson, we will look at how the second normal form reduces data redundancy.
Get hands-on with 1400+ tech skills courses.