DBMS Exp PDF
DBMS Exp PDF
: 5
Learning Objective: Student should be able to apply Constraints for the specified System
Tool:- SQL Server
Theory:
SQL Constraints
SQL constraints are used to specify rules for the data in a table.
Constraints are used to limit the type of data that can go into a table. This ensures the accuracy and reliability of
the data in the table. If there is any violation between the constraint and the data action, the action is aborted.
Constraints can be column level or table level. Column level constraints apply to a column, and table level
constraints apply to the whole table.
The following constraints are commonly used in SQL:
● NOT NULL - Ensures that a column cannot have a NULL value
The NOT NULL constraint enforces a column to NOT accept NULL values.
This enforces a field to always contain a value, which means that you cannot insert a new record, or update a
record without adding a value to this field.
The following SQL ensures that the "ID", "LastName", and "FirstName" columns will NOT accept NULL
values when the "Persons" table is created:
Example
CREATE TABLE Persons (
ID int NOT NULL,
LastNamevarchar(255) NOT NULL,
FirstNamevarchar(255) NOT NULL,
Age int
);
SQL NOT NULL on ALTER TABLE
To create a NOT NULL constraint on the "Age" column when the "Persons" table is already created, use the
following SQL:
The UNIQUE constraint ensures that all values in a column are different.
Both the UNIQUE and PRIMARY KEY constraints provide a guarantee for uniqueness for a column or set of
columns.
However, you can have many UNIQUE constraints per table, but only one PRIMARY KEY constraint per
table.
The following SQL creates a UNIQUE constraint on the "ID" column when the "Persons" table is created:
Primary keys must contain UNIQUE values, and cannot contain NULL values.
A table can have only ONE primary key; and in the table, this primary key can consist of single or multiple
columns (fields).
The following SQL creates a PRIMARY KEY on the "ID" column when the "Persons" table is created:
CREATETABLE Persons (
ID int NOT NULL PRIMARYKEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
To allow naming of a PRIMARY KEY constraint, and for defining a PRIMARY KEY constraint on multiple
columns, use the following SQL syntax:
To create a PRIMARY KEY constraint on the "ID" column when the table is already created, use the following
SQL:
A FOREIGN KEY is a field (or collection of fields) in one table that refers to the PRIMARY KEY in another
table.
The table containing the foreign key is called the child table, and the table containing the candidate key is called
the referenced or parent table.
The following SQL creates a FOREIGN KEY on the "PersonID" column when the "Orders" table is created:
To create a FOREIGN KEY constraint on the "PersonID" column when the "Orders" table is already created,
use the following SQL:
The CHECK constraint is used to limit the value range that can be placed in a column.
If you define a CHECK constraint on a single column it allows only certain values for this column.
If you define a CHECK constraint on a table it can limit the values in certain columns based on values in other
columns in the row
SQL CHECK on CREATE TABLE
The following SQL creates a CHECK constraint on the "Age" column when the "Persons" table is created. The
CHECK constraint ensures that you can not have any person below 18 years:
CREATETABLE Persons (
ID int NOT NULL,
LastName varchar (255) NOTNULL,
FirstName varchar(255),
Age int CHECK (Age>=18)
);
SQL CHECK on ALTER TABLE
To create a CHECK constraint on the "Age" column when the table is already created, use the following SQL:
The default value will be added to all new records IF no other value is specified.
The following SQL sets a DEFAULT value for the "City" column when the "Persons" table is created:
CREATETABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255) DEFAULT 'Sandnes'
);
SQL DEFAULT on ALTER TABLE
To create a DEFAULT constraint on the "City" column when the table is already created, use the following
SQL:
Viva Questions:
1. List various Constraints in SQL
2. Explain syntax of Check Constraint while creation of table with example
3. Explain syntax of Check Constraint to existing table with example
4. Explain syntax of Default Constraint while creation of table with example
5. Explain syntax of Default Constraint to existing table with example
6. Explain syntax of Primary Key Constraint while creation of table with example
7. Explain syntax of Primary Key Constraint to existing table with example
8. Explain syntax of Foreign Key Constraint while creation of table with example
9. Explain syntax of Foreign Key Constraint to existing table with example
10. Explain syntax of Not Null Constraint while creation of table with example
11. Explain syntax of Not Null Constraint to existing table with example
12. Explain syntax of Unique Constraint while creation of table with example
13. Explain syntax of Unique Constraint to existing table with example