8实验八 - - 数据库的完整性实验指导书

更新时间:2024-03-15 07:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验八 实现数据完整性实验指导书

一、实验目的

(1)实现数据完整性的概念及实施数据完整性的重要性。 (2)掌握数据完整性的分类。

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

(4)掌握通用默认值的创建、实施与删除方法。 (5)掌握规则的创建、实施与删除方法。 (6)掌握级联删除、级联修改方法。

二、实验内容

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

(1)通过SQL Server Management Studio实施约束

a.为表Student的Birth字段创建检查约束,使输入的生日日期小于系统日期。 ①、选择Student表,右击→设计,打开Student表 ②、选择Birth一行,右击→CHECK约束 ③、单击“添加”

④、在表达式中写入:Entrance_date

b.为表Student的Sdept字段,设置默认值约束,默认值取’计算机系’。 选择Sdept一行,在其列属性中修改其默认值

c.为Student表的Sname字段添加唯一性约束。 选择Sname一行,右击→索引/键 单击“添加”,在类型中选择“唯一键”,在列中选择“Sname”,名称自定义 最后单击“关闭”退出

d.将SC表的Sno,cno字段设置外键约束,约束名自已取,并允许级联删除与级联更新。(此要求在SQL Server2008R2中无法做出)若已存在外键约束,请先删除。 ①、选中Sno,右击→单击“关系”,查看是否已存在外键约束 选中键,点击删除,完成约束删除 ②、添加约束:

选中Sno,右击,选择“关系” ③、点击添加,并修改

④、修改成自己想要的规范和名称 ⑤、确定,完成

⑥、设置Cno的外键同上理

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

a.为Student表的Sno字段添加一个check约束,使学号满足如下条件:学号前四位为2011,学号后四位为数字字符。

alter add sno_num

(sno '[ ][ ][ ][1][ ][ ][ ][ ]')

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

alter Student

constraint birth_date ( > )

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

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

alter table Student

alter column char(3)

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

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

②、由上图已知,SC中Sno存在外键约束,则删除 ③添加Sno和Cno的外键约束

alter

add FK_SC_Student ( ) Student(Sno)

on update cascade/*级联更新,(相关表格一起更新)*/

on delete cascade/*级联删除,(相关表格相关一起信息删除)*/

alter

add FK_SC_Course ( ) Course(Cno) on update cascade on delete cascade

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

table

add AK_Cname ( )

2、默认值的实施

用Transact-SQL语句实现: (a)、为数据库Student_info创建一个默认的邮政编码,名称自取,值为:200093。 (b)、将该默认值绑定到Student表中的Postcode列。 (c)、将Postcode列上的绑定解除,并删除该默认值。

3、规则的实施

使用Transact-SQL实现。 (a)、为数据库Student_info创建一个关于性别的取值规则,规则名自取,要求字段的取值仅能为’男’或’女’。

create Sex_rule

as ='男' ='女'

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

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

本文来源:https://www.bwwdw.com/article/zz18.html

Top