A foreign key can refer to columns in another table, that are Primary key only.
In a foreign key reference, a link is created between two tables when the column or columns that hold the primary key value for one table are referenced by the column or columns in another table. This column becomes a foreign key in the second table.
Candidate keys also used if primary key is not present.
Best answer here is candidate key which is unique