Candidate key
A candidate key, or simply a key, of a relational database is any set of columns that have a unique combination of values in each row, with the additional constraint that removing any column could produce duplicate combinations of values. A candidate key is a minimal superkey, i.e., a superkey that does not contain a smaller one.