Best practice - Update Primary Keys
Once a record is created with a primary key, you really shouldn't be updating the primary key.  The point of a PK is that it uniquely identifies that row.  That's why you should be careful when creating a PK with a composite key (multiple fields that comprise the PK), because if those fields need to change, then you're changing your PK and any depending records need to change as well.

Now in a table that has a Foreign Key to another table, it's ok to update the FK if/when necessary.

So really, when the data needs to change, create the PK on an auto-increment field and let people modify the rest of the data, or delete the entire record when necessary.