First Normal Form (1NF)
In relational database design, normalization is the process of organizing data to reduce redundancy and improve data integrity. First Normal Form (1NF) is the first step in this process. It ensures that the structure of a database table is organized in a way that makes it easier to manage and query. It is the first and essential step in designing a well-structured relational database.
It lays the foundation for higher levels of normalization by enforcing atomicity and eliminating duplicate and multivalued data. Applying 1NF helps in maintaining data integrity, reducing anomalies, and making the database more efficient to query and manage.
Levels of Normalization
There are various levels of normalization. These are some of them:
- First Normal Form (1NF)
- Second Normal Form (2NF)
- Third Normal Form (3NF)
- Boyce-Codd Normal Form (BCNF)
- Fourth Normal Form (4NF)
- Fifth Normal Form (5NF)
First Normal Form
If a relation contains a composite or multi-valued attribute, it violates the first normal form, or the relation is in the first normal form if it does not contain any composite or multi-valued attribute. A relation is in first normal form if every attribute in that relation is single-valued attribute.
A relation (table) is said to be in First Normal Form (1NF) if:
- All the attributes (columns) contain only atomic (indivisible) values.
- Each column contains values of a single type.
- Each record (row) is unique, meaning it can be identified by a primary key.
- There are no repeating groups or arrays in any row.
Rules for First Normal Form (1NF) in DBMS
To follow the First Normal Form (1NF) in a database, these simple rules must be followed:
Every Column Should Have Single Values
Each column in a table must contain only one value in a cell. No cell should hold multiple values. If a cell contains more than one value, the table does not follow 1NF.
- Example: A table with columns like [Writer 1], [Writer 2], and [Writer 3] for the same book ID is not in 1NF because it repeats the same type of information (writers). Instead, all writers should be listed in separate rows.
All Values in a Column Should Be of the Same Type
Each column must store the same type of data. You cannot mix different types of information in the same column.
- Example: If a column is meant for dates of birth (DOB), you cannot use it to store names. Each type of information should have its own column.
Every Column Must Have a Unique Name
Each column in the table must have a unique name. This avoids confusion when retrieving, updating, or adding data.
- Example: If two columns have the same name, the database system may not know which one to use.
The Order of Data Doesn’t Matter
In 1NF, the order in which data is stored in a table doesn’t affect how the table works. You can organize the rows in any way without breaking the rules.
Example:
Consider the below COURSES Relation :

In the above table, Courses has a multi-valued attribute, so it is not in 1NF. To make the table in 1NF we have to remove the multivalued attributes from the table as given below:

Now the table is in 1NF as there is no multi-valued attribute present in the table.