Candidate Key
A candidate key is a minimal set of columns that can uniquely identify every row in a table. "Minimal" means no column can be removed from the set without losing uniqueness. A table can have several candidate keys.
One candidate key is chosen as the primary key; the others become alternate keys. For example, in an employees table both employee_id and email may be unique, so each is a candidate key, and employee_id might be picked as the primary key.

