Friday, February 03, 2006

Database hot air

One of the weird things I have discovered as a software developer, is that almost every developer I talk to has a different opinion about what constitutes good database design and manipulation (using SQL).

From those who eschew referential integrity in the name of performance to those who insist on always using autonumbers/identity columns for primary keys. From those who ruthlessly denormalize, to those who refuse to use inner joins because "nested selects are faster", it's easy to get dozens of opinions.

It's pretty hard to justify many of these arguments, and from a maintenance/data integrity perspective, some of these are awful.

Why are databases surrounded by so much hot air?