SQL实验三--数据的更新操作和视图-实验报告.doc

SQL实验三--数据的更新操作和视图-实验报告.doc

ID:54965658

大小:2.59 MB

页数:16页

时间:2020-04-25

SQL实验三--数据的更新操作和视图-实验报告.doc_第1页
SQL实验三--数据的更新操作和视图-实验报告.doc_第2页
SQL实验三--数据的更新操作和视图-实验报告.doc_第3页
SQL实验三--数据的更新操作和视图-实验报告.doc_第4页
SQL实验三--数据的更新操作和视图-实验报告.doc_第5页
资源描述:

《SQL实验三--数据的更新操作和视图-实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验三数据的更新操作和视图本实验需要2学时。一、实验目的1、掌握视图的创建、修改和删除操作。2、掌握数据库数据更新(增加、修改、删除)操作。二、实验内容和步骤1、视图(1)建立名为UV_SC的视图。该视图可以让我们看到每个学生的姓名、选修课程名和成绩。(2)利用UV_SC视图,查看平均成绩在80分以上的学生姓名。(3)建立名为UV_Course的视图,该视图显示每门课的课程名和选修该课程的学生人数。(4)修改视图UV_Course,在视图中增加一列,显示选修该课程所有学生的平均成绩。(5)建立名为UV_IS_Depart的视图。该视图可以用来查看“信息系”的学生的

2、学号、姓名、年龄和系名。并保证对该视图的修改满足系名为信息系的条件。(6)建立名为UV_Student的加密视图。该视图可以用来查看每个学生选修的课程门数和平均成绩。(7)利用UV_Student视图,查询平均成绩在80分以上的学生学号。(8)能否利用视图UV_Student,修改某个学生的平均成绩?(9)删除视图UV_Student。2、数据更新(1)向STUDENT表增加如下记录:SnoSnameSsexSageSaddressSdept95011王一鸣男20福州市计算机系(2)将学号’95011’,成绩80,以及课程表中的所有课程号插入到SC表中。(3)建立

3、与表STUDENT同结构的空表STUD。然后利用INSERT命令把表STUDENT中年龄大于19的学生记录添加到表STUD。(注意:可以使用selectinto语句实现同结构空表的创建,再使用insert命令插入记录;或者使用单条selectinto语句实现等同的功能)(4)为“95002”的学生增加选修“操作系统”和“数据结构”这两门课的选课记录。(5)把课程名为“操作系统”的成绩从成绩表SC中删除。(试用三种方式完成)(6)将女生的成绩提高10%。(试用三种方式完成)(7)如果学生“张三”的数据结构的成绩低于65,则加上10分。(8)将成绩最低的学生的成绩加上

4、10分。(9)将前3名成绩最高的学生的成绩减去10分。(10)为没有选课的学生自动增加选修“01”课程的选课记录。(11)把选修“数学”不及格的成绩全部改成空值。(12)删除成绩低于总平均成绩的女生的选课记录。15/17三、实验环境四、调试过程五、实验结果15/1715/1715/1715/1715/1715/1715/1715/17六、总结通过此次实验:1.我知道了视图不是一张真实的表格,是一个虚拟的存在形式。2.掌握了对视图的创建(createorreplace):当视图不存在时可使用create进行创建;而如果不确定视图是否已存在,但此时又需要建立一张此名称

5、的视图时,可使用replace创建,如果视图名已存在也不会出现冲突,而是进行替换。3.在创建视图时如果使用了withcheckoption表示在视图上执行UPDATEINSERT或DELETE操作时,要保证所修改的行满足视图定义中的谓词条件,即SELECT查询子句中的限定条件:如Where条件,这样可以确保数据修改后仍可通过视图看到修改的数据。4.分清楚了对视图结构的修改(alter)、对视图数据的修改(update)。同时对视图上的计算列、内置函数列和行集合函数列不能修改。5.知道了对视图数据的删除操作(delete)。6.通过第二题的训练也使我对数据库数据

6、的更新语句有了更多的体会和认识。7.第二题第五小题,要求三种方法,只写出了两种,第三种有点没辙。而其他题目有的没要求,因为在思考过程有别的思路,也有多写了相关方法。15/17附录:--1、视图--(1)建立名为UV_SC的视图。该视图可以让我们看到每个学生的姓名、选修课程名和成绩。createviewUV_SCasselectsname,cname,gradefromstudents,coursec,scwheres.sno=sc.snoandc.cno=sc.cnoselect*fromUV_SC--(2)利用UV_SC视图,查看平均成绩在分以上的学生姓名。se

7、lectsnamefromUV_SCgroupbysnamehavingavg(grade)>80--(3)建立名为UV_Course的视图,该视图显示每门课的课程名和选修该课程的学生人数。createviewUV_Courseasselectcname,count(*)as'选修人数'fromcoursec,scwherec.cno=sc.cnogroupbycnameselect*fromUV_Course--(4)修改视图UV_Course,在视图中增加一列,显示选修该课程所有学生的平均成绩。alterviewUV_Courseasselectcname,c

8、ount(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。