SQL实验六数据完整性 下载本文

.

实验6 数据完整性

一、实验目的

1.掌握Transact-SQL语句(CREATE RULE、DROP RULE)创建和删除规则的方法。

2.掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_help、sp_helptext查询规则信息、sp_rename更名规则的方法。

3.掌握Transact-SQL语句(CREATE DEFAULT、DROPDEFAULT)创建和删除默认对象的方法。

4.掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询规则信息。

5.掌握SQL Server管理平台和Transact-SQL语句(CREATE TABLE、ALTER TABLE)定义和删除约束的方法,并了解约束的类型。 二、实验内容和步骤

1.为studentsdb数据库创建一个规则,限制所输入的数据为7位0~9的数字。

(1)复制学生表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。 SELECT * INTO stu_phone FROM 学生表

ALTER TABLE stu_phone ADD CHAR(7)NULL

.

.

stu_phone表结构如图1-10所示。

图1-10 stu_phone表结构

(2)创建一个规则phone_rule,限制所输入的数据为7位0~9的数字。

(3)使用系统存储过程sp_hndrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。

.

.

(4)插入操作输入以下数据:

学号 姓名 电话号码 0009 王国强 1234yyy

是否可以成果插入? 不可以

如果出现错误,请列出错误信息,为什么会产生该出错信息? 消息213,级别16,状态1,第1 行

插入错误: 列名或所提供值的数目与表定义不匹配。

如果要实现插入操作,应修改INSERT INTO语句中的哪个值?phone_rule规则能否对其他操作(如DELETE)进行规则检查?

2.创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。

.