0% found this document useful (0 votes)
8 views

SQL XP 05

SQL SERVER presentation

Uploaded by

parimengal039
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

SQL XP 05

SQL SERVER presentation

Uploaded by

parimengal039
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 52

Creating Tables and Enforcing Data Integrity

Objectives
In this lesson, you will learn to:
 Create tables
 Insert rows into tables
 Delete tables
 Create user-defined datatype
 List various types of data integrity
 Add the following constraints to tables:
 PRIMARY KEY
 UNIQUE
 FOREIGN KEY
 CHECK
 DEFAULT
Creating Tables and Enforcing Data Integrity

5.D.1 Creating a Table


 The details about a newspaper that publishes
advertisements for Tebisco, Inc. have to be stored in the
Recruitment database.
Attributes Data
Newspaper Code 0001
Newspaper Name Texas Times
Region Texas
Type of Newspaper General
Contact Person Jackson Demello
HO Address 4723 West Alabama
City Houston
State Texas
Zip 77015-4568
Country Code 001
Fax (713)451-6797
Phone (713)451-6850
Creating Tables and Enforcing Data Integrity

Task List
 Draft the statement to create a table
 Create the table in the database
 Check whether the table has been created
 Insert a row into the table
Creating Tables and Enforcing Data Integrity

Draft the statement to create a table


 Tables: A table is a database object used to store data
 Data in a table is organized in rows and columns
 Each row in a table represents a unique record and each
column represents an attribute of the record
 The CREATE TABLE Statement: Is used to create a table
 Syntax
CREATE TABLE table_name
(column_name datatype [NULL | NOT NULL]
[IDENTITY (SEED,INCREMENT)],
column_name datatype …)
[ON {filegroup} | DEFAULT]

 Result:
 The name of the table to be created is Newspaper
Creating Tables and Enforcing Data Integrity

Create the table in the database


 Action
 In the Query Analyzer window, type the given CREATE
TABLE statement

CREATE TABLE NewsPaper


(cNewsPaperCode char(4) NOT NULL,
cNewsPaperName char(20) NOT NULL,
vRegion varchar(20),
vTypeOfNewsPaper varchar(20),
vContactPerson varchar(35),
vHOAddress varchar(35),
Creating Tables and Enforcing Data Integrity

Create the table in the database (Contd.)


cCity char(20),
cState char(20),
cZip char(10),
cCountryCode char(3),
cFax char(15),
cPhone char(15))
 Press F5 to execute the statement
Creating Tables and Enforcing Data Integrity

Check whether the table has been created


 You can use the sp_help command to view the structure of
the table
 Syntax
sp_help table_name
 Action:
 In the Query Analyzer window, type:
sp_help Newspaper
 Press F5 to execute
Creating Tables and Enforcing Data Integrity

Insert a row into the table


 The INSERT Statement
 After the table structure has been created, data can be
inserted into the table. You can insert data into the table
by using the INSERT command
 Syntax
INSERT [INTO] table_name [column_list]
VALUES (values_list)
Creating Tables and Enforcing Data Integrity

Insert a row into the table (Contd.)


 Action:
 In the Query Analyzer, type the INSERT statement given
below:
INSERT Newspaper
VALUES('0001', 'Texas Times', 'Texas',
'General', 'Jackson Demello',
'4723 West Alabama', 'Houston', 'Texas',
'77015-4568', '001', '(713)451-6797',
'(713)451-6850')
 Press F5 to execute
Creating Tables and Enforcing Data Integrity

5.P.1 Creating a Table


 You want to store the details about the colleges that
Tebisco, Inc. visits for recruitment. A sample row is given
below:
Attribute Data
College Code 0002
College Name Cromwell College
College Address 4010 Gartner Ave
City Abilene
State Texas
Zip 79605-4123
Phone (915)692-6628

The college code and name cannot be left blank.


Creating Tables and Enforcing Data Integrity

5.D.2 Deleting a Table


 Remove the Newspaper table from the database.
