• An alternative to CHECK constraints are Foreign Keys referencing lookup tables. These are useful when you need to validate that a value in a column is within a set and that set may need to be changed periodically. For example if your company ships to customers in the USA and Canada you could have a CHECK constraint on the Country column in your CustomerAddress table that made sure that was the case, however if you think you may someday ship to Mexico you may instead want to create a table named Country, add rows for USA and Canada and reference it using a Foreign Key. The, when you start shipping to Mexico you simply add a row to the Country table and from that opint forward you can add rows to CustomerAddress using the new country code.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato