I'm looking for a best practice for creating user-defined columns that allows for not-overly complicated methods for reporting. For instance, a user or admin adds a few columns specific to his department, including descriptive and/or "column" names. He then wants to create a report that includes these columns along with some of the default columns.
I'm thinking that for the novice or regular users, setting up report models would suffice for column selection, while creating a table for all user defined types (key would be parent key plus column-name key, maybe) would support holding the data, but type enforcement and other issues are the things that I'm looking for at a best practice level.
I don't want to alter tables because the same database may be used for multiple departments with different udc requirements.
Any ideas
Thanks.

Setup of user-defined columns with eye on reporting
Tim Droz