资源描述:
《教案第8单元 视图.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8单元视图-保证数据的安全性[学习目标]:理解如何使用视图保证数据的安全性[应知]视图的基本概念视图的作用视图的创建方法(单表、多表、视图)[应会]创建视图修改视图显示视图重新命名视图使用视图删除视图[教学过程设计]:复习内容,解决问题:查询学生表中学号为’4051’的同学的信息。UsexrfdbGoSelect*from学生Where学号='4051'Go得到的是所有行中的一部分行。一、创建视图1、从单个表创建一个视图。(部分行)例题1:使用T-SQL语句在xrfdb数据库中创建一个名字为v_Student的视图,该视图查
2、询学生表中学号为'4051'的同学的信息UsexrfdbGoCreateViewV_StudentasSelect*from学生基表Where学号='4051'Go视图-它是一个虚表,存储的是一个SELECT语句的定义基表:视图中的select语句所涉及的表例题只涉及到一个表学生,它是基表。二、使用视图:虚表,它具有表的特点。可以对它进行select、update、delete、insert问题:在做录入、修改、删除时,实际是对哪个表进行操作?基表(1)selectselect*fromV_Student(2)insertin
3、sertV_Studentvalues('4053','肖丽','女','物流')goinsertV_Studentvalues('4053','肖非','男','市场营销')显示出错信息:服务器:消息2627,级别14,状态1,行1违反了PRIMARYKEY约束'PK__学生__7B905C75'。不能在对象'学生'中插入重复键。语句已终止。问题:出错原因是什么?视图是虚表,对视图做插入,实际上是对基表做录入,基表学生表中已存在’4053’的学号。Select*from学生Go修改学号为‘4054’insertV_Stude
4、ntvalues('4054','肖非','男','市场营销')显示“所影响的行数为1行”,录入成功。(3)修改视图update问题:修改视图,将名字为王平的姓名改为王萍select*fromV_StudentupdateV_Studentset姓名='王萍'where姓名='王平'go显示出错信息:(4)删除视图中学号为’4051’的同学的信息deleteV_Studentwhere学号='4051'go显示出错信息:服务器:消息547,级别16,状态1,行1DELETE语句与COLUMNREFERENCE约束'FK__学生
5、课程__学号__7F60ED59'冲突。该冲突发生于数据库'xrfdb',表'学生课程',column'学号'。语句已终止。:一、创建视图2、从单个表创建视图(部分列)例题2:创建学分大于5学分的课程名称和学分的视图,名字为V_Course_CreditGreat5。CreateViewV_Course_CreditGreat5AsSelect课程名,学分From课程Where学分>5/*写成credit>5也正确*/goselect*fromV_Course_CreditGreat52、从多个表中创建视图将例题1修改如下:例
6、题3:使用T-SQL语句在xrfdb数据库中创建一个名字为v_Studentcourse的视图,该视图查询计算机专业学生所学的课程及成绩。UsexrfdbGoCreateViewV_StudentCourseasSelects.学号,姓名,课程名,学分,成绩from学生S,课程C,学生课程scWhere专业='计算机'AndS.学号=SC.学号AndC.课程号=sc.课程号GoSelect*fromV_StudentCourse例题4:创建一个显示学生修读课程门数的视图,名字为V_studentReadCourseCreate
7、ViewV_studentRedCourseAsselect学生.学号,姓名,count(学生.学号)as'学生修读课程门数'from学生课程,学生where学生课程.学号=学生.学号groupby学生.学号,姓名select*fromV_studentRedCourseGo3、从视图创建视图例题:从V_studentRedCourse视图中产生视图,只显示学号和学生修读课程门数。createviewv_ByViewasselect学号,学生修读课程门数fromV_studentRedCoursego二、修改视图例题:修改视图
8、,将学号改为姓名alterviewv_ByViewasselect姓名,学生修读课程门数fromV_studentRedCoursego三、显示视图(1)使用SP_HELP(2)使用sp_helptext'v_ByView'(3)sp_depends'v_ByView'四、重