We have several heavily-used tables with lots of columns (average around 30 columns), and the users are getting locked out frequently. We’ve thought about splitting the tables, but didn’t wantto sacrifice all the work we put into normalizing them. Any thoughts?
Although normalized databases are the ideal in theory, sometimes it isnecessary to de-normalize. If you can split the larger tables into two ormore smaller tables without duplicating information (except for the primarykey, of course), that would be ideal. But if you have to duplicate someinformation, make sure that you grant update and insert privileges of that data in only one table. I know it’s hard to de-normalize after going through thenormalization process (all that work!), but if you start with normalized databases, and if you take care to protect the data integrity of any duplicate columns, you would be able to re-normalize easily if it were ever needed (and a simple join or view can recreate the appearance of the normalized data).