Key = a set of attributes for which a set of rows can have no 2 same values
Superkey = a set of one or more attributes with a unique combined value (both values will never be the same at the same time across tuples)(Is a superset of some key)
Candidate Key = a minimal set of K attributes such that no 2 tuples can have equivalent attributes of K (Basically superkey but the minimal number of attributes for it to work)
Primary Key = a unique identifier for each row in a table, the candidate key chosen by the DB designer
Foreign Key = an attribute in one table that refers to the primary key in another table
Index = a data structure that improves the speed of data retrieval operations on a table