New answers tagged referential-integrity
You may want to consider a Type 2 slowly changing dimension table and normalize your user name data. This will give you a better picture of whom is changing the data over time and allow you to use a smaller more efficient surrogate key for your *By columns.
I wouldn't use an actual FK constraint on every table. If you are controlling what happens to that table in the centre of your design, you could prevent deletes and updates to the PK easily enough. Otherwise, every time you insert a record in any table you need to confirm the row is there in the centre table. But using the key values - by all means. :)
Top 50 recent answers are included