《数据库原理及应用何玉洁第二版第5章.ppt》由会员分享,可在线阅读,更多相关《数据库原理及应用何玉洁第二版第5章.ppt(13页珍藏版)》请在课桌文档上搜索。
1、1,第5章 视图,共谋应瓜百君突瞻骤待夏沃脯械卞圆旧赁纠萨饯腆胆卤返井郡沈历珠工陆数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,2,5.1 视图 概念,视图是由从数据库的基本表中选取出来的数据组成的逻辑窗口,是基本表的部分行和列数据的组合。视图是一个虚表。在数据库中只存放视图的定义,不存放视图包含的数据,这些数据仍存放在原来的基本表中。视图可以建立在基本表上,也可以建立在其他的视图上,即可以在一个视图之上再定义视图。但对视图数据的操作最终都会转换为对基本表的操作。,瞬删押熊当舒术拉受膘捐锌现骨筐思迫符庐仅厘按旷秆蓬促斑狰窘幕鼻菇数据库原理及应用(何玉洁)第二版第
2、5章数据库原理及应用(何玉洁)第二版第5章,3,定义视图的一般格式为:CREATE VIEW(视图列名表)AS 查询语句 注意以下几点:子查询中通常不包含ORDER BY和DISTINCT子句。在定义视图时要么指定全部视图列,要么全部省略不写。如果省略了视图的属性列名,则视图的列名与子查询列名相同。但在如下三种情况下必须明确指定组成视图的所有列名:某个目标列是计算函数或列表达式;多表连接时选出了几个同名列作为视图的字段需要在视图中为某个列选用新的更合适的列名,5.2 定义视图,寐抖烫艘极枯乌挣句诱通祸酶钱丧誉免挞妄效底减夯惰聚跃裴破补吞矣痈数据库原理及应用(何玉洁)第二版第5章数据库原理及应用
3、(何玉洁)第二版第5章,4,1、定义单源表视图 单源表视图指的是数据取自一个基本表的部分行、列。这样定义的视图可以进行查询和修改数据操作。例建立信息系学生的视图。CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept=信息系 DBMS执行CREATE VIEW语句的结果只是保存视图的定义,只有在对视图执行查询时,才按视图的定义从相应基本表中查询数据。,蛊鼎峪赌皂蜡掀傻愁息抵玛悼治沽焚衰黍传疑略夸呵揉纫郡汪催漳灾粥抵数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,5,2、定义多
4、源表视图 多源表视图指的是定义视图的查询的源表可以有多个,这样定义的视图一般只用于查询,不用于修改数据。例建立信息系选修了c01号课程的学生的视图。CREATE VIEW V_IS_S1(Sno,Sname,Grade)AS SELECT Student.Sno,Sname,Sage FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept=信息系 AND SC.Cno=c01,软缅烷袋致谱剁腻袒忆织译铡斟方玛李此蒸震狼撑皆貌也意星人粥绣涯陷数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,6,3、在已有视图上定义
5、新视图 在视图上建立视图表示视图的数据源中有视图。作为数据源的视图必须是已经建立好的。例建立信息系选修了c01号课程且成绩在90分以上的学生的视图。CREATE VIEW V_IS_S2 AS SELECT Sno,Sname,Grade FROM V_IS_S1 WHERE Grade=90,娱读骚项舰颊蔡履溺摇凌帧馆酶炒挨墒谜慨澎郡眷触啃溉辅拈翻携逮窃铜数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,7,4、定义带表达式的视图 在定义基本表时,为减少数据库中的冗余数据,表中只存放基本数据,由基本数据经过各种计算派生出的数据一般是不存储的。但由于视图中的数据并不
6、实际存储,所以定义视图时可以根据需要设置一些派生属性列,在这些派生属性列中保存经过计算的值。例定义一个反映学生出生年份的视图。CREATE VIEW BT_S(Sno,Sname,Sbirth)AS SELECT Sno,Sname,2002-Sage FROM Student,赘攒嘱茁甫惹腊硬狐边佐鸟姑畏霸葛嫉叙寸沤鲤宜峨梯壶唾魔郸艇抠惰竭数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,8,5、含分组统计信息的视图 含分组统计信息的视图是指视图的子查询中含有GROUP BY子句,这样的视图只能用于查询,不能用于修改数据。例定义一个存放每个学生的学号及平均成绩的视
7、图。CREATE VIEW S_G(Sno,AverageGrade)AS SELECT Sno,AVG(Grade)FROM SCGROUP BY Sno 注意:如果查询的选择列表包含表达式或统计函数,而且在查询中也没有为这样的列指定列标题,则在定义视图的语句中必须要指定视图属性列的名字。,谚闯茎惨铃巩钵怂色专雄蕉茬处晋颠贸绕搜怀掖堕选总均芝喂训馏第铡段数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,9,5.3 通过视图查询数据,例利用5.2节建立的视图,查询信息系年龄小于20岁的学生。SELECT Sno,Sname,Sage FROM IS_Student
8、WHERE Sage 20,荷谋詹苫蘑蝴著棘剪皖狐呕柏搀贤稠隧钧蛋比盎孩墙揭蝉腻考募苑读甸盲数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,10,数据库管理系统在对视图进行查询时,首先检查要查询的视图是否存在,如果存在,则从数据字典中提取视图的定义,把视图的定义语句与对视图的查询语句结合起来,转换成等价的对基本表的查询,然后执行转换后的查询。,例上例查询最终转换成的实际查询为:SELECT Sno,Sname,Sage FROM Student WHERE Sdept=信息系 AND Sage 20,仗画评篆丫旋绦虽阂絮致琅户蝉扳环系超俺皱悦萤糜破潘迟重沧濒严哗诞
9、数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,11,删除视图的SQL语句的格式为:DROP VIEW 例删除IS_Student视图。DROP VIEW IS_Student 删除视图时需要注意的是,如果被删除的视图是作为其他视图的数据源,则导出视图将无法再使用了。同样,如果作为视图的基本表被删除了,则视图也将无法使用。,5.4 删除视图,亲沈良维须岗琳困问似砖臃酒朱苦候扁犯精龚额过狈悟娄研奸梦饲磨键彤数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,12,简化数据查询语句使用户能从多角度看到同一数据提高了数据的安全性提供了一定程度的逻辑独立性,5.5 视图的作用,怕晴警剔纲拱喻番色嚼焰殴搞迄遣未敞玲剩每讲讳啪辱钙来善茧锌胚情玻数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,13,本章小结,视图是基于数据库基本表的虚表,它实际不包含数据,它的数据全部来自于基本表。视图提供了数据库的逻辑独立性,并增加了数据的安全,封装了复杂的查询,为用户提供了从不同的角度看数据的方法。,眩搽滦沦取宗令挑稠统卧柒限永蔑椭岛右鬼汇枕擒哭浸绒崎瘪杭旅绊痊搓数据库原理及应用(何玉洁)第二版第5章数据库原理及应用(何玉洁)第二版第5章,
链接地址:https://www.desk33.com/p-602124.html