Open In App
Related Articles

Candidate Key in DBMS

Improve Article
Save Article
Like Article

Candidate keys play an essential role in Database Management Systems (DBMS) by ensuring data integrity and efficient retrieval. A candidate key refers to a set of attributes that can uniquely identify each record in a table. In this article, we will explore the concept of candidate keys, their significance in DBMS, and their crucial role in optimizing databases.

What is a Candidate Key?

A candidate key is a minimal set of attributes that uniquely identifies each tuple within a table. In other words, there should not be any two rows in a table that can have the same values for the columns that are the part of candidate key. It is very important for establishing relationships between tables and maintaining data integrity. Candidate keys play a pivotal role in database normalization as they help us to eliminate data redundancy and anomalies.

Candidate Key in DBMS

Example of Candidate Key

Let’s try to understand, the concept of the candidate key with an example of a student table.



















In this table, each student can uniquely identify by any of the following attribute: Student_id, Roll_no, Mobile_no, Email_id. So let primary key is Student_id and Candidate keys are Student_id, Roll_no, Mobile_no, Email_id.

Importance of Candidate Key

Candidate key is widely used in DBMS for the proper functioning of a relational database. Here we try to explore some importance of candidate key.

  • Uniqueness and Data Integrity: Uniqueness meaning in DBMS, candidate keys ensure that there are no duplicate tuples in a relation. This prevents data inconsistencies and ensures data integrity.
  • Relationship Establishment: Candidate keys are used to establish relationships between tables. For example, in a customer and order scenario, the customer ID can serve as a candidate key in the customer table and as a foreign key in the order table, establishing the relationship between the two tables.
  • Indexing and Query Optimization: Candidate keys play a vital role in indexing and optimizing queries. Indexes are created on candidate keys to enhance data retrieval speed. With properly chosen candidate keys, the database management system can efficiently locate the desired data.
  • Database Normalization: Candidate keys are closely associated with database normalization. By identifying candidate keys and eliminating redundancy, a database can achieve higher levels of normalization, reducing data redundancy and anomalies.

Candidate Key Vs Super Key

Candidate Key

  • A candidate key is a super key that has the extra characteristic that it would become less unique if any of its attributes were removed.
  • It’s a simple yet powerful key.
  • A table may have more than one candidate key.
  • Every candidate key is distinct and has the potential to be the main key.

Super Key

  • A super key is a collection of one or more characteristics (columns) that collectively allow a record in a table to be uniquely identified.
  • It can have more properties than are required for a record to be uniquely identified.
  • A table may include several super keys.
  • It is possible for a super key to have redundant qualities, depending on whether it is minimum or not.


Candidate keys form the backbone of database management systems, ensuring data integrity, relationship establishment, and query optimization. Understanding and correctly identifying candidate keys is crucial for designing efficient and robust databases. By selecting appropriate candidate keys, database professionals can create well-structured databases that facilitate data retrieval, storage, and maintenance.

FAQs on Candidate Key

Q.1: Can a candidate key be a super key?


All candidate keys are super key but not all super keys are candidate keys. A reference table to understand this :








Adwitiya Mourya




Juan Phillipes




Ethan Hunt




Jake Samuel


In the above table, we have 3 candidate keys: Student_Id, Enrollment_No, email.
Now, to prove that every candidate key is a super key, as the definition of super key goes – “All set of attributes that can uniquely identify a record”. That means, super key can be made of either single attribute or combination of attributes. So if the minimal set is 1-attribute, then its still an attribute that come under the category – “All attributes that can uniquely identify a record”. Hence, that 1 single attribute will be treated as a candidate key and super kye both.

So, in above relation following attributes : {Student_Id, Enrollment_No, email} are not only candidate keys but super keys as well.

Q.2: Since all candidate keys are super keys then how do we determine the number of super keys that are not candidate keys ?


1. Identify candidate keys

2. Find total super keys.

3. Super keys that are not candidate keys = Total no of super keys – No of candidate keys

Q.3: What criteria is used to select primary key from candidate keys ?


Primary key is chosen based on the candidate key, whose value will never be altered, NULL , Unique, and requires minimal storage space to enhance performance. For example, email is a candidate key in above reference table but it shouldn’t be selected as a primary key because it consumes more space and its possible because of application logic that it can contain NULL value.

Q.4: Can a candidate key include NULL Values ?


Yes, a candidate key can contain a NULL Value. But that candidate key can never be chosen as the primary key. So, it must be kept in mind while defining a schema.

Q.5: How can we enforce candidate key column in RDBMS ?


We can utilise the constraint – “UNIQUE Constraint” to ensure that all the values entered in a column are unique.

Unlock the Power of Placement Preparation!
Feeling lost in OS, DBMS, CN, SQL, and DSA chaos? Our Complete Interview Preparation Course is the ultimate guide to conquer placements. Trusted by over 100,000+ geeks, this course is your roadmap to interview triumph.
Ready to dive in? Explore our Free Demo Content and join our Complete Interview Preparation course.

Last Updated : 16 Nov, 2023
Like Article
Save Article
Similar Reads
Complete Tutorials