EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials SQL Tutorial First Normal Form
 

First Normal Form

Yashi Goyal
Article byYashi Goyal
EDUCBA
Reviewed byRavi Rathore

Updated May 23, 2023

First​ Normal Form

 

 

What is the First Normal Form?

Before understanding the First​ Normal Form, one must know what Normalization is and why it is done. Normalization, in general terms, is the technique of organizing the data into the database to reduce the insertion, deletion, and updation anomaly and remove data redundancy. This process divides the larger tables into smaller ones and links them with each other through relationships of the primary and foreign keys. Duplicate and unnormalized data consume extra memory and make it challenging to manage the table while insertion, deletion, and updation of tables as the number of data increases. Therefore it is essential to normalize the tables before designing the database of any application.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

The first​ Normal Form, written as ​1NF, sets the fundamental rules of data normalization and is the first form used while normalizing the data of tables. It sets certain basic principles of data normalization, which need to be fulfilled by every table. Some of the principles are given below:

  • Every column should have single atomic (values which cannot be divided further) values.
  • Each column in the table does not have composite values and repeating values, making it difficult to search the values for the column having multiple values. So every column must have a single unique value.
  • Values stored in a column should be of the same domain to be in 1NF.
  • All the columns present in the table should have unique names.
  • A table must have a unique Primary key to identify each record differently.

How Does First​ Normal Form Work?

According to the main principles of 1NF mentioned above,

  • There should not be composite values for a column that can be divided further; if a column in a table has a value that can be divided further, then a separate table should be created for that attribute with different columns in that table with a unique Primary Key. For example, in an Employee table, for the employee_address, which can be divided further, there should be a separate table of ​Employee_address​ having Employee_id as its Primary Key and House No, City, and Pincode as different columns.

Table Employee (before 1NF)

Emp_id Emp_name Emp_age Emp_address
101 Raghu 25 Xyz colony, Agra, 258996
102 Rakesh 28 Flat 304, xyz road, Lucknow, 568975
103 Rahul 45 House no .123, near a hospital, Varanasi, 245687

As the Emp_address has so much data for address, for a single Employee, To be in 1NF, the above table can be decomposed into two below-given tables:

Table1: Employee_details (After 1NF)

  Emp_id Emp_name Emp_age
101 Raghu 25
102 Rakesh 28
103 Rahul 45

Table2: Employee_address (After 1NF)

Emp_id Emp_houseno Emp_city Emp_pincode
101 House no. 564, Xyz colony Agra 258996
102 Flat 304, xyz road Lucknow 568975
103 House no .123, near a hospital Varanasi 245687

There should be atomic values for a column that is indivisible in 1NF. ​For example, there can be multiple Emp_projects that they have handled in an Employee table until now. To have a record of all the projects of that employee, there should be a separate record for each project of an employee having unique value instead of projects being separated by ‘, ‘

Table: Emp_projects (Before 1NF)

Emp_id Emp_years_of_ex perience Emp_dept Emp_projects
101 3 IT abc,jkl
102 2 IT bcd
103 5 Accounts Abc, cfg,xyz, hjk

Table: Emp_projects (After 1NF)

Emp_id Emp_years_of_ex perience Emp_dept Emp_projects
101 3 IT abc
101 3 IT jkl
102 2 IT bcd
103 5 Accounts Abc
103 5 Accounts cfg
103 5 Accounts xyz
103 5 Accounts hjk

Table: Emp_projects with multiple repeating values in the above example can be broken down into two tables to reduce repetition.

There should not be repeating values present in the table.​ Repeating values consumes a lot of extra memory and does the search and update slow, and database maintenance difficult. For example, In the above table of Employee_Projects, there are a lot of unnecessary repeating values of Emp_id, Emp_years_of_experience, and Emp_dept, so a new table needs to be created for this to reduce the repetition of values.

Table1:

Emp_id Emp_years_of_experienc e Emp_dept
101 3 IT
102 2 IT
103 5 Accounts

Table2:

Emp_id Emp_projects
101 abc
101 jkl
102 bcd
103 Abc
103 cfg
103 xyz
103 hjk

Advantages of First​ Normal Form

Below given are some of the advantages of the First Normal Form (1NF):

  • One of the primary advantages of 1NF is that it removes the unnecessary repeating values by creating a separate table and hence does not create any issues while inserting, deleting, and updating the values in the database.
  • Working with tables with columns with multiple values separated by ‘,’ is very difficult while searching for a specific value in the database by splitting all the values of a column and converting them in a particular format, wasting time and memory. 1NF makes it easy by creating different rows for different values.
  • 1NF forms the basis and is the foremost principle that is followed while creating a database and hence is the most important Normal Form for the tables to proceed further to be normalized with 2NF and 3NF.
  • 1NF is important as it creates a Functional dependency between the two tables using the Primary Key and Foreign Key, which plays a crucial role while working with database tables.
  • 1NF allows users to use the database queries effectively as it removes ambiguity by removing the null and multiple values of a column which creates major issues in the future while updating and extracting the database.

Conclusion

While working with the databases and creating tables for any application starting, it is essential to normalize all the tables as it helps eliminate insertion, deletion, and update anomalies. Normalization also removes future costs and time. Fewer null values and lesser redundant data make the database more compact. More tables are created through Normalization, which helps in easy and efficient data maintenance. Through Normalization, better search and sorting performance is ensured through indexes and keys, and 1NF plays a vital role in it.

Recommended Articles

This is a guide to First​ Normal Form. Here we discuss the introduction, how does first​ normal form works, and advantages. You may also look at the following articles to learn more –

  1. What is MySQL?
  2. What is MySQL Schema?
  3. MySQL Operators
  4. MySQL Server

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW