实验五数据完整性实验.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五数据完整性实验

实验五:数据完整性实验 一、实验目的: 掌握使用SQL中的PRIMARY KEY、CHECK、FOREIGN KEY……REFERENCES、NOT NULL、UNIQUE等关键字是现实体完整性、参照完整性及用户定义完整性约束定义。 二、实验步骤: (一)验证分析部分 1、利用SQL查询分析器用PRIMARY KEY子句保证实体完整性。 在查询分析器窗体下键入如下命令: CREATE TABLE Student( sno CHAR(5) NOT NULL UNIQUE, sname CHAR(8), ssex CHAR(1), sage INT, sdept CHAR(20), CONSTRAINT PK_Student PRIMARY KEY(sno)); UPDATE Student SET sno=’ ‘ WHERE sdept=’CS’; UPDATE Student SET sno=’200215121 ‘ WHERE sname=’王敏’; 运行并观察结果。 2、利用SQL查询分析器用FOREIGN KEY……REFERENCES子句保证实体完整性。 在查询分析器窗体下键入如下命令: (1)先删除原来SC表中关于Sno 的外键,再将SC的Sno外键修改为: alter TABLE SC add CONSTRAINT FK_Sno FOREIGN KEY (sno) REFERENCES Student(sno) ON update CASCADE; 然后执行以下语句 Update Student SET sno=’200215128 ‘ WHERE sno=’200215121’; (2) 先删除原来SC表中关于Sno 的外键,再将SC的Sno外键修改为: alter TABLE SC add CONSTRAINT FK_Sno FOREIGN KEY (sno) REFERENCES Student(sno) ON delete CASCADE; 然后执行以下语句 delete from student WHERE sno=’200215122’; 运行并观察结果。 3、利用SQL查询分析器用短语NOT NULL、UNIQUE、CHECK保证用户定义完整性。 CREATE TABLE Student( sno CHAR(5) , sname CHAR(8) CONSTRAINT U1 UNIQUE, ssex CHAR(1), sage INT CONSTRAINT U2 CHECK FOR sage=28, sdept CHAR(20), CONSTRAINT PK_Student PRIMARY KEY(sno)) 执行以下SQL语句 Insert into values(‘2002101’,’li’,’女’,89,’DS’) 运行并观察结果。思考:如果要求sdept输入内容只能为字母该如何约束? (二)设计分析部分 在Student数据库中,完成以下完整性约束设置。 1、设置Student表中Ssex的取值只能是‘男’或‘女’; 2、设置Student表中Sdept的取值默认为‘CS’; 3、删除操作测试 (1)设置Course表和 SC表之间的关系,实现cascade delete related records。 (2)删除Course 表中记录,查看SC表中数据的变化(SC表中Cno有与Course表中Cno对应的记录删除和无对应记录的删除都要测试),有什么结果,为什么? 4. 修改操作测试 (1)在SC表中,将课程号为3的改为33,都有什么结果?为什么? (2)将Course表和sc表的课程号为3的都改为33,请用完整性约束实现? 5. 插入数据测试 (1)在STUDENT表中插入一条新纪录: 95006 李三 男 21 IS (2)在SC表中插入一条新纪录: 95008 3 80 插入执行后都有什么结果?为什么?如何完成上述操作? 拓展练习 (1)创建表worker(number,name,sex,sage,department),并自定义2个约束U1和U2,其中U1规定name字段唯一,U2规定sage字段的上限是28即年龄最大28岁。 (2)在worker表中插入一条合法记录。 (3)演示插入违反U2约束的例子,U2规定元组的sage属性的值必须=28。 (4)去除U2约束。 (5)重新插入(3)中想要插入的数据,验证是否插入成功。 三、实验学时 2学时 四、实验设备与环境 Windows 2003平台 + SQL

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档