SQL Server constraints allow you to enforce rules in your database. These rules may affect business logic, database integrity and/or table structures. Each one plays an important role in your database architecture.
There are six types of constraints supported by Microsoft SQL Server:
1. CHECK CONSTRAINTS: Check constraint defines a condition for one or more columns in a table on INSERT and UPDATE operations.
2. DEFAULT CONSTRAINTS: It allow you to specify a value that the database will use to populate fields that are left blank in the input source. They're a replacement for the use of NULL values that provide a great way to predefine common data elements.
3. PRIMARY KEY CONSTRAINTS: They specify fields that uniquely identify each record in the table. It can either be a normal attribute that is guaranteed to be unique. Primary keys may consist of a single attribute or multiple attributes in combination.
4. FOREIGN KEY CONSTRAINTS: They are the fields in a relational database table that match the primary key column of another table. Foreign keys can be used to cross-reference tables.
5. UNIQUE CONSTRAINTS: It allows SQL Server administrators to specify that a column may not contain duplicate values. When you create a new UNIQUE constraint, SQL Server checks the column in question to determine whether it contains any duplicate values.
6. NOT NULL CONSTRAINTS: They allow you to specify that a column may not contain NULL values. When you create a new NOT NULL constraint on a database column, SQL Server checks the column's current contents for any NULL values.