数据库原理及应用何玉洁第二版第5章.ppt

上传人:p** 文档编号:464980 上传时间:2023-09-07 格式:PPT 页数:13 大小:103.50KB
下载 相关 举报
数据库原理及应用何玉洁第二版第5章.ppt_第1页
第1页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第2页
第2页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第3页
第3页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第4页
第4页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第5页
第5页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第6页
第6页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第7页
第7页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第8页
第8页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第9页
第9页 / 共13页
数据库原理及应用何玉洁第二版第5章.ppt_第10页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据库原理及应用何玉洁第二版第5章.ppt》由会员分享,可在线阅读,更多相关《数据库原理及应用何玉洁第二版第5章.ppt(13页珍藏版)》请在第壹文秘上搜索。

1、1第第5 5章章 视图视图 25.1 5.1 视图视图 概念概念 视图视图是由从数据库的基本表中选取出来的是由从数据库的基本表中选取出来的数据组成的逻辑窗口,是基本表的部分行和列数据组成的逻辑窗口,是基本表的部分行和列数据的组合。视图是一个数据的组合。视图是一个虚表虚表。在数据库中。在数据库中只只存放视图的定义存放视图的定义,不存放视图包含的数据,这,不存放视图包含的数据,这些数据仍存放在原来的基本表中。些数据仍存放在原来的基本表中。视图可以建立在基本表上,也可以建立在视图可以建立在基本表上,也可以建立在其他的视图上,即可以在一个视图之上再定义其他的视图上,即可以在一个视图之上再定义视图。但对

2、视图数据的操作最终都会转换为对视图。但对视图数据的操作最终都会转换为对基本表的操作。基本表的操作。3 定义视图的一般格式为:定义视图的一般格式为:CREATE VIEW CREATE VIEW (视图列名表)(视图列名表)AS AS 查询语句查询语句 注意以下几点:注意以下几点:子查询中通常不包含子查询中通常不包含ORDER BYORDER BY和和DISTINCTDISTINCT子句。子句。在定义视图时要么指定全部视图列,要么全部省在定义视图时要么指定全部视图列,要么全部省略不写。如果省略了视图的属性列名,则视图的略不写。如果省略了视图的属性列名,则视图的列名与子查询列名相同。但在如下三种情

3、况下必列名与子查询列名相同。但在如下三种情况下必须明确指定组成视图的所有列名:须明确指定组成视图的所有列名:某个目标列是计算函数或列表达式;某个目标列是计算函数或列表达式;多表连接时选出了几个同名列作为视图的字段多表连接时选出了几个同名列作为视图的字段需要在视图中为某个列选用新的更合适的列名需要在视图中为某个列选用新的更合适的列名5.2 5.2 定义视图定义视图41 1、定义单源表视图、定义单源表视图 单源表视图指的是数据取自一个基本表的单源表视图指的是数据取自一个基本表的部分行、列。这样定义的视图可以进行查询和部分行、列。这样定义的视图可以进行查询和修改数据操作。修改数据操作。例建立信息系学

4、生的视图。例建立信息系学生的视图。CREATE VIEW IS_StudentCREATE VIEW IS_Student AS AS SELECT Sno,Sname,Sage SELECT Sno,Sname,Sage FROM Student WHERE Sdept=FROM Student WHERE Sdept=信息系信息系 DBMSDBMS执行执行CREATE VIEWCREATE VIEW语句的结果只是保语句的结果只是保存视图的定义,只有在对视图执行查询时,才存视图的定义,只有在对视图执行查询时,才按视图的定义从相应基本表中查询数据。按视图的定义从相应基本表中查询数据。52 2、

5、定义多源表视图、定义多源表视图 多源表视图指的是定义视图的查询的源表可多源表视图指的是定义视图的查询的源表可以有多个,这样定义的视图一般只用于查询,不以有多个,这样定义的视图一般只用于查询,不用于修改数据。用于修改数据。例建立信息系选修了例建立信息系选修了c01c01号课程的学号课程的学生生的视图。的视图。CREATE VIEW V_IS_S1(Sno,Sname,Grade)CREATE VIEW V_IS_S1(Sno,Sname,Grade)AS AS SELECT Student.Sno,Sname,Sage SELECT Student.Sno,Sname,Sage FROM Stu

6、dent JOIN SC FROM Student JOIN SC ON Student.Sno=SC.Sno ON Student.Sno=SC.Sno WHERE Sdept=WHERE Sdept=信息系信息系 AND SC.Cno=c01 AND SC.Cno=c0163 3、在已有视图上定义新视图、在已有视图上定义新视图 在视图上建立视图表示视图的数据源中在视图上建立视图表示视图的数据源中有视图。作为数据源的视图必须是已经建立有视图。作为数据源的视图必须是已经建立好的。好的。例建立信息系选修了例建立信息系选修了c01c01号课程且号课程且成成绩在绩在9090分以上的学生的视图。分以上