Creating Tables and Enforcing Data Integrity

Task List
 Draft the statement to remove a table from the database
 Remove the Newspaper table from the database
 Verify that the table has been removed from the database
Creating Tables and Enforcing Data Integrity

Draft the statement to remove a table from the


database
 The DROP TABLE Statement
 Used to remove the table from the database
 Syntax
DROP TABLE table_name
 Result:
 The statement to remove the Newspaper table is:
DROP TABLE Newspaper
Creating Tables and Enforcing Data Integrity

Remove the Newspaper table from the database


 Action
 In the Query Analyzer window, type:
DROP TABLE Newspaper
 Press F5 to execute
Creating Tables and Enforcing Data Integrity

Verify that the table has been removed from the


database
 Type the following command to view the table structure:
sp_help Newspaper
 Action
 In the Query Analyzer window, type:
sp_help Newspaper
 Press F5 to execute
Creating Tables and Enforcing Data Integrity

Just a Minute…
 Draft the statement to remove the College table from the
database.
Creating Tables and Enforcing Data Integrity

User-Defined Datatypes
 Creating a User-Defined Datatype
 A user-defined datatype is created using the sp_addtype
system stored procedure
 Syntax
sp_addtype name, [system_data_type]
[, 'null_type']
Creating Tables and Enforcing Data Integrity

User-Defined Datatypes (Contd.)


 Dropping a User-Defined Datatype
 A user-defined datatype can be dropped using the
sp_droptype system stored procedure
 Syntax
sp_droptype type
Creating Tables and Enforcing Data Integrity

5.D.3 Creating User-defined Datatypes


 The NewsAd and the Newspaper tables do not have the
same datatype for the cNewspaperCode attribute. Create a
user-defined datatype called typNewspaperCode that can be
used to create the NewsAd and the Newspaper table. Create
the NewsAd table in which the newspaper code is of
typNewspaperCode datatype.
Creating Tables and Enforcing Data Integrity

Task List
 Identify the inconsistency in the table structures
 Identify the system-defined datatype that can be converted
to a user-defined datatype
 Identify the name for the user-defined datatype
 Create a user-defined datatype
 Verify that the datatype has been created
 Create the NewsAd table with the new datatype
Creating Tables and Enforcing Data Integrity

Identify the inconsistency in the table structures


 User-defined datatypes
 Can be used to remove the inconsistency in table
structures which arises when two attributes that should
have the same system datatype use different system
datatypes.
 Result:
 The cNewspaperCode attribute in the Newspaper table is
of datatype char(4). The cNewspaperCode attribute in the
NewsAd table is of datatype varchar(2). The datatype and
the length of both these attributes are different. This gives
rise to inconsistency in the table structure.
Creating Tables and Enforcing Data Integrity

Identify the system-defined datatype that can be


converted to a user-defined datatype
 Result:
 The system-defined datatype of both attributes should be
char(4)
Creating Tables and Enforcing Data Integrity

Identify the name for the user-defined datatype


 The name of the datatype can be prefixed with the letters 'typ'
for identifying the user-defined datatype
 Result:
 Name for the user-defined datatype is typNewspaperCode
Creating Tables and Enforcing Data Integrity

Create a user-defined datatype


 Action:
 In the Query Analyzer window, type:
sp_addtype typNewspaperCode, 'char(4)'
 Execute the query by clicking the Execute Query button
Creating Tables and Enforcing Data Integrity

Verify that the datatype has been created


 The sp_help system stored procedure gives specific
information about the object specified
 Syntax
sp_help datatype_name
 Action:
 In the Query Analyzer window, type:
sp_help typNewspaperCode
 Press F5 to execute
Creating Tables and Enforcing Data Integrity

Create the table NewsAd with the new datatype


 Action:
 In the Query Analyzer window, type:
CREATE TABLE NewsAd
(
cNewsAdNo char(4) NOT NULL,
cNewspaperCode typNewspaperCode NOT
NULL,
dAdStartDate datetime,
dDeadline datetime
)
 Press F5 to execute
