An INDEX is a seperate database entity that list all the values present in the relevent [indexed] column(s) and the record numbers of the records that contain each value. It is used to find any and all records that match a given value for the indexed column(s) without having to scan the whole table
A PRIMARY KEY is a column in the table that contains a unique value for each records so that it can be individually identified. Primary Key columns are given a unique index to prevent duplication. FORIEGN KEY columns are additional columns in a table that contain values from the Primary Key of another table and so link related records across multiple tables. The Primary Key-Foriegn Key pair are used to JOIN tables in a query to retrieve related data.