Ok guys. This subject drives me crazy. All feedback is greatly appriciated. Lets say you have to store emails in a table. (sent / unsent /drafts etc) only outgoing. Then you have a set of email-templates which is accessible to the user. My prefered choice here would be to create one table for email-templates and one table for real emails. No connections. However my co-worker is arguing that we should create one table for email-content (subject, body), one table for real emails with a reference to the email-content table for its contents, and one table for email-templates with a reference to the email-content for its contents. So in short, he wants to have one table to store all contents of emails, refering both to the real-email table and the template-email table. A sort of 1 to 1 relationship. And the reason, he says, for doing this is that if we in the future want to add a column to the contents of a email then we can do it in only one table. Yeah, well this sounds to me like the crappiest attempt of a database design I have ever heard of. It actually makes me angry just to think about it. Is it something i might have overlooked? Is it something about his design that is valuable and if so what? Or should i just tell him to stay away from the database?