Creating Tables and Enforcing Data Integrity

Data Integrity
 Data integrity ensures the consistency and correctness of
data stored in a database. It is broadly classified into the
following four categories:
 Entity integrity
 Domain integrity
 Referential integrity
 User-defined integrity
 Entity Integrity
 Ensures that each row can be uniquely identified by an
attribute called the primary key
Creating Tables and Enforcing Data Integrity

Data Integrity (Contd.)


 Domain Integrity
 Ensures that only a valid range of values is allowed to be
stored in a column
 Referential Integrity
 Ensures that the values of the foreign key match with the
value of the corresponding primary key
 User-Defined Integrity
 Refers to a set of rules specified by a user, which do not
belong to the entity, domain, and referential integrity
categories
Creating Tables and Enforcing Data Integrity

Just a Minute...
 Which integrity ensures that the values in the foreign key
match with the value of the corresponding primary key?
Creating Tables and Enforcing Data Integrity

Creating Constraints
 Constraints are created to ensure data integrity
 Constraints define rules that must be followed to maintain
consistency and correctness of data
 A constraint can either be created at the time of creating a
table or can be added later
 Constraints can be enforced at two levels:
 Column level
 Table level
Creating Tables and Enforcing Data Integrity

Creating Constraints (Contd.)


 A constraint can be created using either of the following
statements:
 CREATE TABLE statement
CREATE TABLE table_name
column_name CONSTRAINT constraint_name
constraint_type [,CONSTRAINT
constraint_name constraint_type]
 ALTER TABLE statement
ALTER TABLE table_name
[WITH CHECK | WITH NOCHECK]
ADD CONSTRAINT constraint_name
constraint_type
Creating Tables and Enforcing Data Integrity

Creating Constraints (Contd.)


 Dropping Constraints
A constraint can be dropped using the ALTER TABLE
statement in the Query Analyzer
 Syntax
ALTER TABLE table_name
DROP CONSTRAINT constraint_name
Creating Tables and Enforcing Data Integrity

Creating Constraints (Contd.)


 Types of Constraints
 The PRIMARY KEY Constraint
 Isdefined on a column or a set of columns whose
values uniquely identify rows in a table
 Ensures entity integrity
 Syntax
[CONSTRAINT constraint_name PRIMARY KEY
[CLUSTERED|NONCLUSTERED](col_name [,
col_name [, col_name [, …]]])]
Creating Tables and Enforcing Data Integrity

Creating Constraints (Contd.)


 The UNIQUE Constraint
 Isused to enforce uniqueness on non-primary key
columns
 Multiple UNIQUE constraints can be created on a table
 Syntax
[CONSTRAINT constraint_name UNIQUE
[CLUSTERED | NONCLUSTERED](col_name [,
col_name [, col_name [, …]]])
Creating Tables and Enforcing Data Integrity

Creating Constraints (Contd.)


 The FOREIGN KEY Constraint
 Is used to remove the inconsistency in two tables
when data in one table depends on data in another
table
 Syntax
[CONSTRAINT constraint_name FOREIGN KEY
(col_name [, col_name [, …]])
REFERENCES table_name (column_name [,
column_name [, …]])]
Creating Tables and Enforcing Data Integrity

Creating Constraints (Contd.)


 The CHECK Constraint
 Enforces domain integrity by restricting the values to be
inserted in a column
 Syntax
[CONSTRAINT constraint name] CHECK
(expression)
Creating Tables and Enforcing Data Integrity

Creating Constraints (Contd.)


 The DEFAULT Constraint
 It is used to assign a constant value to a column
 Only one DEFAULT constraint can be created for a
column
 The column cannot be an IDENTITY column
 Syntax
[CONSTRAINT constraint_name] DEFAULT
(constant_expression | NULL)
Creating Tables and Enforcing Data Integrity

Just a Minute…
 Which constraint enforces domain integrity by restricting the
value to be inserted in a column?
Creating Tables and Enforcing Data Integrity

5.D.4 Using Constraints


 The Newspaper and NewsAd tables have been finalized.
Create the Newspaper table with the following data integrity
rules:
 The cNewspaperCode attribute should be the primary key
 The cPhone attribute should be of the format ([0-9][0-9]
[0-9])[0-9][0-9][0-9][0-9][0-9][0-9][0-9])
 The cCountryCode attribute should be 001 by default
 Modify the NewsAd table as specified below:
 cNewsAdNo should be the primary key
 cNewspaperCode should be the foreign key
