欢迎来到天天文库
浏览记录
ID:14410194
大小:212.00 KB
页数:8页
时间:2018-07-28
《数据库原理与应用实验09》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验九 数据完整性约束实现姓名:计算机科学与技术学号:专业:班级:同组人:无实验日期:【实验目的与要求】1.熟练掌握实体完整性的实现。2.熟练掌握参照完整性的实现。3.熟练掌握域完整性的实现。【实验内容与步骤】实验准备:对于CPXS数据库,若在CP表、CPXSB表和XSS表上已有约束,请先删除之。9.1.实体完整性的实现(1)对CP表,定义主键约束(用企业管理器实现)。写出相应过程:修改表-->右击---设置主键.测试:对CP表插入一条与原表中数据行具有相同主键值的数据。给出测试结果:第8页共8页(2)对CPXSB表、XSS表,定
2、义主键约束(用SQL语句实现)。给出相应的SQL语句:altertablexssaddconstraintPK_XSSprimarykeyclustered(客户编号)on[primary]altertablecpxsbaddconstraintPK_CPXSBprimarykeyclustered(产品编号,客户编号)on[primary]给出测试结果:第8页共8页9.1.参照完整性的实现(1)利用企业管理器建立CP表与CPXSB之间的参照关系,当对主表CP表进行更新和删除操作时,从表CPXSB采用NOACTION方式。给出相应
3、的过程:把CP表的产品编号设为主键,把CPXSB的产品编号添加外键,其主键为CP表的产品编号。第8页共8页测试:试着删除主表中与从表有关联的一条记录,而后分别查看主表和从表中数据记录,给出测试结果。deletefromcpwhere产品编号='100001'(2)利用SQL语句建立CPXSB与XSS表之间的参照关系,当对主表XSS表进行更新和删除操作时,从表CPXSB采用CASCADE(级联)方式。给出相应的SQL语句:altertablecpxsbaddconstraintPK_CPXSB_11foreignkey(客户编号)r
4、eferencesxss(客户编号)ondeletecascadeonupdatecascade测试:试着删除主表中与从表有关联的一条记录,而后分别查看主表和从表中数据记录,给出测试结果。deletefromxsswhere客户编号='000004'打开CPXSB表客户编号为000004的记录被删除第8页共8页9.1.域完整性的实现1.Unique约束(1)在CP表的“产品名称”列定义一个唯一约束。给出相应的SQL语句:altertablecpaddunique(产品编号)测试:试着在在CP表中插入一条具有与原表中某记录相同“产品
5、名称”值的数据。给出测试结果:insertintocp(产品编号,产品名称,价格,库存量)values('100001','11',100,100)2.Check约束(1)在CP表的价格列上定义大于等于0的检查(CHECK)约束。给出相应的SQL语句:altertablecpaddconstraintc1check(价格>0)第8页共8页测试:试着在CP表中插入一条记录,其“价格”字段的值小于0(如:-2),给出测试结果:(2)定义一个大于等于5的规则check_kcl,并将其绑定到CP表的库存量列,给出相应的SQL语句:alte
6、rtablecpaddconstraintkc1check(库存量>=5)测试:试着在CP表中插入一条记录,其“库存量”字段的值小于5(如:2),给出测试结果:(3)解除(2)中绑定,删除该规则,请写出相关SQL语句。给出相应的SQL语句和运行结果截图:altertablecpdropconstraintkc1测试:试着在CP表中插入一条记录,其“库存量”字段的值小于5(如:2),给出测试结果:第8页共8页insertintocp(产品编号,产品名称,价格,库存量)values('100001','11',100,2)9.1.完成
7、以下实验练习(1)设定XSS表中的地区值只能是“镇江”,“无锡”,“上海”,“南京”,“厦门”.给出相应的SQL语句:altertablexssaddconstraintkc1check(地区='镇江'or地区='上海'or地区='南京'or地区='厦门')测试:试着在XXS表中插入一条记录,其“地区”字段的值为福州。给出测试结果:(2)用户要求:在输入XSS表中的数据时,若“地区”列没有提供数据,系统应自动取值“厦门”.给出相应的SQL语句:altertablexssaddconstraintxss2default('厦门')f
8、or地区测试:试着在XXS表中插入一条记录,其“地区”字段的值为空。而后查询插入的数据。给出测试结果:第8页共8页(3)用户要求:CPXSB表中的“数量”列的取值只能为1—20之间的整数,且在用户没有输入数据时自动取值1.给出相应的SQL语句:al
此文档下载收益归作者所有