8实验八数据库的完整性.docx
- 文档编号:4537956
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:13
- 大小:464.24KB
8实验八数据库的完整性.docx
《8实验八数据库的完整性.docx》由会员分享,可在线阅读,更多相关《8实验八数据库的完整性.docx(13页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8实验八 数据库的完整性 实验 数据库 完整性
![提示](https://static.bdocx.com/images/bang_tan.gif)