I should probably explain that better. Inside the DB foreign keys can
only be made between a field in a child/related table to a primary key
field. Generally the primary key fields don't change as often, though
you can change them just like any other field it's highly
unrecommended.
If you try to change a primary key value that already has other
records pointing to it via foreign keys you will generally get an
error. There are ways to setup the DB to cascade updates made to
primary keys to the foreign keys but the functionality is not
universal to all types of DBs and has it's own limitations.
Does this make sense?