文档详情

实验6 数据完整性.doc

发布:2019-06-05约8.05千字共11页下载文档
文本预览下载声明
实验目的 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 \* GB3 ① 复制student_info表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。 SELECT * INTO stu_phone FROM student_info ALTER TABLE stu_phone ADD CHAR(7) NULL stu_phone表结构如图1-10所示。 图1-10 stu_phone表结构 = 2 \* GB3 ② 创建一个规则phone_rule,限制所输入的数据为7位0~9的数字。实现该规则的代码为 CREATE phone_rule AS @phone LIKE [0-9][0-9][0-9][0-9][0-9][0-9][0-9] = 3 \* GB3 ③ 使用系统存储过程sp_bindrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。实现该操作的代码为 sp_bindrule ,stu_phone.电话号码 = 4 \* GB3 ④ 输入以下代码,进行一次插入操作: INSERT INTO stu_phone(学号,姓名,电话号码) VALUES(0009,王国强,1234yyy) 产生以下出错信息: 消息513,级别16,状态0,第1 行 列的插入或更新与先前的CREATE RULE 语句所指定的规则发生冲突。该语句已终止。冲突发生于 数据库studentsdb,表dbo.stu_phone,列电话号码。 语句已终止。 试分析: 为什么会产生该出错信息?如果要实现插入操作,应修改INSERT INTO语句中的哪个值?phone_rule规则能否对其他操作(如DELETE)进行规则检查? (2)创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。 (3)使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。 (4)删除stu_s_rule规则。 stu_s_rule(stusex_rule更名后规则名)是否仍然绑定在stu_phone表的“性别”列上?应如何操作才能删除它? (5)在studentdb数据库中,建立日期、货币和字符等数据类型的默认对象。 = 1 \* GB3 ① 在查询设计器中,完成以下代码,创建默认对象df_date、df_char、df_money。 --创建日期型默认对象df_date CREATE df_date AS 2009-4-12 GO --创建字符型默认对象df_char CREATE DEFAULT df_char unknown GO --创建货币型默认对象df_money CREATE DEFAULT AS $100 GO = 2 \* GB3 ② 输入以下代码,在studentsdb数据库中创建stu_fee数据表。 CREATE TABLE stu_fee (学号 char(10) NOT NULL, 姓名 char(8) NOT NULL, 学费 money, 交费日期 datetime, 电话号码 char(7)) 表stu_fee的数据结构如图1-11所示。 图1-11 stu_fee的数据结构 = 3 \* GB3 ③ 使用系统存储过程sp_bindefault将默认对象df_money、df_date、df_char分别绑定在s
显示全部
相似文档