8实验八数据库的完整性.docx

上传人:b****3 文档编号:13281747 上传时间:2023-06-12 格式:DOCX 页数:15 大小:469.19KB
下载 相关 举报
8实验八数据库的完整性.docx_第1页
第1页 / 共15页
8实验八数据库的完整性.docx_第2页
第2页 / 共15页
8实验八数据库的完整性.docx_第3页
第3页 / 共15页
8实验八数据库的完整性.docx_第4页
第4页 / 共15页
8实验八数据库的完整性.docx_第5页
第5页 / 共15页
8实验八数据库的完整性.docx_第6页
第6页 / 共15页
8实验八数据库的完整性.docx_第7页
第7页 / 共15页
8实验八数据库的完整性.docx_第8页
第8页 / 共15页
8实验八数据库的完整性.docx_第9页
第9页 / 共15页
8实验八数据库的完整性.docx_第10页
第10页 / 共15页
8实验八数据库的完整性.docx_第11页
第11页 / 共15页
8实验八数据库的完整性.docx_第12页
第12页 / 共15页
8实验八数据库的完整性.docx_第13页
第13页 / 共15页
8实验八数据库的完整性.docx_第14页
第14页 / 共15页
8实验八数据库的完整性.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

8实验八数据库的完整性.docx

《8实验八数据库的完整性.docx》由会员分享,可在线阅读,更多相关《8实验八数据库的完整性.docx(15页珍藏版)》请在冰点文库上搜索。

8实验八数据库的完整性.docx

8实验八数据库的完整性

实验八实现数据完整性

一、实验目的

(1)实现数据完整性的概念及实施数据完整性的重要性。

(2)掌握数据完整性的分类。

(3)掌握完整性约束的添加、删除方法。

(4)掌握通用默认值的创建、实施与删除方法。

(5)掌握规则的创建、实施与删除方法。

(6)掌握级联删除、级联修改方法。

二、实验内容

1、完整性约束的添加、删除

(1)通过SQLServerManagementStudio实施约束

a.为表Student的Birth字段创建检查约束,使输入的生日日期小于系统日期。

、选择Student表,右击→设计,打开Student表

、选择Birth一行,右击→CHECK约束,打开界面如下图所示

、单击“添加”

、在表达式中写入:

Entrance_date

、单击“关闭”退出

b.为表Student的Sdept字段,设置默认值约束,默认值取’计算机系’。

选择Sdept一行,在其列属性中修改其默认值

c.为Student表的Sname字段添加唯一性约束。

选择Sname一行,右击→索引/键

出现如下界面:

单击“添加”,在类型中选择“唯一键”,在列中选择“Sname”,名称自定义

最后单击“关闭”退出

d.将SC表的Sno,cno字段设置外键约束,约束名自已取,并允许级联删除与级联更新。

(此要求在SQLServer2008R2中无法做出)若已存在外键约束,请先删除。

、选中Sno,右击→单击“关系”,出现如下信息,可见已存在外键约束

选中键,点击删除,完成约束删除

、添加约束:

选中Sno,右击,选择“关系”,出现如下信息,

、点击添加,并修改

、修改成自己想要的规范和名称

、确定,完成

、设置Cno的外键同上理

(2)使用Transact-SQL语句实施约束

a.为Student表的Sno字段添加一个check约束,使学号满足如下条件:

学号前四位为2011,学号后四位为数字字符。

altertableStudent

addconstraintsno_num

check(snolike'[2][0][1][1][0-9][0-9][0-9][0-9]')

b.为Student表中的Birth字段添加一个约束,规定生日应小于入学时间。

altertableStudent

addconstraintbirth_date

check(Entrance_date>Birth)

c.禁用(a)中实施的Check约束

altertableStudent

NOCHECKCONSTRAINTsno_num

d.重新启用Check约束

altertableStudent

CHECKCONSTRAINTsno_num

e.删除(a)所设置check约束

altertableStudent

dropCONSTRAINTsno_num

f.将Student表中的classno字段设置为允许空。

altertableStudent

altercolumnclassnochar(3)null

g.为SC表中的Sno,Cno添加外键约束,约束名自取;并允许级联删除与级联更新。

若已存在外键约束,请先删除。

、首先查看SC表中Sno和Cno有无外键约束

sp_helpconstraintSC

、由上图已知,SC中Sno存在外键约束,则删除

altertableSC

dropconstraintFK_SC_Student

3、添加Sno和Cno的外键约束

altertableSC

addconstraintFK_SC_Studentforeignkey(Sno)

referencesStudent(Sno)

onupdatecascade

ondeletecascade

altertableSC

addconstraintFK_SC_Courseforeignkey(Cno)

referencesCourse(Cno)

onupdatecascade

ondeletecascade

h.为Course表中的Cname字段添加唯一性约束。

altertableCourse

addconstraintAK_Cnameunique(Cname)

2、默认值的实施

(1)通过SQLServerManagementStudio实现

a.为数据库Student_info创建一个默认的邮政编码,名称自取,值为:

200093。

 

b.将该默认值绑定到Student表中的Postcode列。

用企业管理器无法做出

c.将Postcode列上的绑定解除,并删除该默认值。

用企业管理器无法做出

(2)用Transact-SQL语句重做

(1)中的(a)、(b)、(c)。

(a)、

createdefaultpostcode

as'200093'

(b)、sp_bindefault'postcode','Student.Postcode'

(c)、sp_unbindefault'Student.Postcode'

dropdefaultpostcode

3、规则的实施

(1)通过SQLServerManagementStudio实现

a.为数据库Student_info创建一个关于性别的取值规则,规则名自取,要求字段的取值仅能为’男’或’女’。

用企业管理器无法做出

b.将该规则绑定到Student表的Sex字段上。

用企业管理器无法做出

c.解除Student表的Sex列上的绑定,并删除该规则。

用企业管理器无法做出

(2)使用Transact-SQL重做

(1)中的(a)、(b)、(c)。

(a)、

altertableStudent

withnocheck

addconstraintsex_checkcheck(sexin('男','女'))

createruleSex_rule

as@sex='男'or@sex='女'

(b)、sp_bindrule'Sex_rule','Student.Sex'

3、sp_unbindrule'Student.Sex'

droprulesex_rule

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2