We have a large but not huge Database - maybe 400 tables. This is an insurance system. A colleague is suggesting we consolidate all people into one table. This would involve everything from: Users, Witnesses, Claimants, Managers, External Contacts, Drivers, Payees. i.e. everyone.
I support consolidation/generalizing for tables up to a point. We can often make code reusable this way - rather than in the future have to add the same column to several different tables and update all the code (for both Stored Procedures and Applications) that goes along with it. On the other hand, I think this idea of having a single table for all types of peoples is going too far - and may not be practical.
Has anyone worked with a Database that has all types of people stored in a single table? Did this approach work well?