A column in a database table containing values that are also found in some primary key column (of a different table). By extension, any reference to entities of a different type.
Some RDBMSs allow a column to be explicitly labelled as a foreign key and only allow values to be inserted if they already exist in the relevant primary key column.
[Is it still a foreign key if the primary key is in a different column in the __same__ table?]
In our own language we have a —— nowhere surpassed, in whose lock no foreign key will ever rust.