What is Candidate Key in DBMS?
A Candidate Key in DBMS is a minimal set of columns/attributes that can be used to uniquely identify a single/every tuple or row in a relation.
Candidate Keys are determined during database design based on the underlying business rules of the database.
After finding all possible candidate keys in a relation.DBA chooses one key as a primary key.
Consider the following relation in the context of a business firm:
Employee(EmpNo, Name, AadharNo, Salary, DOB)
Let us try to identify some candidate keys for this relation
Key | Description |
Empno | This seems to be a good candidate key as companies usually issue a unique no for each employee. |
Adharno | This seems to be a good candidate key for a company that is based in India. |
Name, DOB | This might work for a small organization of 5 to 10 people as a combination of name and DOB is unique. |
Salary | This is not a good candidate key as salary is paid uniformly to people at the same level. |
Empno, DOB | It is not a candidate key as empno alone is unique. Because only a minimal set of an attribute can be candidate key. |
For other interesting technical blog Articles click here
Candidate key vs Primary key-
There are a few differences between the candidate key and the primary key. In a table, it may be there is more than one candidate key exist.
But in a table, only one primary key can exist. The primary key is also a candidate key but the only difference is one of the candidate key work as a primary key.
Conclusion-
Show the main purpose of this key is to identify the rows uniquely. it means any column or combination of a column that is minimal and by which we can uniquely identify the rows.
Now you can easily understand the concept of a candidate key.
If you have any problem on the database management system then comment your questions
Thank you