数据库实验报告 视图和游标操作的实验.doc_第1页
数据库实验报告 视图和游标操作的实验.doc_第2页
数据库实验报告 视图和游标操作的实验.doc_第3页
数据库实验报告 视图和游标操作的实验.doc_第4页
数据库实验报告 视图和游标操作的实验.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统原理实验报告实验名称:视图和游标操作的实验任课教师:霍纬刚学号:100341324姓名:汪何媛完成日期:2012.11.3实验名称:视图和游标操作的实验一、 实验目的1、 理解视图的作用,能够根据实际需求用SQL创建视图2、 对基本表按需定义视图,并理解可以通过视图实现对基本表的操作3、 通过 QRACLE环境下的游标操作,理解SQL的游标概念;4、 综合运用SQL的DML命令,通过游标操作数据库。二、 实验内容与步骤1、 进入QRACLE的SQL*PLUS环境;2、 用于Create view语句定义视图;(1) 建立信息系学生的视图,然后向其中插入一计算机系学生数据,分别查看视图和基本表;(2) 建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系学生,然后向其中插入一计算机系学生,比较(1),(2)的不同;(3) 建立信息系选修了1号课程且成绩在90分以上的学生的视图;(4) 将学生的学号及他的平均成绩定义为一个视图S_G;(5) 将SC表中成绩在相应课程平均成绩之上的元组定义成一个视图GOOD-SC;3、 通过视图对表进行操作(1) 在信息系学生的视图中找出年龄小于20岁的学生;(2) 查询信息系选修了1号课程且成绩在90分以上的学生;(3) 在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩;(4) 创建CS-KC视图,包括计算机专业各学生的学号、其选修的课程号及成绩,要保证对该视图的修改都要符合专业名为“计算机”这个条件;(5) 查找计算机专业的学生学号和选修的课程号;(6) 向S-G视图中插入一元组。4、 游标的操作(1) 用简单循环控制从EMP表中取出某一部门的员工姓名和工资,存入TEMP表中;(2) 采用FOR循环重做上题;(3) 游标的FOR循环内使用查询;(4) 查询EMP表某部门的雇员情况,如果某雇员的工资小于800,掌握将其工资设为800;(5) 为职工涨10%的工资。从最低工资开始涨,最后工资总额限制在50万元以内;(6) 根据DEPT表中返回的部门号,从EMP表中查询该部门的雇员情况,使用带参数的游标;(7) 统计EMP表中工资大于3000的记录数,而且给工资增长10%。三、 实验结果与结论2、用于Create view语句定义视图(1)建立信息系学生的视图,然后向其中插入一计算机系学生数据,分别查看视图和基本表create view IS_pc 2 as 3 select sno,sname,ssex,sage,sdept 4 from s 5 where sdept=pcinsert into IS_pc values(014,李昕,女,19,ac);处理了 1 行。(2)建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系学生,然后向其中插入一计算机系学生,比较(1),(2)的不同;SQLWKS create view IS_ac 2 as 3 select sno,sname,ssex,sage,sdept 4 from s 5 where sdept=ac 6 with check optionSQLWKS insert into IS_ac values(014,班国龙,男,20,pc);ORA-01402: 视图 WITH CHECK OPTIDN 违反 where 子句(3)建立信息系选修了1号课程且成绩在90分以上的学生的视图;SQLWKS create view IS_S1(sno,sname,grade) 2 as 3 select s.sno,sname,grade 4 from s,sc 5 where sdept=IS 6 and s.sno=sc.sno 7 and o=1;SQLWKS create view IS_S2 2 as 3 select sno,sname,grade 4 from IS_S1 5 where grade=90;select * from IS_S2;SNO SNAME GRADE - - -已选择0行。(4)将学生的学号及他的平均成绩定义为一个视图S_G;SQLWKS create view S_G(sno,Gavg) 2 as 3 select sno,AVG(grade) 4 from sc 5 group by sno;语句已处理。SQLWKS select * from S_G;SNO GAVG - -001 85002 89003 75004 93005 81006 63007 82008 84009 95010 83已选择10行。(5)将SC表中成绩在相应课程平均成绩之上的元组定义成一个视图GOOD-SC;SQLWKS create view C_G(cno,Gavg) 2 as 3 select cno,AVG(grade) 4 from sc 5 group by cno;语句已处理。SQLWKS create view GOOD_SC 2 as 3 select sno,o,grade 4 from sc,C_G 5 where gradeGavg;语句已处理。SQLWKS select * from C_G;CNO GAVG - -01 81.333333302 79.666666703 8804 85.5已选择4行。select distinct * from GOOD_SC;SNO CNO GRADE - - -001 01 85002 04 89004 02 93005 03 81007 04 82008 01 84009 03 95010 02 83已选择8行。3、通过视图对表进行操作(1)在信息系学生的视图中找出年龄小于20岁的学生;SQLWKS select sage 2 from IS_pc 3 where sage select grade 2 from IS_S1 3 where grade=90;GRADE -已选择0行。(3)在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩;SQLWKS select Gavg 2 from S_G 3 where gavg=90GAVG - 93 95已选择2行。(4)创建CS-KC视图,包括计算机专业各学生的学号、其选修的课程号及成绩,要保证对该视图的修改都要符合专业名为“计算机”这个条件;SQLWKS create view CS1_KC 2 as 3 select s.sno,o,grade 4 from sc,s 5 where sdept=pc 6 and s.sno=sc.sno 7 group by s.sno,o,grade 8 with check option;语句已处理。SQLWKS select distinct * from CS1_KC;SNO CNO GRADE - - -004 02 93007 04 82010 02 83已选择3行。(7) (5)查找计算机专业的学生学号和选修的课程号;SQLWKS select sc.sno,cno 2 from sc,IS_pc 3 where sdept=pc 4 and sc.sno=IS_pc.sno;SNO CNO - -004 02 007 04 010 02 已选择3行。(8) (6)向S-G视图中插入一元组。insert into S_G values(011,90);4、游标的操作:结果如图所示:(1) 用简单循环控制从EMP表中取出某一部门的员工姓名和工资,存入TEMP表中;结果如图所示:(2) 采用FOR循环重做上题;结果如图所示:(3) 游标的FOR循环内使用查询结果如图所示:(4)查询EMP表某部门的雇员情况,如果某雇员的工资小于800,掌握将其工资设为800;结果如图所示:(5)为职工涨10%的工资。从最低工资开始涨,最后工资总额限制在50万元以内;结果如图所示:(6)根据DEPT表中返回的部门号,从EMP表中查询该部门的雇员情况,使用带参数的游标; (8) (7)统计EMP表中工资大于3000的记录数,而且给工资增长10%。结果如图所示:四、 过程分析和建议在本次实验中,我熟悉了视图和游标

温馨提示

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

评论

0/150

提交评论