实验7交互式SQL(五)-视图操作.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文档。上传文档
查看更多
实验7交互式SQL(五)-视图操作

实验7 交互式SQL(五) 一、实验目的 熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询及取消视图。 二、实验内容与要求 (一)、基于SPJ数据库完成下列数据更新操作 1.建立视图 在插入数据的S、P、J、SPJ基本表上为三建工程项目记录建立一个视图V_SPJ,包括供应商代码SNO、零件代码PNO、供应数量QTY。 CREATE VIEW V_SPJ AS SELECT SNO,PNO,QTY FROM SPJ WHERE JNO IN SELECT JNO FROM J WHERE JNAME ’三建’ 2.根据所建视图完成查询 1)查询三建工程项目中供应商S1的供应情况 SELECT PNO,QTY FROM V_SPJ WHERE SNO ’S1’ 2)查询三建工程项目中使用的各种零件代码及其数量 SELECT PNO,QTY FROM V_SPJ 3.删除已建视图 DROP VIEW V_SPJ (二)、基于数据库“学生—课程”完成下列要求 1)创建一个行列子集视图,给出选课成绩合格的学生的编号,所选课程号和该课程的成绩 CREATE VIEW COL_VIEW AS SELECT SNO, TNO, CNO, GRADE FROM REPORTS WHERE SCORE 60 2)创建基于多个基表的视图,该视图由学生姓名和其所选修课程名称以及讲授该课程的教师姓名构成 CREATE VIEW VIEWS AS SELECT SNAME,CNAME,TNAME FROM STUDENT,COURSE,TEACHER,SC WHERE STUDENT.SNO COURSE.SNO AND COURSE.CNO SC.CNO AND SC.TNO TEACHER.TNO 3)创建带表达式的视图,该视图由学生姓名及所选课程名和所有课程成绩都比原来多5分这几个属性组成 CREATE VIEW EXPRESSION_VIEW AS SELECT SNAME,CNAME,GRADE+5 FROM STUDENT,GRADE,COURSE WHERE STUDENT.SNO GRADE.SNO AND COURSE.CNO GRADE.CNO 4)创建分组视图,将学生的学号及其平均成绩定义为一个视图 CREATE VIEW GROUP_VIEW AS SELECT SNO,AVG SCORE AS AVG_SCORE FROM GRADE GROUP BY SNO 5)创建一个基于视图的视图,基于1)中建立的视图,定义一个包括学生编号、学生所选课程数目和平均成绩的视图 CREATE VIEW VIEW2 AS SELECT SNO,COUNT CNO ,AVG SCORE AVG_SCORE FROM CS_VIEW GROUP BY SNO,CNO HAVING AVG SCORE 60 6)查询所有选修课程software engineering的学生姓名 SELECT SNAME FROM STUDENT WHERE SNO IN SELECT SNO FROM SC WHERE CNO IN SELECT SNO FROM COURSE WHERE CNAME ’ SOFTWARE ENGINEERING’ 7)插入元组(座机电话号码0,座机电话号码9,10010,59)到视图CS中。若视图的定义中存在WITH CHECK OPTION子句,则对插入操作有何影响? INSERT INTO CS SNO,TNO,CNO,SCORE VALUES S52,T02,C02,59 试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了WITH CHECK OPTION,而该操作的一个或多个结果行又不符合CHECK OPTION 约束。 8)将视图CS(包含定义WITH CHECK OPTION)中,所有课程编号为10010的课程的成绩都减去5分。此操作数据库是否会正确执行,为什么?如果加上5分(原来95分以上的不变)呢? Update CS Set Score Score-5 Where Cno 10010 试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了WITH CHECK OPTION,而该操作的一个或多个结果行又不符合CHECK OPTION 约束。UPDATE CS SET SCORE SCORE+5 WHERE CNO 10010 可以进行修改 9)在视图CS(包含定义WITH CHECK OPTION)中删除编号座机电话号码0学生的记录 DELETE FROM CS WHERE SNO ’ 座机电话号码0

文档评论(0)

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

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

1亿VIP精品文档

相关文档