# Difference Between Primary Key and Candidate Key

By BYJU'S Exam Prep

Updated on: September 25th, 2023

The difference between primary key and candidate key is that the primary key is a minimal super key. Here, we need to understand the meaning of these key types individually before discussing the difference between primary key and candidate key in detail. However, both primary and candidate key helps the user to identify a tuple uniquely in the relation. There is a subtle difference between primary and candidate keys, which will get clear as we proceed further.

In this article, we will learn about the primary key, candidate key, and the difference between the primary key and candidate key in detail. The attributes that are utilized to access tuples from a table are Primary Key and Candidate Key. Additionally, these keys can be utilized to establish a connection between two tables.

## Difference Between Primary Key and Candidate Key

We will discuss the primary and candidate keys individually, but let us check the difference between primary key and candidate key, which are depicted in the table below.

 Primary Key VS Candidate Key Primary Key Candidate Key It is used to uniquely identify a tuple in the relation. It is the minimal set of attributes used to identify a tuple uniquely in the relation. There can be, at most, one primary key for a relation. There can be one or more candidate keys for a relation. It does not allow null values. It may contain null values. It is chosen from one of the candidate keys. We can find the number of super keys for a relation using candidate keys. It can be applied as a candidate key. It may be or may not be employed as a primary key.

## What is a Primary Key?

A primary key is chosen from one of the candidate keys. It refers to the attribute or set of attributes uniquely identifying a tuple in the relation. The difference between primary key and candidate key is that a primary key is chosen from one of the candidate keys. The characteristics of a primary key are given below.

• A primary only allows unique values.
• It does not allow null values.
• A relation can have at most one primary key.
• It is selected from one of the candidate keys.

## What is a Candidate Key?

A candidate key is the minimal set of attributes uniquely identifying a tuple in the relation. Using the candidate keys, we can find the number of super keys for a relationship. A relation can have many candidate keys. Following are the characteristics of a candidate key.

• A candidate key may allow null values.
• There can be one or more candidate keys for a relation.
• It only allows unique + null values.

Note: The primary key is chosen from one of the candidate keys with unique and no null values.

## Key Differences Between Primary Key and Candidate Key

The difference between primary key and candidate key is given below.

• The primary difference between the two keys is that a table or relation in a schema can have more than one candidate key but only one primary key.
• Although defining a primary key is not required, a connection cannot exist without the candidate key.
• A table or relation’s primary key is a distinct and important characteristic. On the other hand, the candidate keys have many candidates, from which one candidate key can be chosen as the primary key.

Get complete information about the GATE exam pattern, cut-off, and all those related things on the BYJU’S Exam Prep official youtube channel.

POPULAR EXAMS
SSC and Bank
Other Exams
GradeStack Learning Pvt. Ltd.Windsor IT Park, Tower - A, 2nd Floor, Sector 125, Noida, Uttar Pradesh 201303 help@byjusexamprep.com