bteraberry (10/4/2012)
TheSQLGuru (10/4/2012)
2) Having a table per object type sold is unworkable - how many different types of objects does Amazon sell??So if you're selling products you have to design a schema that would work for Amazon.com? What if you're only selling three different types of items?
I disagree with your dogmatism. The correct answer is that "it depends". I've seen a lot of developers come up with very complex solutions to support a flexibility they don't really need and they end up wasting a lot of time in the process.
It is easy to show points by taking things to the extreme. But in this case say you only sell 3 types of things and you code that. Now you sell a 4th thing. You will likely have to modify the database schema, load processes, application code to know about that additional product table. Then a 5th, etc. I imagine there are few entities of any size that sell things that don't add new products/product types (or at least want to)! 🙂
And I thought my dogmatism was actually anti-dogmatism, with several proposed solutions and guidances about potential pitfalls. And I ABSOLUTELY agree with your statement that developers sometimes (often?) build solutions that are overly/unnecessarily complex (or use new/shiney "crap" to do so) and wind up with pain because of those decisions. Hell - I make quite a bit of money cleaning up those messes!! :hehe:
Best,
Kevin G. Boles
SQL Server Consultant
SQL MVP 2007-2012
TheSQLGuru on googles mail service