taking for example an application that holds Companies and as we move along time, more and more features are needed.I do tend to hold everything in the Companies table, but I rather get some input as I'm starting a new project and was wondering if I should keep those in a CompanyFeatures table:Should I have 2 tables, or this flow is enough?I have the same for users, each user has it's own on/off feature (when a feature can be user specific), should I continue to keep them there, or should also create a UserFeatures table to hold such information?Every time I get a company, all of their associated features information needs to be glued, but it's an easy join and the query will be cached for the next request... Querying the DB should never be a problem, my question is more about design patterns and if such information should have it's place.
What's the best way to hold features in a database?
database design