• Phil Factor (5/8/2009)


    Denormalisation (you'll live to regret it when the application expands)

    Agreed.

    All too often I find that when people say that they 'denormalised for performance' they actually mean 'didn't feel like normalising completely in the first place'

    Denormalising for performance means that you've normalised fully, have then done tests on large volumes of data and have found that the fully normalised design is not capable of meeting the performance requirements. It does not mean "Oh, I think there are a few too many tables, let me denormalise a bit"

    Oh, and I don't mean normalise to Domain-Key normal form. 3rd or BCNF is usually enough, maybe 4th if you've got odd tables that show that particular data anomaly.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass