SQL 实验六数据完整性.doc_第1页
SQL 实验六数据完整性.doc_第2页
SQL 实验六数据完整性.doc_第3页
SQL 实验六数据完整性.doc_第4页
SQL 实验六数据完整性.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

数据库技术与应用实验 实验6 数据完整性实验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位09的数字。 (1)复制学生表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。 SELECT * INTO stu_phone FROM 学生表 ALTER TABLE stu_phone ADD CHAR(7)NULLstu_phone表结构如图1-10所示。图1-10 stu_phone表结构(2) 创建一个规则phone_rule,限制所输入的数据为7位09的数字。(3) 使用系统存储过程sp_hndrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。(4)插入操作输入以下数据:学号 姓名 电话号码 0009 王国强 1234yyy是否可以成果插入?不可以如果出现错误,请列出错误信息,为什么会产生该出错信息?消息213,级别16,状态1,第1 行 插入错误: 列名或所提供值的数目与表定义不匹配。如果要实现插入操作,应修改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)创建默认对象df_date、df_char、df_money。l 创建日期型默认对象df_date,默认日期为2006-4-12。l 创建字符型默认对象df_char,默认字符为“unknown”l 创建货币型默认对象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表的“学费”、“交费日期”、“电话号码”列上。 (4) 输入命令,在stu_fee表进行插入操作:(学号,姓名) values (0001,刘卫平)(学号,姓名,学费) values (0001,张卫民,$120)(学号,姓名,学费,交费日期) values (0001,马东,$110,2006-5-12)分析stu_fee表中插入记录的各列的值是什么?(5) 完成以下代码解除默认对象df_char、df_date、df_money的绑定,并删除之。6为学生表添加一列,命名为“院系”,创建一个默认对象stu_d_df,将其绑定到学生表的“院系”列上,使其默认值为“信息院”,对学生表进行插入操作,操作完成后,删除该默认对象。 7在studentsdb数据库中用CREATE TABLE语句创建表stu_con,并同时创建约束。 (1)创建表的同时创建约束。表结构如图1-12所示。 图1-12 要创建的表的结构约束要求如下: 将学号设置为主键(PRIMARY KEY),主键名为pk_sid。 为姓名添加唯一约束(UNIQUE),约束名为uk_name。 为性别添加默认约束(DEFAULT),默认名称为df_sex,其值为“男”为出生日期添加属性值约束(CHECK),约束名为ck_bday,其检查条件为:出生日期1988-1-1。(2)在stu_con表中插入如表1-1所示的数据记录。 表1-1 在stu_con表中插入的数据学号姓名性别出生日期家庭住址0009张小东1989-4-60010李梅男1983-8-50011王强1988-9-100012王强1989-6-3 分析各约束在插入记录时所起的作用,查看插入记录后表中数据与所插入的数据是否一致?(3)使用ALTER TABLE语句的DROP CONSTRAINT参数项在查询分析器中删除为stu_con表所建的约束。8用对象资源管理器中数据库关系图为studentsdb数据库的成绩表添加外键约束(FOREIGN KEY),要求将“学号”设置为外键,参照表为学生表,外键名称为fk_sid。 使用系统存储过程sp_help查看成绩表的外键信息。 在成绩表中插入表1-2所示记录,观察SQLServer会做何处理,为什么?如何解决

温馨提示

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

评论

0/150

提交评论