Constraints provide a powerful yet easy way to enforce the data integrity in your database. Constraints are also called declarative data integrity because they are part of the actual table definition. This is in contrast to programmatic data integrity, which uses stored procedures or triggers.
Data integrity comes in three forms.
Entity integrity. ensures that a table has a primary key. In SQL Server 2012, you can guarantee entity integrity by defining PRIMARY KEY or UNIQUE constraints or by building unique indexes. Alternatively, you can write a trigger to enforce entity integrity, but this is usually far less efficient.
Domain integrity. ensures that data values meet certain criteria. In SQL Server 2012, domain integrity can be guaranteed ...