实验9 数据完整性约束实现_第1页
实验9 数据完整性约束实现_第2页
实验9 数据完整性约束实现_第3页
实验9 数据完整性约束实现_第4页
实验9 数据完整性约束实现_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、实验九数据完整性约束实现【实验目的与要求】1 熟练掌握实体完整性的实现。2 熟练掌握参照完整性的实现。3 熟练掌握域完整性的实现。【实验内容与步骤】实验准备:对于CPXS数据库,若在CP表、CPXSB表和XSS表上已有约束,请先删除之。9.1. 实体完整性的实现(1) 对CP表,定义主键约束(用企业管理器实现)。写出相应过程:测试:试着对CP表插入一条与原表中数据行具有相同主键值的数据。给出测试结果:(2)对CPXSB表、XSS表,定义主键约束(用SQL语句实现,写出相应语句)。给出相应的SQL语句:Alter table cpxsb add constraint c1 primary key

2、(产品编号,客户编号,销售日期)Alter table xss add constraint c2 primary key(客户编号)给出测试结果:9.2. 参照完整性的实现(1)利用企业管理器建立CP表与CPXSB之间的参照关系,当对主表CP表进行更新和删除操作时,从表CPXSB采用NO ACTION方式,写出其过程。给出相应的过程:测试:试着删除主表中与从表有关联的一条记录,而后分别查看主表和从表中数据记录,给出测试结果。由图可知,删除了从表中与主表有关的记录,但主表的数据没发生变化(2)利用SQL语句建立CPXSB与XSS表之间的参照关系,当对主表XSS表进行更新和删除操作时,从表CPX

3、SB采用CASCADE(级联)方式,写出其过程。给出相应的SQL语句:Alter table cpxsb add constraint a1 Foreign key (客户编号) references XSS(客户编号)on update cascade on delete cascade测试:试着删除主表中与从表有关联的一条记录,而后分别查看主表和从表中数据记录,给出测试结果。思考:外键参照关系中CASCADE(级联)和NO ACTION方式的作用各是什么?cascade指定如果试图删除某一行,而该行的键被其他表的现有行中的外键所引用,则也将删除所有包含那些外键的行;no action 指定

4、如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句9.3. 域完整性的实现1.Unique约束(1)在CP表的“产品名称”列定义一个唯一约束。给出相应的SQL语句:Alter table cp add constraint cp1 unique key(产品名称)测试:试着在在CP表中插入一条具有与原表中某记录相同“产品名称”值的数据。给出测试结果:2Check约束(1)在CP表的价格列上定义大于等于0的检查(CHECK)约束。给出相应的SQL语句:Alter table cp add constraint cp2 check

5、(价格>0)测试:试着在CP表中插入一条记录,其“价格”字段的值小于0(如: -2),给出测试结果:(2)定义一个大于等于5的规则check_kcl,并将其绑定到CP表的库存量列,给出相应的SQL语句:Alter table cp add constraint check_ckl check(库存量>=5)测试:试着在CP表中插入一条记录,其“库存量”字段的值小于5(如:2),给出测试结果:(3)解除(2)中绑定,删除该规则,请写出相关SQL语句。给出相应的SQL语句和运行结果截图:Alter table cp drop check_ckl测试:试着在CP表中插入一条记录,其“库存

6、量”字段的值小于5(如:2),给出测试结果:思考:比较(2)和(3)的测试结果,理解自定义完整性(约束)的作用? 对输入的数据起限制作用。9.4. 完成以下实验练习(1) 设定XSS表中的地区值只能是“镇江”,“无锡”,“上海”,“南京”,“厦门”中的任意一个,请问如何解决该问题?请写出一种具体的解决方法。给出相应的SQL语句:Alter table xss add constraint xss1 check(地区 in (镇江,无锡,上海,南京,厦门)测试:试着在XXS表中插入一条记录,其“地区”字段的值为福州。给出测试结果:(2) 用户要求:在输入XSS表中的数据时,若“地区”列没有提供数

7、据,系统应自动取值“厦门”,请问如何解决该问题?请写出一种具体的解决方法。给出相应的SQL语句:Alter table xss add constraint xss2 default(厦门) for 地区测试:试着在XXS表中插入一条记录,其“地区”字段的值为空。而后查询插入的数据。给出测试结果:(3) 用户要求:CPXSB表中的“数量”列的取值只能为120之间的整数,且在用户没有输入数据时自动取值1,请问如何解决该问题?请写出一种具体的解决方法。给出相应的SQL语句:Alter table cpxsb add constraint cpxsb1 default (1) for 数量Alter table cpxsb add constraint cpxsb2 check(数量>=1 and

温馨提示

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

评论

0/150

提交评论