文档详情

SQL实验六数据完整性课案.doc

发布:2017-05-25约2.96千字共11页下载文档
文本预览下载声明
实验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表结构 创建一个规则phone_rule,限制所输入的数据为7位0~9的数字。 使用系统存储过程sp_hndrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。 (4)插入操作输入以下数据: 学号 姓名 电话号码 0009 王国强 1234yyy 是否可以成果插入? 不可以 如果出现错误,请列出错误信息,为什么会产生该出错信息? 消息213,级别16,状态1,第1 行 插入错误: 列名或所提供值的数目与表定义不匹配。 如果要实现插入操作,应修改INSERT INTO语句中的哪个值?phone_rule规则能否对其他操作(如DELETE)进行规则检查? 创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。 使用系统存储过程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)创建默认对象df_date、df_char、df_money。 创建日期型默认对象df_date,默认日期为2006-4-12。 创建字符型默认对象df_char,默认字符为“unknown” 创建货币型默认对象df_money,默认为100元 (2)在studentsdb数据库中创建stu_fee数据表。 学号 char(10) NOT NULL 姓名 char(8) NOT NULL, 学费 money 交费日期 datetime 电话号码 char(7) 表stu_fee的数据结构如图1-11所示。 学号 姓名 性别 交费日期 电话号码 图l-11 stu_fee的数据结构 (3)使用系统存储过程sp_bindehult将默认对象df_date、df_char、df_money分别绑定在stu_fee表的“学费”、“交费日期”、“电话号码”列上。 输入命令,在stu_fee表进行插入操作: (学号,姓名) values (0001,’刘卫平’) (学号,姓名,学费) values (0001,’张卫民’,$120) (学号,姓名,学费,交费日期) values (0001,‘马东‘,$110,’2006-5-12‘) 分析stu_fee表中插入记录的各列的值是什么? 完成以下代码解除默认对象df_char、df_date、df_money的绑定,并删除之。 6.为学生表添加一列,命名为“院系”,创建一个默认对象stu_d_df,将其绑定到学生表的“院系”列上,使其默认值为“信息院”,对学生表进行插入操作,操作完成后,删除该默认对象。 7.在stude
显示全部
相似文档