I know this does not answer the question but I could not refrain from posting (although I will most likely get down voted). It illustrates the point. Straight from The Daily WTF:
It was my second interview and it opened pretty conversationally.
"We're thinking of storing table names and columns in the database,"
the interview said, "it's an idea floating around."
I replied, "Instead of creating tables and storing the data depending
on how it's structured?"
"Yeah!" his eyes lit up, "then we don't have to define structures or
any other mess!"
I wondered it it was some sort of test. "How would you do reports?
Would it not be awkward?"
"We could do that from the front end."
"Maybe," I said, "but wouldn't it require a lot of code? And it'd be
incredibly slow."
"Not if we used hashtables!"
"Okay... what about data integrity, foreign keys, that sort of thing?"
He was getting more defensive, "it'd be all from the front end."
"I suppose, but this would all require an exorbitant amount of code
with all sorts of complex SQL queries. It's not that bad to change a
database if you—"
"No," he interrupted, "we would use a data access layer to abstract it
to normalized data structures."
"You mean... like tables?"
Two days later, my recruiter told me that they declined me as a
candidate because I wasn't technical enough. Though I do wonder if
they ever implemented their meta-database implementation, I'm glad
I'll never know.
http://thedailywtf.com/Articles/Three-for-Three,-Recursion-Threads,-and-Wrong-Answer.aspx