Foreign key don't have to be unique -infact they often aren't
on page 305 it says
You can use a foreign key to reference a unique value in the parent table.It doesn't have to be the primary key of the parent table,but it must be unique.
You have one primary key for each address in the address table. Several people in the person table can live at the same address, using the same value for their foreign key.
In my example you could not use town as a foreign key; there are likely to be several addresses for the same town, so you could not retrieve anybody's address.
when your children are suffering from your punishment, tell your them it will help them write good poetry when they are older. Like this tiny ad:
a bit of art, as a gift, that will fit in a stocking