7、的学生的视图。CREATE VIEW V_IS_S2CREATE VIEW V_IS_S2 AS AS SELECT Sno,Sname,Grade SELECT Sno,Sname,Grade FROM FROM V_IS_S1V_IS_S1 WHERE Grade=90 WHERE Grade=90 74 4、定义带表达式的视图、定义带表达式的视图 在定义基本表时,为减少数据库中的冗余在定义基本表时,为减少数据库中的冗余数据,表中只存放基本数据,由基本数据经过数据,表中只存放基本数据,由基本数据经过各种计算派生出的数据一般是不存储的。但由各种计算派生出的数据一般是不存储的。但由于视图中的数

8、据并不实际存储,所以定义视图于视图中的数据并不实际存储,所以定义视图时可以根据需要设置一些派生属性列,在这些时可以根据需要设置一些派生属性列,在这些派生属性列中保存经过计算的值。派生属性列中保存经过计算的值。例定义一个反映学生出生年份的视图。例定义一个反映学生出生年份的视图。CREATE VIEW BT_S(Sno,Sname,Sbirth)CREATE VIEW BT_S(Sno,Sname,Sbirth)AS AS SELECT Sno,Sname,SELECT Sno,Sname,2002-Sage2002-Sage FROM Student FROM Student85 5、含分组统计

9、信息的视图、含分组统计信息的视图 含分组统计信息的视图是指视图的子查询中含分组统计信息的视图是指视图的子查询中含有含有GROUP BYGROUP BY子句,这样的视图只能用于查询,子句,这样的视图只能用于查询,不能用于修改数据。不能用于修改数据。例定义一个存放每个学生的学号及平均例定义一个存放每个学生的学号及平均成绩的视图。成绩的视图。注意注意:如果查询的选择列表包含表达式或统:如果查询的选择列表包含表达式或统计函数,而且在查询中也没有为这样的列指定列计函数,而且在查询中也没有为这样的列指定列标题,则在定义视图的语句中必须要指定视图属标题,则在定义视图的语句中必须要指定视图属性列的名字。性列的

10、名字。95.3 5.3 通过视图查询数据通过视图查询数据例利用例利用5.25.2节建立的视图,查询信息系年龄节建立的视图,查询信息系年龄小于小于2020岁的学生。岁的学生。SELECT Sno,Sname,SageSELECT Sno,Sname,Sage FROM IS_Student FROM IS_Student WHERE Sage 20 WHERE Sage 20 10 数据库管理系统在对视图进行查询时,数据库管理系统在对视图进行查询时,首先检查要查询的视图是否存在,如果存首先检查要查询的视图是否存在,如果存在,则从数据字典中提取视图的定义,把在,则从数据字典中提取视图的定义,把视图

11、的定义语句与对视图的查询语句结合视图的定义语句与对视图的查询语句结合起来,转换成等价的对基本表的查询,然起来,转换成等价的对基本表的查询,然后执行转换后的查询。后执行转换后的查询。例上例查询最终转换成的实际查询为:例上例查询最终转换成的实际查询为:SELECT Sno,Sname,SageSELECT Sno,Sname,Sage FROM Student FROM Student WHERE Sdept=WHERE Sdept=信息系信息系 AND Sage 20 AND Sage 2011 删除视图的删除视图的SQLSQL语句的格式为:语句的格式为:DROP VIEW DROP VIEW

12、例删除例删除IS_StudentIS_Student视图。视图。删除视图时删除视图时需要注意需要注意的是,如果被删除的是,如果被删除的视图是作为其他视图的数据源,则导出视的视图是作为其他视图的数据源,则导出视图将无法再使用了。同样,如果作为视图的图将无法再使用了。同样,如果作为视图的基本表被删除了,则视图也将无法使用。基本表被删除了,则视图也将无法使用。5.4 5.4 删除视图删除视图12简化数据查询语句简化数据查询语句使用户能从多角度看到同一数据使用户能从多角度看到同一数据提高了数据的安全性提高了数据的安全性提供了一定程度的逻辑独立性提供了一定程度的逻辑独立性 5.5 5.5 视图的作用视图的作用13 本章小结本章小结 视图视图是基于数据库基本表的是基于数据库基本表的虚表虚表,它实际不包含数据,它的数据全部来它实际不包含数据,它的数据全部来自于基本表。视图提供了数据库的逻自于基本表。视图提供了数据库的逻辑独立性,并增加了数据的安全,封辑独立性,并增加了数据的安全,封装了复杂的查询,为用户提供了从不装了复杂的查询,为用户提供了从不同的角度看数据的方法。同的角度看数据的方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!