Please enable Javascript to correctly display the contents on Dot Net Tricks!
 
Become an Expert in C#, .NET, MVC, JAVA, PHP, AngularJS, Hadoop, Android, iphone, Testing etc.
by Joining our Training Programs and Take Your Career to the Next Level! To know more make a call on +91 98 71 749695

SQL Integrity Constraints or Constraints

Posted By : Shailendra Chauhan, 02 Feb 2011
Updated On : 25 Sep 2012
Total Views : 119,315   
Version Support : SQL Server 2005,2008,2012
 
Keywords : SQL Integrity Constraints pdf, sql foreign key, sql primary key, sql unique key, sql check constraint, sql not null constraint

Constraints are some rules that enforce on the data to be enter into the database table. Basically constraints are used to restrict the type of data that can insert into a database table.Constraints can be defined in two ways:

  1. Column Level

    The constraints can be specified immediately after the column definition with the CREATE TABLE statement. This is called column-level constraints.

  2. Table Level

    The constraints can be specified after all the columns are defined with the ALTER TABLE statement. This is called table-level constraints.

Types of SQL Constraints

In Microsoft SQL Server we have six types of constraints

  1. Primary Key Constraints

    Primary key is a set of one or more fields/columns of a table that uniquely identify each record/row in database table. It can not accept null, duplicate values.

    Primary key constraint at column level

     CREATE TABLE table_name
    (
    col1 datatype [CONSTRAINT constraint_name] PRIMARY KEY,
    col2 datatype
    ); 
    Primary key constraint at table level
     ALTER TABLE table_name
    ADD[CONSTRAINT constraint_name] PRIMARY KEY (col1,col2)
    

  2. Unique Key Constraints

    Unique key is a set of one or more fields/columns of a table that uniquely identify each record/row in database table.It is like Primary key but it can accept only one null value and it can not have duplicate values

    Unique key constraint at column level

     CREATE TABLE table_name
    (
    col1 datatype [CONSTRAINT constraint_name] UNIQUE,
    col2 datatype
    ); 
    Unique key constraint at table level
     ALTER TABLE table_name
    ADD[CONSTRAINT constraint_name] UNIQUE (col1,col2)
    

  3. Foreign Key Constraints

    Foreign Key is a field in database table that is Primary key in another table. It can accept multiple null, duplicate values.

    Foreign key constraint at column level

     CREATE TABLE table_name
    (
    col1 datatype [CONSTRAINT constraint_name] REFERENCES referenced_table_name(referenced_table_column_name),
    col2 datatype
    ); 
    Foreign key constraint at table level
     ALTER TABLE table_name
    ADD[CONSTRAINT constraint_name] REFERENCES referenced_table_name(referenced_table_col)
    

  4. Not Null Constraints

    This constraint ensures that all rows in the database table must contain value for the column which is specified as not null means a null value is not allowed in that column.

    Not Null constraint at column level

     CREATE TABLE table_name
    (
    col1 datatype [CONSTRAINT constraint_name] NOT NULL, 
    col2 datatype
    );
    
    Not Null constraint at table level
     ALTER TABLE table_name
    ALTER COLUMN col1 datatype NOT NULL
    

  5. Check Constraints

    This constraint defines a business rule on a column in the database table that each row of the table must follow this rule.

    Check constraint at column level

     CREATE TABLE table_name
    (
    col1 datatype [CONSTRAINT constraint_name] CHECK (condition), 
    col2 datatype
    ); 
    Check constraint at table level
     ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK(condition) 

 
Further Reading
 
About the Author
Hey! I'm Shailendra Chauhan full-time author, consultant & trainer. I have more than 6 years of hand over Microsoft .NET technologies and other web technologies like JavaScript, AngularJS, NodeJS etc. I am an entrepreneur, the founder & chief editor of www.dotnet-tricks.com and www.dotnettricks.com. I am author of most popular e-books for technical Interview on ASP.NET MVC Interview Questions and Answers & AngularJS Interview Questions and Answers & LINQ Interview Questions and Answers.
I have delivered 100+ training sessions to professional world-wide over Microsoft .NET technologies such C#, ASP.NET MVC, WCF, Entity Framework and other mobile technologies such Ionic, PhoneGap, Cordova. Read more...
 
Free Interview Books
 
SUBSCRIBE & FOLLOW US
 
Browse By Category
 
 
Like us on Facebook