资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,11.2,使用视图,教学案例,2,:,请根据用户数据需求,在“,Exam”,数据库中进行视图的管理与应用。,1,、通过以上创建的视图,请查询“张圣政”同学所选修的相关信息;并查询学号为“,200601010001”,同学已选修课程的总成绩与平均成绩。,提问:,如果没有以上视图,要想完成任务,2,的查询要求,我们可以怎么处理?对比两种实现任务的过程,看看哪种方法更加简单。这说明了视图管理的什么特点?,11.2,使用视图,教学案例,2,:,请根据用户数据需求,在“,Exam”,数据库中进行视图的管理与应用。,2,、通过上面对视图的查询,“张圣政”发现自己的姓名有错误,应该是“张胜政”,我们是否可以通过视图来修改该学生的姓名?,提问:,如果可以,这又说明了什么问题?,11.2,管理视图,知识点:,使用视图的注意事项,视图中查询,select,语句的限制:,1.,定义视图的用户必须对所参照的表或视图有查询权限,即可执行,select,语句;,2.,不能使用,compute,或,compute by,子句;,3.,不能使用,order by,子句,;,4.,不能使用,into,子句;,5.,不能在临时表或表变量上创建视图。,关于,compute,或,compute by,子句应用,请课外上网查阅相关资料自主详细学习,如果视图中某一列是函数、数学表达式、常量或来自多个表的列名同名,则必须为列定义名称;,简单视图可以实现DML操作;,因为视图可以有选择性的选取数据库里的一部分。,教学案例2:请根据用户数据需求,在“Exam”数据库中进行视图的管理与应用。,1、通过以上创建的视图,请查询“张圣政”同学所选修的相关信息;,为此,若在视图中采用了Distinct关键字的话,就无法对视图中的内容进行更改;,视图最多可以嵌套32层。,这主要是因为采用Group By子句对查询结果进行汇总在后,视图中就会丢失这条纪录的物理存储位置;,1、在一个SQL Server视图中,若采用Group By子句,对视图中的内容进行了汇总。,知识点:视图分为简单视图和复杂视图:,只能在当前数据库中创建视图;,简单视图只从单表里获取数据;,则用户就不能够对这张视图进行更新。,11.2,管理视图,知识点:,其他注意事项:,1.,只能在当前数据库中创建视图;,2.,视图的命名必须遵循标识符命名规则,不可与表同名;,3.,如果视图中某一列是函数、数学表达式、常量或来自多个表的列名同名,则必须为列定义名称,;,4.,当视图引用的基表或视图被删除,该视图也不能再被使用;,5.,不能在视图上创建全文索引,不能在规则、默认的定义中引用视图;,6.,一个视图最多可以引用,1024,个列;,7.,视图最多可以嵌套,32,层。,提问:如果没有以上视图,要想完成任务2的查询要求,我们可以怎么处理?对比两种实现任务的过程,看看哪种方法更加简单。,提问:如果可以,这又说明了什么问题?,简单视图只从单表里获取数据;,一个视图最多可以引用1024个列;,知识点:视图分为简单视图和复杂视图:,知识点:其他注意事项:,为此,若在视图中采用了Distinct关键字的话,就无法对视图中的内容进行更改;,如果视图中某一列是函数、数学表达式、常量或来自多个表的列名同名,则必须为列定义名称;,1、通过以上创建的视图,请查询“张圣政”同学所选修的相关信息;,这主要是因为采用Group By子句对查询结果进行汇总在后,视图中就会丢失这条纪录的物理存储位置;,简单视图只从单表里获取数据;,提问:如果没有以上视图,要想完成任务2的查询要求,我们可以怎么处理?对比两种实现任务的过程,看看哪种方法更加简单。,对于不同的用户定义不同的视图,使用户只能看到与自己有关的数据;,1、在一个SQL Server视图中,若采用Group By子句,对视图中的内容进行了汇总。,这主要是因为采用Group By子句对查询结果进行汇总在后,视图中就会丢失这条纪录的物理存储位置;,则用户就不能够对这张视图进行更新。,11.2,管理视图,配套案例,2,:,请根据用户数据需求,在“,Library”,数据库中进行视图的管理与应用,在应用过程中,管理员发现“机械工业出版社”的,JAVA,程序设计,作者姓名有错误,不是“张明”而应该是“张民”,我们是否可以通过视图来修正该作者姓名?,小 结,知识点:,视图分为简单视图和复杂视图:,简单视图只从单表里获取数据;复杂视图从多表,简单视图不包含函数和数据组;复杂视图包含,简单视图可以实现,DML,操作;复杂视图不可以,小 结,知识点:,视图的原理,视图就是用户查看数据表中数据的一种方式,一个视图就是一个虚拟表,是用,SQL,语句构造而不是用数据构造的。视图看起来像一个表,而且它的操作也类似表,,但它并不是表,本身并不存储任何数据。所以对视图实施的查询、修改、删除等操作,实际上最终都反映在相应的基本表中。,小 结,知识点:,使用视图有以下几个优点:,利于数据保密。因为视图可以有选择性的选取数据库里的一部分。对于不同的用户定义不同的视图,使用户只能看到与自己有关的数据;,简化查询操作。为复杂的查询建立一个视图,用户不必键入复杂的查询语句,只需针对此视图做简单的查询即可;,保证数据的逻辑独立性。维护数据的独立性,视图可从多个表检索数据。,小 结,知识点:,视图的缺点,主要表现在其对数据修改的限制上,因为对于复杂的或存在嵌套关系的视图,修改操作可能由于所有权链的破坏而无法进行,所以视图的主要用途在于数据查询。更新的限制条件为:,1,、在一个,SQL Server,视图中,若采用,Group By,子句,对视图中的内容进行了汇总。则用户就不能够对这张视图进行更新。这主要是因为采用,Group By,子句对查询结果进行汇总在后,视图中就会丢失这条纪录的物理存储位置,;,小 结,知识点:,视图的缺点,2,、不能够使用,Distinct,关键字,这个关键字的用途就是去除重复的纪录,因为视图中看起来只有一条纪录,而在基础表中可能对有的纪录有几十条。为此,若在视图中采用了,Distinct,关键字的话,就无法对视图中的内容进行更改;,3,、如果在视图中有,AVG,、,MAX,等函数,则也不能够对其进行更新。如在一张视图中,其采用了,SUN,函数来汇总员工的工资时,此时,就不能够对这张表进行更新。这是数据库为了保障数据一致性所添加的限制条件。,
展开阅读全文