||SQL Server Tips by Gama and Naughter
Constraints are table properties that enforce data integrity and
play a major role in the referential integrity process. There are
five constraints: CHECK constraints, PRIMARY KEY, FOREIGN KEY, NOT
Constraints can be column-level or table-level. Column-level
constraints are checked when the column they are bound to is
inserted or updated. Table-level constraints are checked when any
column, from the table they are bound to, is inserted or updated.
The best way to restrict data from a column to a predefined format
or range is by having a CHECK constraint in the column. This will
happen when creating the table for the first time with CREATE TABLE
or it can be done later with ALTER TABLE. CHECK constraints are more
efficient than rules because a constraint is a table property while
a rule is an object bound to the table.
Example: add a CHECK constraint to the phone column in the authors
table in the Pubs database. The CHECK constraint will allow only
data in the form 123 456-7890 or UNKNOWN.
The above book excerpt is from:
Turbocharge Database Performance with C++ External Procedures
Joseph Gama, P. J. Naughter