Difference between Primary key and Candidate key
Difference between Primary Key and Candidate Key:
Primary key uniquely identifies each record in the table, it cannot accept null values. The primary key may be one attribute or a composite of attributes, e.g. you may have your (customerID) as primary key or (CustomerID and RespID) as a primary key.
Candidate key is a unique and not null key (similar to primary key) this candidate key is qualified to be a primary key, for some reason you didn’t choose it as a key.
Primary key = Unique + Not Null.
Candidate key = Unique + Not Null.
Example:
Consider a company has a Customer table that contains all customer information: CustomerID, and customerName, Phone, SSN, …, etc.
If CustomerID is unique and not null, the company may take it as a primary key. And SSN is unique but if it did not accept null values it will be the candidate key (Notice you can choose SSN as a primary key and CutomerID as candidate key and vice versa).
Simply candidate key is like a primary key but you didn’t choose it as a primary key.