• Excellent article!

    Regarding the commission example, to consider something specific, I would prefer to explicitly know that a commission does not apply.  Therefore, I might add a "IsCommissionEligible" BIT column.  This is, most importantly, very clear to anyone who sees it later.  If this bit is set, the value in the commission column is then irrelevant.

    If, however, the commission needed to be indexed, especially to quickly find all non-commissioned workers, one might be forced to use a bogus value, such as -1, to indicate no commission.  Sometimes real-world performance outweighs theoretical concerns.

    SQL DBA,SQL Server MVP(07, 08, 09) "It's a dog-eat-dog world, and I'm wearing Milk-Bone underwear." "Norm", on "Cheers". Also from "Cheers", from "Carla": "You need to know 3 things about Tortelli men: Tortelli men draw women like flies; Tortelli men treat women like flies; Tortelli men's brains are in their flies".