Super key
A combination of columns that can represent a record. You can use these columns to represent a unique record
Candidate key
A candidate key can be considered a special case of a superkey, where a candidate key does not have any extra columns and can represent a unique record
A primary key
The developer selects a candidate key as the primary key
A foreign key
The primary key of the other table is a foreign key in this table