In the context of relational databases, a foriegn key is a referential constraint between two tables.
The foriegn key identifies a column or a set of columns in one (referencing) table that refers to a column or a set of column in another (referenced) table. The columns in the referencing table must be a primary key or unique key. The values in the one row of the referencing columns must occur in a single row in the referenced table. Thus, a row in the referencing table cannot contain values that doesn’t exist in the referenced table.
This way references can be made to link information together and it is an essential part of database normalization. Multiple rows in the reference table may refer to the same row in the referenced table. Most of the time, if reflects the one(master table, or referenced table) to many (child table, or referencing table) relationship.