数据库实验6数据完整性_第1页
数据库实验6数据完整性_第2页
数据库实验6数据完整性_第3页
数据库实验6数据完整性_第4页
数据库实验6数据完整性_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验6数据完整性1.实验目的掌握SQLServer管理平台和Transact-SQL语句(CREATERULE、DROPRULE)创建和删除规则的方法。掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_helptext查询规则信息、sp_rename更名规则的方法。掌握SQLServer管理平台和Transact-SQL语句(CREATEDEFAULT、DROPDEFAULT)创建和删除默认对象的方法。掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询默认对象信息。掌握SQLServer管理平台和Transact-SQL语句(CREATETABLE、ALTERTABLE)定义和删除约束的方法,并了解约束的类型。2.实验内容为xskc数据库中student表的创建一个规则stu_nj_rule,限制“年级”列所输入的数据为2位0~9的数字。创建一个规则stusex_rule,将其绑定到student_info表的“性别”列上,保证输入的性别值只能是“男”或“女”。使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。删除stu_nj_rule规则。在student_db数据库中,建立日期、货币等数据类型的默认值对象。=1\*GB3①创建默认对象df_date、df_money。=2\*GB3②输入以下代码,在xskc数据库中创建stufee数据表。CREATETABLEstufee(学号char(10)NOTNULL,姓名char(8)NOTNULL,学费money,交费日期datetime,)=3\*GB3③使用系统存储过程sp_bindefault将默认对象df_money、df_date分别绑定在stu_fee表的“学费”、“交费日期”列上。=4\*GB3④输入以下代码,在stufee表进行插入操作:INSERTINTOstufee(学号,姓名)VALUES('0001','刘卫平')INSERTINTOstufee(学号,姓名,学费)VALUES('0001','张卫民',$120)INSERTINTOstufee(学号,姓名,学费,交费日期) VALUES('0001','马东',$110,'2006-5-12')分析stu_fee表中插入记录的各列的值是什么?分析:三条记录中学号和姓名都有,第一条未记入学费,交费日期,使用默认值。第二条交费日期使用默认值。=5\*GB3⑤完成以下代码,解除默认对象df_char的绑定,并删除默认对象。按同样的方式,删除默认对象df_date、df_money。在xskc数据库中student表,为出生日期添加属性值约束(CHECK),约束名为ck_bday,其检查条件为:出生日期>'1988-1-1'。使用ALTERTABLE语句的DROPCONSTRAINT参数项删除为student表所建的约束ck_bday。为xskc数据库的SC学期成绩表添加外键约束(FOREIGNKEY),要求将“学号”设置为外键,参照表为student表,外键名称为fk_sid。=1\*GB3①使用系统存储过程sp_help查看SC学期成绩表的外键信息。=2\*GB3②设计在SC学期成绩表中插入各条记录,观察SQLServer会做何处理,为什么?如何解决所产生的问题?由于外键约束fk_sid参照学生表,学生表中学号为1、2、3的记录不存在,所以在学期成绩表中无法插入。可以在学生表中插入记录的学号,再在学期成绩表中插入记录。如:=3\*GB3③使用查询设计器删除学期成绩表的外键fk_sid。3.实验思考在SQLServer中,可采用哪些方法实现数据完整性?答:在SQLServer中,可以通过查询设计器和SQLServer管理平台实现数据完整性。例如使用关于各种约束、默认值、规则、断言和触发器等数据库对象的语句来保证数据完整性,以及在可视化界面完成部分操作。比较默认对象和默认约束的异同。答:相同点:都能在输入记录时对未指定的数据自动插入默认的值。不同点:默认约束是在createtable或altertable语句定义的,嵌入于表结构,而默认对象则独立于表之外,使用时需另外绑定到指定的列或数据类型,可以绑定到表的一列或多列,还可以用于用户自定义的数据类型。可以使用SQLServer管理平台创建规则和默认值对象吗?如果能,如何操作呢?答:能。ALTERTABLE[dbo].[tbadmin]ADD CONSTRAINT[DF_tbadmin_power]DEFAULT(1)FOR[power]ALTER表名ADDCONSTRAINT[DF_表_字段]DEFAULT(值)FOR[字段]在数据库中建立的规则不绑定到数据表的列上会起作用吗?为什么?答:不会。创建规则后,规则只是存在于数据库中的对象,需要与与规则匹配的列或数据类型绑定才能起作用,才能最终完成创建规则的初衷。请说明唯一约束和主键约束之间的联系和区别。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论