At current, I have around 130 tables in my database, anticipating a growth of circa 200 tables in total.
Now I have several tables (well, most of them, actually) that contain properties like
DeletedBy, which take an
nvarchar(MAX) as their data type and contain the name of the user.
This makes versioning a lot harder, because the name of the user might change during the lifetime of the application.
Now I've thought about referencing each and every
*By-Column via a Foreign Key to the users table. However this would result in 600 foreign keys on a single table (expecting the 200 tables with 3 foreign keys per table, if not more).
Are there any drawbacks? What's the best practice?
As a side note (not relevant for the dba aspect of my question, I presume): I'm using Entity Framework in C#, only referencing a single part of it in my code (because I don't want and don't need 600 collections in my