0% found this document useful (0 votes)
12 views7 pages

Lab 4 Report

The document is a lab report on SQL constraints submitted by Muhammad Rehan Umar at the University of Engineering and Technology, Taxila. It covers various SQL constraints including NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, and CHECK, providing definitions and examples of SQL code for each type. The report illustrates how these constraints enforce data integrity and relationships between database tables.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views7 pages

Lab 4 Report

The document is a lab report on SQL constraints submitted by Muhammad Rehan Umar at the University of Engineering and Technology, Taxila. It covers various SQL constraints including NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, and CHECK, providing definitions and examples of SQL code for each type. The report illustrates how these constraints enforce data integrity and relationships between database tables.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA

FACULTY OF TELECOMMUNICATION AND INFORMATION


ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

DATABASE AND MANAGEMENT SYSTEM

LAB REPORT 04

Topic : SQL Constraints

Submitted BY: MUHAMMAD REHAN UMAR

Submitted TO: SIR SHAHID BHUTTA

Roll No : (22-CP-72)

Semester : 6th

Section : OMEGA
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION
ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

SQL NOT NULL Constraint


By default, a table column can hold NULL values.
The NOT NULL constraint enforces a column to NOT accept NULL values.
The NOT NULL constraint enforces a field to always contain a value. This means
that you cannot insert a new record, or update a record without adding a value to this
field.

The following SQL enforces the "P_Id" column and the "LastName" column to not
accept NULL values:

CODE:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

SQL UNIQUE Constraint


The UNIQUE constraint uniquely identifies each record in a database table.
The UNIQUE and PRIMARY KEY constraints both provide a guarantee for
uniqueness for a column or set of columns.
A PRIMARY KEY constraint automatically has a UNIQUE constraint defined on it.
Note that you can have many UNIQUE constraints per table, but only one PRIMARY
KEY constraint per table.

SQL UNIQUE Constraint on CREATE TABLE

The following SQL creates a UNIQUE constraint on the "P_Id" column when the
"Persons" table is created:
CODE:

CREATE TABLE Persons


(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION
ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

City varchar(255)
);

To allow naming of a UNIQUE constraint, and for defining a UNIQUE constraint on


multiple columns, use the following SQL syntax:

CODE:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id, LastName)
) ;

SQL UNIQUE Constraint on ALTER TABLE


To create a UNIQUE constraint on the "P_Id" column when the table is already
created, use the following SQL:

CODE:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id, LastName)
) ;
insert into persons values
(1, 'umar','Rehan' , 'Islamabad' , 'ISlamabad'),
(1, 'Umar', 'Rehan' , 'islamabad' , 'ISlamabad');

EXEC sp_columns 'persons'

SQL PRIMARY KEY Constraint

The PRIMARY KEY constraint uniquely identifies each record in a database table.
Primary keys must contain unique values.
A primary key column cannot contain NULL values.
Each table should have a primary key, and each table can have only one primary
key.
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION
ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

SQL PRIMARY KEY Constraint on CREATE TABLE

The following SQL creates a PRIMARY KEY on the "P_Id" column when the
"Persons" table is created:

CODE:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

SQL FOREIGN KEY Constraint


A FOREIGN KEY in one table points to a PRIMARY KEY in another table.
Let's illustrate the foreign key with an example. Look at the following two tables:
The "Persons" table:

P_Id LastName FirstName Address City

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

The "Orders" table:

O_Id OrderNo P_Id

1 77895 3

2 44678 3

3 22456 2

4 24562 1
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION
ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

Note that the "P_Id" column in the "Orders" table points to the "P_Id" column in the
"Persons" table.The "P_Id" column in the "Persons" table is the PRIMARY KEY in
the "Persons" table.

The "P_Id" column in the "Orders" table is a FOREIGN KEY in the "Orders" table.

The FOREIGN KEY constraint is used to prevent actions that would destroy link
between tables.

The FOREIGN KEY constraint also prevents that invalid data is inserted into the
foreign key column, because it has to be one of the values contained in the table it
points to.
SQL FOREIGN KEY Constraint on CREATE TABLE

The following SQL creates a FOREIGN KEY on the "P_Id" column when the "Orders"
table is created:
CODE:
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
) ;
To allow naming of a FOREIGN KEY constraint, and for defining a FOREIGN KEY
constraint on multiple columns, use the following SQL syntax:

CODE:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)

SQL FOREIGN KEY Constraint on ALTER TABLE

To create a FOREIGN KEY constraint on the "P_Id" column when the "Orders" table
is already created, use the following SQL:
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION
ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

To allow naming of a FOREIGN KEY constraint, and for defining a FOREIGN KEY
constraint on multiple columns, use the following SQL syntax:

ALTER TABLE Orders


ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
To DROP a FOREIGN KEY Constraint

To drop a FOREIGN KEY constraint, use the following SQL:


ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders

SQL CHECK Constraint


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 Constraint on CREATE TABLE

CODE:

CREATE TABLE Persons_


(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
CREATE TABLE Orders_
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons_(P_Id)
)
insert into Persons_ values
(01 , 'Umar' , 'Rehan' , 'Islamabad' , 'Islamabad' ),
(02 , 'Ali' , 'USman' , 'Attock' , 'Rawalpindi');
insert into Orders_ values
(01 , 123,01),(02, 784,10);
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION
ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

EXEC sp_pkeys 'Persons_';


EXEC sp_fkeys 'Persons_';
EXEC sp_pkeys 'Orders_';
EXEC sp_fkeys 'Orders_';

You might also like