版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验6-数据完整性实验目的.掌握Transact-SQL语句(CREATULEDROPRULE削建和删除规则的方法。1 .掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_help、sp_helptext查询规则信息、sp_rename更名规则的方法。.掌握Transact-SQL语句(CREATEDEFAULTDROPDEFAULT建和删除默认对象的方法。2 .掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询规则信息。3 .掌握SQLServer管
2、理平台和Transact-SQL语句(CREATETABLEALTERTABLED义和删除约束的方法,并了解约束的类型。二、实验内容及步骤(1)为studentsdb数据库创建一个规则,限制所输入的数据为7位09的数字。复制student_info表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。SELECT*INTOstu_phoneFROhAtudent_infoALTERTABLEstu_phoneADDCHAR(7)NULLstu_phone表结构如图1-10所示。学号姓名性别由生日鞘雾庭住扯施电话号码10001刃1卫手雾I3S0
3、-10-0100:00:00.000萄山市东风路场号FULLNULLJ0002罪卫民务1380-12-0230:0000.000东阳市八一J挪M号KULLNULL图1-10stu_phone表结构 创建一个规则phone_rule,限制所输入的数据为7位09的数字。实现该规则的代码为CREATEphone_ruleASphoneLIKE'0-90-90-90-90-90-90-9' 使用系统存储过程sp_bindrule将phone_rule规则绑定到stu_phone表的“电话号码”成J上。实现该操作的代扁为sp_bindrule,'stuphone.电话号码 输入以
4、下代码,进行一次插入操作:INSERTINTOstu_phone(学号,姓名,电话号码)VALUES('0009','王国强','1234yyy')产生以下出错信息:消息513,级别16,状态0,第1行列的插入或更新与先前的CREATERUL断句所指定的规则发生冲突。该语句已终止。冲突发生于数据库'studentsdb',表'dbo.stu_phone',列'电话号码。语句已终止。试分析:为什么会产生该出错信息?如果要实现插入操作,应修改INSERT1NT。语句中的哪个值?phone_rule规则能否对其他
5、操作(如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数据库中,建立日期、货币
6、和字符等数据类型的默认对象。 在查询设计器中,完成以下代码,创建默认对象df_date、df_char、df_money。-创建日期型默认对象df_dateCREATEdfdateAS'2009-4-12'GO-创建字符型默认对象df_charCREATEDEFAULTdf_charnown'GO-创建货币型默认对象df_moneyCREATEDEFAULTAS$100GO 输入以下代码,在studentsdb数据库中创建stu_fee数据表。CREATETABLEstu_fee(学号char(10)NOTNULL,姓名char(8)NOTNULL,学费money,交费
7、日期datetime,电话号码char(7)表stu_fee的数据结构如图1-11所示。学号姓名学魏玄冥日期电话号妈图1-11stu_fee的数据结构使用系统存储过程sp_bindefault将默认对象df_money、df_date、df_char分别绑定在stu_fee表的“学费”、“交费日期”、“电话号码”列Edfmoney,'stufee.学费'GOsp_bindefault,'stufee.交费日期一GOsp_bindefaultdf_char,'stu_fee.电话号码'GO 输入以下代码,在stu_fee表进行插入操作:INSERTINTO
8、stu_fee(学号,姓名)VALUES('0001','刘卫平')INSERTINTOstu_fee(学号,姓名,学费)VALUES('0001','张卫民',$120)INSERTINTOstu_fee(学号,姓名,学费,交费日期)VALUES('0001','马东',$110,'2006-5-12')分析stu_fee表中插入记录的各列的值是什么? 完成以下代码,解除默认对象df_char的绑定,并删除之。'stufee.电话号码'DEFAULTdf_char按
9、同样的方式,删除默认对象df_date、df_money。为student_info表添加一列,命名为“院系”,创建一个默认对象stu_d_df,将其绑定到student_info表的“院系”列上,使其默认值为“信息院”,对student_info表进行插入操作,操作完成后,删除该默认对象。(6) 在studentsdb数据库中用CREATHABLE语句创建表stu_con,并同时创建约束。 创建表的同时创建约束。表结构如图1-12所示。滋1长度字号char4姓名g姓剧chsrZ出生日财aE住址¥*rcku-so图1-12要创建的表的结构约束要求如下:将学号设置为主键(PRIMARY
10、KEY,主键名为pk_sid。为北添加唯一约束(UNIQUE,约束名为uk_name为,画U添加默认约束(DEFAULT,默认名称为df_sex,其值为“男”。为无生日期添加属性值约束(CHECK约束名为ck_bday,其检查条件为:出生日期>'1988-1-1'。在stu_con表中插入如表1-1所示的数据记录。表1-1在stu_con表中插入的数据学号姓名性别出生日期家庭住址0009张小东1989-4-60010李梅女1983-8-50011王强1988-9-100012王强1989-6-3分析各约束在插入记录时所起的作用,查看插入记录后表中数据与所插入的数据是否一致
11、?使用ALTERTABL酷句的DROCONSTRAINT参数项在查询设计器中删除为stu_con表所建的约束。(7) 用SQLServer管理平台完成实验内容7的所有设置。在查询设计器中,为studentsdb数据库的grade表添加外键约束(FOREIGNKEY,要求将“学号”设置为外键,参照表为student_info,外键名称为fk_sid。 使用系统存储过程sp_help查看grade表的外键信息。 在grade表中插入一条记录,学号为0100,课程编号为0001,分数为78。观察SQLServer会做何处理,为什么?如何解决所产生的问题?使用查询设计器删除grade表的外键fksid
12、三、实验结果1.为studentsdb数据库创建一个规则,限制所输入的数据为7位09的数字。(1) 复制学生表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。SELECT*INTOstu_phoneFROM学生表ALTERTABLEstu_phoneADD电话号码CHAR(7)NULLstu_phone表结构如图1-10所示。图1-10stu_phone表结构1一商1-一i系毓表+_dbo一stu_phoike+1曲。一成批表+1一cbo程君彳学生表K-争(JtKJ)iluUuniyStfil*AtTXiiE尾酒一*41*XLOI0H口D
13、OSnurfl柚时TL皿fliseo*?*oiiUjOo阵IP五-1(7.fLAlHH4flJ9»-tj0a:K力<42用19&0-M30-MHM寿m中L雎"WPQ:WW游础咻伽时ig寻加喊加Data相斟LgOJI-130:000肇江吉璀由岗.皿MUmi>1UI4WJfUi创建一个规则phone_rule,限制所输入的数据为7位09的数字createrulephone_ruleas电话号码like'0-90-90-90-90-90-90-9'使用系统存储过程sp_bindrule将phone_rule规贝U绑定至Ustu_phone表的“
14、电话号码”列上。sp_bindrulephone_rule,'stu_phone.电话号码写消息已将规则绑定到表的列.(3) '输入以下代码,进行一次插入操作:INSERTINTOstu_phone(学号,姓名,电话号码)VALUES('0009','王国强','1234yyy')产生以下出错信息:消息513,级别16,状态0,第1行列的插入或更新与先前的CREATERUL匿句所指定的规则发生冲突。该语句已终止。冲突发生数据库'studentsdb',表'dbo.stu_phone',列'电
15、话号码。语句已终止。试分析:为什么会产生该出错信息?如果要实现插入操作,应修改INSERTINT。语句中的哪个值?phone_rule规则能否对其他操作(如DELETE进行规则检查?修改:INSERTINTOstu_phone(学号,姓名,电话号码)VALUES('0009','王国强','1234567')XIJaHUtc*顷y二6Mb¥4>«4illpf.IWA-:L*pUJLfclEI鼻*a菱聪谭iMJLMXJWLK唳覆能Ft*%*.«C-UKUTWrt.n¥右UK-如y*:WrtLilifil
16、itarS4ki>t-tfJLi*蜘直4LLi2 phone_rule规则可以对其他操作进行规则检查.创建一个规则stusex_rule,将其绑定到stu_phone表的“性别"列上,保证输入的性别值只能是“男”或“女”。3 createrulestusex_ruleas性别in('男',女')口dbsstus.使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule规贝U的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。ca结果消息OwnrTy.Creat
17、eddatetime1瞄虬讪dborule2012-06-0710:4&12.637sp_helpstusex_ruleL圈sb_二次T1 ;createmilestusex_rule:rannarminrviaiitwiiibJ*生别试男林711Sp_helptextstusex_rule4 后口锻地Idt'Oplion.e_rul«|fIMstu_s_rul4sp_renamestusexrule,stusrule.删除stu_s_rule规则。qrjmidbo.phofts_rnl«droprulestu_s_rule注意:stu_s_rule为stu
18、sex_rule更名后规则名,是否仍然绑定在stu_phone表的"性另列上,应如何操作才能删除它。5. 在studentdb数据库中,建立日期、货币和字符等数据类型的默认对象。创建默认对象df_date、df_char、df_money<创建日期型默认对象df_date,默认日期为2006-4-12。-创建日期型默认对象df_dateCREATEDEFAULTdf_dateAS'2006-4-12'创建字符型默认对象df_char,默认字符为"unknown-创建字符型默认对象df_charCREATEDEFAULTdf_charas'unk
19、nown'创建货币型默认对象df_money,默认为100元-创建货币型默认对象df_moneyCREATEDEFAULTdf_moneyAS$100(1) h默认值翌dbo.df.ctiar归dbo.df_da-te.髯dbo.df_nnDn?y输入以下代码,在studentsdb数据库中创建stu_fee数据表。CREATETABLEstu_fee(学号char(10)NOTNULL,姓名char(8)NOTNULL,学费money,交费日期datetime,电话号码char(7)表stu_fee的数据结构如图1-11所示学号姓君学费文黄日期电话号码图1-11stu_fee的数据结
20、构&-dba.rtu.fwW1N-LB4FALKO07H.*牌安学号交黄曰期电话号鸯沸依£MlNULL(3)使用系统存储过程sp_bindehult将默认对象df_date、df_char、df_money分另U绑定在stu_fee表的“学费”、“交费日期”、“电话号码”列上。sp_bindefaultdf_money,'stu_fee.学费'GOsp_bindefaultdf_date,'stu_fee.交费日期'GOsp_bindefaultdf_char,'stu_fee.电话号码'GO身消息已将默认值绑定到列(4)输入命
21、令,在stu_fee表进行插入操作:(学号,姓名)values('0001','刘卫平')INSERTINTOstu_fee(学号,姓名)values('0001','刘卫平')(学号,姓名,学费)values('0001','张卫民',$120)INSERTINTOstu_fee(学号,姓名,学费)values('0001','张卫民',$120)(学号,姓名,学费,交费日期)values('0001','马东',$110,'
22、2006-5-12')INSERTINTOstu_fee(学号,姓名,学费,交费日期)VALUES('0001','马东',$110,'2006-5-12')分析stu_fee表中插入记录的各列的值是什么?技-dbo.*tu_f«WIN'L84FALKOO7Hhh.-SQLQMerylsql'M嫂名孚第交戛日期NULLUTknwnn0D01弓kP民120.00002004/4/120:00:00LfiknonnQOOl*110.DD0D20M/W1W500:00inknown骚NtliNULLMilAUiNULL
23、6. 完成以下代码解除默认对象df_char、df_date、df_money的绑定,并删除之sp_unbindefault'stu_fee.电话号码'dropDEFAULTdf_charGosp_unbindefault'stu_fee.交费日期'dropDEFAULTdf_dategosp_unbindefault'stu_fee.学费dropDEFAULTdf_money为学生表添加一列,命名为"院系”,创建一个默认对象stu_d_df,将其绑定到学生表的“院系”列上,使其默认值为“信息院”,对学生表进行插入操作,操作完成后,删除该默认对
24、象。1)altertable学生表add院系varchar(8)createdefaultstu_d_dfas'信息院gosp_bindefaultstu_d_df,'学生表.院系'go(3)sp_unbindefault'学生表.院系'bo.学贫衰事dbo.iiujapWIN-Lfl4FAtKCO7FUiQLQu*ryLsql',出生曰期率庭住址请汪院系1950JKVI0:00:00衡山市系风蹈了NULL25OJ00:00:00东阳市四一北心AW:里l«0/7/4000:00长峪市五一箱了NULL1W/5/100:00:W卑写市;版大
25、心MULL里1S80/7/130:00:00末方市9山san.auiNULL10,'n.40:00:00长国市Sfi株箱总"-心MULL女15S0/3/150:00:00山商市QSI3S1-心-NULL1宠饥'*130:00:00混江市婿山路鼠.皿NULLMLrLLLNjUMIL7.在studentsdb数据库中用CREATETABLE句创建表stu_con,并同时创建约束。(1)创建表的同时创建约束。表结构如图1-12所示。图1-12要创建的表的结构约束要求如下: 将学号设置为主键(PRIMARYKEY)主键名为pk_sid。为姓名添加唯一约束(UNIQUE),约束
26、名为uk_name为性别添加默认约束(DEFAULT)默认名称为df_sex,其值为"男"为出生日期添加属性值约束(CHECK)约束名为ck_bday,其检查条件为:出生日期>'1988-1-1'。CREATETABLEstu_con(2) (学号char(4),姓名char(8),性别char(2),出生日期datetime,家庭住址varchar(50),constraintPK_sidPRIMARYKEY崖号),constraintuk_nameUNIQUE姓名),constraintck_bdaycheck(出生日期>'1988-
27、1-1'),)altertablestu_conaddconstraintdf_sexdefault'男'FOR性别列旅禹奖塑ftVtS端草点寸*网BdwOB)画出生曰邮do*tmcy皿2甄四n在stu_con表中插入如表1-1所示的数据记录。表1-1在stu_con表中插入的数据学号姓名性别出生日期家庭住址0009张小东1989-4-60010李梅女1983-8-50011王强1988-9-100012王强1989-6-3分析各约束在插入记录时所起的作用,查看插入记录后表中数据与所插入的数据是否一致?INSERTINTOstu_con(学号,姓名,出生日期)value
28、s('0009','张小东','1989-4-6')INSERTINTOstu_con(学号,姓名,出生日期)values('0010','李梅','1983-8-5')消息547,级别16,状态0,第1行INSERT语句与CHECK约束"ck_bday”冲突。该冲突发生于数据库"studentsdb",表"dbo.stu_con",column'出生日期。语句已终止。INSERTINTOstu_con(学号,姓名,出生日期)values(&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 选择安全的食品教学课件
- 2026年内务条令日常应用测试含答案
- 校园安全培训专家课件
- 安全生产生产标准化课件
- 2026年西双版纳职业技术学院高职单招职业适应性测试参考题库有答案解析
- 2026年上海立达学院高职单招职业适应性考试备考题库有答案解析
- 2026年南京旅游职业学院单招综合素质笔试备考试题带答案解析
- 2026年苏州农业职业技术学院单招综合素质笔试备考题库带答案解析
- 2026年山西工程职业学院高职单招职业适应性考试备考题库有答案解析
- 2026年江苏航空职业技术学院单招综合素质笔试模拟试题带答案解析
- 色母可行性研究报告
- 劳动教育读本(中职版)专题六教学设计1学习资料
- 精神科住院病人的情绪管理
- DB375026-2022《居住建筑节能设计标准》
- 传感器与测试技术课程设计
- 社会实践-形考任务四-国开(CQ)-参考资料
- 2024年贵州贵安发展集团有限公司招聘笔试参考题库附带答案详解
- DB3402-T 57-2023 医院物业服务规范
- 腰椎间盘突出患者术后护理课件
- 医院护理培训课件:《高压氧临床的适应症》
- 固定修复基础理论-固位原理(口腔固定修复工艺课件)
评论
0/150
提交评论