Sql Server数据库-数据完整性操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实训7 数据完整性操作
-迅云支付提供
(/)
目的和要求
1.学会使用primary key(主键)约束,unique(唯一)约束保证表完整性
2.学会使用check(检查)约束,default(默认)约束,default(默认值),
rule(规则)保证列数据完整性
3.学会使用primary key(主键)约束、foreign key(外键)约束保证表与
表之间的参照完整性。
实验环境
Windows XP和SQL Server 2005的运行环境
实验原理
SQL Server 2005数据库原理
实验内容与步骤
任务1使用Management studio 为student表创建primary key 约束。
任务2使用Management studio 为stucou表创建一个primary key 约束,保证不会出现学号和课程编号都相同的重复数据行。
任务3使用Management studio 删除student表的primary key 约束。
任务4 使用transact-sql语句为department表创建基于departNO
列的约束,为course表创建基于couNO列的约束。为class创建基于classNO列的约束。
use xk
go
--为department表创建基于departNO列的名为:pk_department的主键约束。
alter table department
add constraint pk_department primary key (departNO)
go
--为course表创建基于couNO列的名为:pk_course的主键约束。
alter table course
add constraint pk_course primary key (couNO)
go
--为class表创建基于classNO列的名为:pk_class的主键约束。
alter table class
add constraint pk_class primary key (classNO)
go
以下为:在创建表的同时创建主键约束。
use xk
go
drop table department --因为前面有了表,现在删除做
create table department
(departno nvarchar(2) not null,
departname nvarchar(20) not null,
constraint PK_department primary key (departNO)
)
任务 5 使用transact-sql语句删除department表名字为PK_Department的主键约束。
use xk
go
alter table department
drop constraint pk_department
go
任务6 使用transact-sql语句在XK数据库中为stucou表创建名为stuNO_fk的foreign key约束,该约束限制stuNO列的数据只能是student表的stuNO列中存在的数据。
USE Xk
GO
ALTER TABLE StuCou
ADD CONSTRAINT StuNo_FK FOREIGN KEY (StuNo)
REFERENCES Student (StuNo)
GO
任务7 使用transact-sql语句删除stucou表中名为stuNo_fk的foreign key 约束
USE Xk
GO
ALTER TABLE StuCou
DROP CONSTRAINT STuNo_FK
GO
任务8 使用transact-sql语句在stucou表中为stuno列重新创建一个带有级联删除功能的外键约束。
use xk
go
-- stucou表stuno列要参照student表stuNO列,外键约束名为stuNO_fk
alter table stucou
add constraint stuno_fk foreign key (stuNO)
references student (stuno) on delete cascade
go
任务9 使用Management studio 在XK数据库中为stucou表创建基于couno的约束,该约束限制couno列值必须是course表中couno 列已存在的值。
任务10 使用Management studio删除stucou表名字为couNO_FK的foreign key约束。
任务11使用transact-sql语句创建如下约束,class表的departNO 参照department表的departno.
course表的departNO 参照department表的departNO.student表的classNO参照class表的classNO.
use xk
go
--class表的departNO 参照department表的departno,外键约束名为:fk_class_department alter table class
add constraint fk_class_department foreign key (departNO)
references department(departNO)
go
--course表的departNO 参照department表的departno,外键约束名为:fk_course_department alter table class
add constraint fk_course_department foreign key (departNO)
references department(departNO)
go
--student表的classNO 参照class表的classNO,外键约束名为:fk_student_class
alter table student
add constraint fk_student_class foreign key (classNO)