资源描述:
《关系数据库与SQLServer2008第2版教学课件作者龚小勇第20讲视图和索引实训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章视图与索引——实训第21讲动手操作1:创建视图和查看视图的定义任务1:用对象资源管理器方式,创建一个名为“v1”的视图,用于查询网络工程专业学生的学号、姓名、性别、出生日期。方法:在对象资源管理器管理器中,右击“xscj”库下的“视图”图标→单击“新建视图”命令→……任务2:用对象资源管理器方式,创建一个名为“v成绩”的视图,用于查询成绩在60~80之间的学生学号、姓名、专业名、课程号、成绩信息。动手操作1:创建视图和查看视图的定义任务3:用命令方式,创建一个名为“V个人最高分”的视图,用于查询每门课程的最高分的学生学号、姓名、课程号、成绩信息。createviewV个人最高分
2、asselectxsqk.学号,姓名,课程号,成绩fromxsqk,xs_kcawherexsqk.学号=a.学号and成绩=(selectmax(成绩)fromxs_kcbwhereb.课程号=a.课程号)动手操作1:创建视图和查看视图的定义任务4:用命令方式,创建一个名为“V全校最高分”的视图,用于查询所有成绩中的最高分的学生学号、姓名、专业名、课程号、成绩。createviewV全校最高分asselectxsqk.学号,姓名,专业名,课程号,成绩fromxsqk,xs_kcawherexsqk.学号=a.学号and成绩=(selectmax(成绩)fromxs_kcb)动手操作
3、2:修改视图任务:用命令方式,在“v1”的视图中增加两列:专业名和所在系。alterviewv1asselect学号,姓名,性别,出生日期,专业名,所在系fromxsqkwhere专业名=‘网络工程’动手操作3:使用视图向数据表中插入数据任务1:用命令方式,在“V1”视图中添加如下两条记录,注意查看添加的结果。分析为什么?insertintov1values(‘2012130206’,‘李好’,1,‘1996-04-22’,‘网络工程’,‘计算机应用’)insertintov1values(‘2012130106’,‘周权’,1,‘1986-07-08’,‘信息安全’,‘计算机应用’
4、)select*fromxsqkselect*fromv2请思考:V1视图中为什么不能看到‘周权’的记录?因为‘周权’的记录不满足视图的定义,即视图中只显示“网络工程”专业的学生信息,所以‘周权’的信息只能在基表中看到,而不能在视图中看到。动手操作4:使用视图删除数据表中的数据任务1:用命令方式或对象资源管理器管理器方式,删除“v1”视图中,学号为‘2012130206’的记录。deletefromv1where学号=‘2012130206’任务2:用命令方式或对象资源管理器管理器方式,删除“v成绩”视图中的记录。观察会出现什么情况?为什么?因为:如果视图引用了多个表时,无法用del
5、ete命令删除数据。动手操作5:删除视图要求:用命令方式或对象资源管理器管理器方式,删除创建的任何一个视图。动手操作6:创建索引任务1:在kc表的“课程名”列上创建一个非聚集索引,索引名为“ix_kcm”,并降序排列。任务2:在kc表中,重新创建名为“ix_kcm”的索引,使其成为唯一性的非聚集索引。createuniqueindexix_kcmonkc(课程名desc)withdrop_existingcreateindexix_kcmonkc(课程名desc)动手操作6:创建索引任务3:已知xs_kc表中的“学号”和“课程号”两列已设置为主键,主键约束名为“PK_xs_kc”,请
6、重新创建这两列的组合索引,使学号降序排列,使索引页填满60%后就换新页进行填充。altertablexs_kcdropconstraintpk_xs_kcgocreateuniqueclusteredindexpk_xs_kconxs_kc(学号desc,课程号)withpad_index,fillfactor=60