Primary Key VS Foreign Key

Before learning the difference between a foreign key and a primary key, let’s look at some other things:

What are keys?

Keys are attributes that help you identify a row in a table. This gives you the opportunity to find the relationship between the two tables. It helps you identify rows in a table by combining one or more columns in the table. Keys can also be used to find a unique row or record from a table.

What are the relationships?

A database relationship is a relationship between tables (one or more) that is created using a ”join” statement. Relationships are used to efficiently retrieve data from a database. There are basically three types of database relationships.

What is Primary Key?

A primary key is a unique identifier in a column or group of columns that identifies each row separately in the table. It cannot be duplicated, meaning it should not appear on the same employee ID table more than once.

The relational database must have only one primary key. Here are some of the key features:

  • Each row should have a primary key value.
  • It cannot contain an empty value (not empty).
  • There should be a unique value for each row of data; for example, the CNIC number of a person.

A primary key can use one or more fields in a pre-existing data model, or a specific additional field can be created to become the primary key.

Example of Primary Key:

001John$1200john@gmail.comStreet No 3, California, United States
002Bell$800bell@gmail.comStreet No 1, New York, United States
003Morgan$1700morgan@gmail.comStreet no 2, Tronto, Canada

In the example above, we have created a student table with columns such as Employee_ID, name, salary, email, and address. Employee_ID is selected as a primary key because it can identify other rows in a table separately.

What is Foreign Key?

The foreign key is a key that creates a relationship between two tables. It acts as a cross-reference between the tables as it refers to the primary key of the other table.

The main purpose of creating a foreign key is to maintain the integrity of the data and to allow navigation between two different events of an entity.

Implementing foreign keys is more complex than primary keys.

For Example, an employee table has a foreign key (employee id) to the salary table.

Example of Foreign Key:

001JohnCalifornia, United States
002RootNew York, United States
003MorganToronto, Canada

In the example above, we have two tables in the organization’s database, department, and staff. However, there is no way to see which employee works in which department.

Therefore, in this table the foreign key in the department_number is added to the employee_name, we can make a connection between the two tables.

Employee_IdDepartment NumberEmployee_Name

Uses of Primary key:

Here we have mentioned some of the primary uses of primary key as follows:

  • The primary keys are used to identify each record in the database table.
  • The Primary key is to make sure that no one can enter a blank value in the table.
  • If you update or delete the record, the action you specify will be taken to ensure the integrity of the data.
  • The primary key also used to perform limited actions to reject updates or delete operations from the parent table.
  • Whenever you physically organize the DBMS table, the data is arranged in a clustered index.

Uses of Foreign key:

Here we have mentioned some of the primary uses of foreign key as follows:

  • Foreign key help to move or migrate the entities from the parent table to the child table using the primary key.
  • The foreign key creates a relationship between two or more tables in the database.
  • The foreign key makes the data in your database consistent.
  • Foreign key matched a column or a combination of columns with the primary key in the parent’s table.
  • The foreign key also ensures that the integrity of the parent table data matches the values in the child table.

Difference between Primary key and Foreign Key:

Primary KeyForeign Key
The primary key constraint is a column that identifies each row of the table uniquely.The foreign key is a column that creates relationships between tables.
The primary key helps to identify the records in a table uniquely.The Foreign key is a field or row in a table that is the primary key for another table.
It cannot accept the null values.It can accept the null values.
There is only one primary key accept in a table.A table can have more than one foreign key.
The value of the primary key cannot be removed from the parent table.The value of the foreign key can be removed from the children's table.
By default, the primary key is a clustered index.By default, the foreign key is not a clustered index.
There is no restriction on entering values in the table column in the primary key.In the foreign key, make sure that the value is present in the primary key column.


We hope the article meets your needs. Our aim to provide deep insight primary key and the secondary key. We have done thorough research on every aspect and then started writing an interesting and comprehensive article in an informative tone.

If you are having any trouble reading this article, let us know in the comment box below! We will reach you soon!