资源描述:
《关系数据库与SQLServer2005教学课件作者龚小勇第20讲视图的使用实验课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章视图和索引——视图的使用(实验)主讲人:段利文第20讲动手操作1:创建视图和查看视图的定义任务1:用对象资源管理器管理器方式,创建一个名为“v1”的视图,用于查询计算机网络专业男生的学号、姓名、出生日期,并将视图的列名分别改为:学生学号、男生姓名、生日。方法:在对象资源管理器管理器中,右击“xscj”库下的“视图”图标→单击“新建视图”命令→……任务2:用对象资源管理器管理器方式,创建一个名为“v成绩”的视图,用于查询成绩在60~80之间的学生学号、姓名、专业名、课程名、成绩信息。动手操作1:
2、创建视图和查看视图的定义任务3:用命令方式,创建一个名为“V个人最高分”的视图,用于查询每门课程的最高分的学生学号、姓名、课程号、成绩信息。createviewV个人最高分asselectxsqk.学号,姓名,课程号,成绩fromxsqk,xs_kcwherexsqk.学号=xs_kc.学号and成绩=any(selectmax(成绩)fromxs_kcgroupby学号)动手操作1:创建视图和查看视图的定义任务4:用命令方式,创建一个名为“V全校最高分”的视图,用于查询所有成绩中的最高分的学生学号
3、、姓名、专业名、课程号、成绩。createviewV全校最高分asselectxsqk.学号,姓名,专业名,课程号,成绩fromxsqk,xs_kcwherexsqk.学号=xs_kc.学号and成绩>=all(select成绩fromxs_kc)动手操作2:修改视图任务:用命令方式,在“v1”的视图中增加两列:专业和系。动手操作3:使用视图向数据表中插入数据任务1:用命令方式,在“V1”视图中添加如下两条记录,注意查看添加的结果。分析为什么?insertintov1values(‘020106’,
4、‘李好’,‘1981-04-22’,‘计算机网络’,‘计算机’)insertintov1values(‘020107’,‘周权’,‘1981-07-08’,‘信息安全’,‘计算机’)select*fromxsqkselect*fromv1请思考:V1视图中为什么不能看到‘周权’的记录?因为‘周权’的记录不满足视图的定义,即视图中只显示“计算机网络”专业的学生信息,所以‘周权’的信息只能在基表中看到,而不能在视图中看到。动手操作3:使用视图向数据表中插入数据任务2:用命令方式,在“V1”视图中设置“w
5、ithcheckoption”属性,然后通过视图向基表中添加如下两条记录,注意查看添加的结果。insertintov1values(‘020108’,‘赵伟’,‘1980-05-07’,‘计算机网络’,‘计算机’)insertintov1values(‘020109’,‘刘齐’,‘1981-12-02’,‘信息安全’,‘计算机’)select*fromxsqkselect*fromv1请思考:这两条记录能否插入到基表中?能否在视图中能否显示?“赵伟”的信息既能插入到基表中,也能在视图中看到。但“刘齐
6、”的信息都不能,且系统会提示错误。动手操作3:使用视图向数据表中插入数据插入数据的注意事项可通过视图向基表中插入数据,但插入的数据实际上存放在基表中,而不是存放在视图中。若创建视图时定义了“withcheckoption”选项,则使用视图向基表中的插入数据时,必须保证插入后的数据满足定义视图的限制条件。说明:如果不想让不满足视图定义的数据插入到基表中,可以在定义视图时,加上“withcheckoption”。动手操作4:使用视图删除数据表中的数据任务1:用命令方式或对象资源管理器管理器方式,删除“V
7、1”视图中,学号为‘020108’的记录。deletefromV1where学号=‘020108’任务2:用命令方式或对象资源管理器管理器方式,删除“v成绩”视图中的记录。观察会出现什么情况?为什么?因为:如果视图引用了多个表时,无法用delete命令删除数据。动手操作5:删除视图要求:用命令方式或对象资源管理器管理器方式,删除创建的任何一个视图。课余作业课外练习:无预习:第6章视图与索引—索引