Creating Tables and Enforcing Data Integrity

Task List
 Identify how to enforce data integrity
 Draft the statement to create a table
 Create the table with constraints
 Verify constraints by inserting data
Creating Tables and Enforcing Data Integrity

Identify how to enforce data integrity


 You can enforce data integrity by using constraints
 Result:
 For the Newspaper table:
 Thephone number format can be given using the
CHECK constraint
 The country code can be given using the DEFAULT
constraint
 The newspaper code can be made the primary key
using the PRIMARY KEY constraint
Creating Tables and Enforcing Data Integrity

Identify how to enforce data integrity (Contd.)


 For the NewsAd table:
 ThecNewsAdNo column can be made the primary key
using the PRIMARY KEY constraint
 The cNewspaperCode attribute can be made the
foreign key using the FOREIGN KEY constraint
Creating Tables and Enforcing Data Integrity

Draft the statement to create a table


 Result:
 The command to create the Newspaper table would be as
follows:
CREATE TABLE Newspaper
(cNewspaperCode typNewspaperCode CONSTRAINT
pkNewspaperCode PRIMARY KEY,
cNewspaperName char(20) NOT NULL,
vRegion varchar(20),
vTypeOfNewspaper varchar(20),
vContactPerson varchar(35),
vHOAddress varchar(35),
Creating Tables and Enforcing Data Integrity

Draft the statement to create a table (Contd.)


cCity char(20),
cState char(20),
cZip char(10),
cCountryCode char(3) CONSTRAINT defCountryCode
DEFAULT(‘001’),
cFax char(15),
cPhone char(15) CONSTRAINT chkPhone
CHECK(cPhone
LIKE('([0-9][0-9][0-9])[0-9][0-9][0-9]-[0-9][0-
9][0-9][0-9]')))
Creating Tables and Enforcing Data Integrity

Draft the statement to create a table(Contd.)


 The commands to modify the NewsAd table would be as
follows:
ALTER TABLE NewsAd
ADD CONSTRAINT pkNewsAdNo PRIMARY KEY
(cNewsAdNo)
ALTER TABLE NewsAd
ADD CONSTRAINT fkNewspaperCode
FOREIGN KEY (cNewspaperCode)
REFERENCES Newspaper(cNewspaperCode)
Creating Tables and Enforcing Data Integrity

Create the table with the constraints


 Action:
 In the Query Analyzer window, type the query
 Execute the commands by clicking the Execute Query
button
Creating Tables and Enforcing Data Integrity

Verify the constraints by inserting data


 Verify the constraint by inserting data (into the Newspaper
table)
Action
Action
Test Attribute Value in the INSERT Result
Test Attribute Value in the INSERT Result
case statement.
case statement.
1 cPhone 3445AB323 The row would not be inserted, as the
1 cPhone 3445AB323 The row would not be inserted, as the
telephone number contains character data
telephone number contains character data
2 cPhone (212)345-2467 The row would be inserted, as this is a valid
2 cPhone (212)345-2467 The row would be inserted, as this is a valid
format for a telephone number
format for a telephone number
4 cCountrycode 005 The row would be inserted with 005 in the
4 cCountrycode 005 The row would be inserted with 005 in the
cCountryCode attribute
cCountryCode attribute
5 cNewspaperCode 0001 (Already The row when inserted would give an error,
5 cNewspaperCode 0001 (Already The row when inserted would give an error,
present in since 0001 already exists for
present in since 0001 already exists for
Newspaper table) cNewspaperCode in the Newspaper table
Newspaper table) cNewspaperCode in the Newspaper table
6 cNewspaperCode 0090 (not present in The row would be inserted, as 0090 for
6 cNewspaperCode 0090 (not present in The row would be inserted, as 0090 for
the Newspaper cNewspaperCode does not exist in the
the Newspaper cNewspaperCode does not exist in the
table) Newspaper table
table) Newspaper table
Creating Tables and Enforcing Data Integrity

Verify the constraints by inserting data (Contd.)


 Verify the constraint by inserting data (into the NewsAd
table)
Action
Action
Test
Test Attribute
Attribute Value
Valueininthe
theINSERT
INSERT Result
Result
case
case statement.
statement.
11 cNewsAdNo 0001
cNewsAdNo 0001(Already
(Already The
Therow
rowwhen
wheninserted
insertedwould
wouldgive
giveananerror
error
present
presentininthe
the since
since0001
0001isisalready
alreadypresent
presentfor
forthe
the
NewsAd table) cNewsAdNo
cNewsAdNoattribute NewsAd
NewsAd table) attributeininthe
the NewsAdtable
table
22 cNewsAdNo 0035
cNewsAdNo 0035(Not
(Notpresent
presentinin The
Therow
rowwould
wouldbebeinserted,
inserted,since
since0035
0035does
does
the NewsAd NewsAd
the NewsAdtable)
table) not exist in the table
not exist in the NewsAd table
33 cNewspaperCode
cNewspaperCode 0045
0045(Not
(Notpresent
presentinin The
Therow,when
row,wheninserted
insertedwould
wouldgive
givean
anerror,
error,asas
Newspaper
Newspapertable) 0045 does not exist for cNewspaperCode in
table) 0045 does not exist for cNewspaperCode in
the Newspaper
the Newspapertable
table
44 cNewspaperCode
cNewspaperCode 0001(Present
0001(Presentininthe
the The
Therow
rowwould
wouldbe
beinserted,
inserted,since
since0001
0001for
for
Newspaper table)
Newspaper table) cNewspaperCode does not exist in
cNewspaperCode does not exist in thethe
Newspaper
Newspapertable
table
Creating Tables and Enforcing Data Integrity

5.P.2 Using Constraints


 Create the College table with the following data integrity rules :
 cCollegeCode should be the primary key
 The phone number should be of the format ([0-9][0-9][0-9])
[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]
 cCity should be “New Orleans” by default
 Create the CampusRecruitment table so that it satisfies the
following data integrity rules:
 The cCampusRecruitmentCode column should be the
primary key
 The cCollegeCode column should be the foreign key
Creating Tables and Enforcing Data Integrity

Summary
In this lesson, you learned that:
 A table is a database object used to store data
 A table can be created using the CREATE TABLE statement
 The INSERT statement is used to insert data into the table
 The DROP TABLE statement is used to delete the table
 A user-defined datatype is created by a user and is based on
a system datatype
 A user-defined datatype is created using the sp_addtype
system stored procedure
Creating Tables and Enforcing Data Integrity

Summary (Contd.)
 A user-defined datatype can be dropped using the sp_droptype
system stored procedure
 sp_help provides information about a database object or a user-
defined datatype
 Data integrity ensures the completeness, accuracy, and
reliability of data contained in the database
 Data integrity can be classified as entity integrity, domain
integrity, referential integrity, and user-defined integrity
 Data integrity can be enforced through constraints
 Constraints are rules that can be specified at either the table-
level or the column-level
Creating Tables and Enforcing Data Integrity

Summary (Contd.)
 A constraint can be created using either the CREATE TABLE
or the ALTER TABLE statements
 A constraint can be dropped with the ALTER TABLE
statement or by dropping the table
 Constraints are classified as PRIMARY, FOREIGN, UNIQUE,
CHECK, and DEFAULT

You might also like