文档详情

数据库原理及应用教案第五章.docx

发布:2016-11-05约1.86千字共4页下载文档
文本预览下载声明
教 案授课时间第六周周一12节授课教师杨清波授课班级:信息14-12授课内容概要5.1 视图概念 5.2 定义视图5.3 通过视图查询数据 5.4 修改和删除视图5.5 视图的作用目的要求理解视图的概念,掌握定义视图和通过视图查询数据的方法,了解修改和删除视图的方法,理解视图的作用。重点视图的概念,视图的作用难点理解视图的概念作业布置课后题:1、3本章(节)参考书《数据库系统概论(第4版)》,王珊等,电子工业出版社,2006-05-01《数据库原理与应用教程(第三版)》,何玉洁等,机械工业出版社,2012-09教学方法主要教具多媒体、板书结合备注授课过程及内容备注视图:由基本表构成的虚表(满足用户需求的表结构)定义视图CREATE VIEW 视图名 [(视图列名表)]AS 查询语句视图取自一个基本表的部分行、列,视图行列与基本表行列对应。例1.建立信息系学生的视图。CREATE VIEW IS_Student ASSELECT Sno, Sname, Sage FROM Student WHERE Sdept = ’信息’定义多源表视图。例2.建立查询信息系选了C01课程的学生的视图,列出学号,姓名和年龄。CREATE VIEW V_IS_S1(Sno, Sname, Grade)AS SELECT Student.Sno, Sname, Sage FROM Student, SC WHERE Sdept = ‘信息系’ AND Student.Sno = SC.Sno AND SC.Cno = ‘C01’ 视图的数据源可以来自其它的视图。例3.利用例2建立的视图,建立信息系选了C01课程且成绩在90分以上的学生的视图。CREATE VIEW V_IS_S2(Sno, Sname, Grade)ASSELECT Student.Sno, Sname, Sage FROM V_IS_S1 WHERE Grade = 90 定义带表达式的视图。例5.定义一个查询学生学号、姓名和出生年份的视图。CREATE VIEW V_BirthYear (Sno, Sname, BirthYear) AS SELECT Sno, Sname, 2010-Sage FROM Student含分组统计信息的视图。例6.定义一个查询每个学生的学号及考试平均成绩的视图。CREATE VIEW S_G(Sno, AvgGrade) AS SELECT Sno, AVG(Grade) FROM SC GROUP BY Sno 通过视图查询数据视图定义好后,可以对其进行查询,通过视图查询数据同基本表一样。例8.查询信息系选修了“C01”的学生学号、姓名和年龄。SELECT Sno, Sname, Sage FROM IS_Student JOIN SC ON IS.Student.Sno = SC.Sno WHERE Cno = C01 例9.查询信息系学生的学号、姓名、所选课程的课程名。SELECT v.Sno,Sname,Cname FROM IS_Student v JOIN SC ON v.Sno = SC.Sno JOIN Course C ON C.Cno = SC.Cno转换成相关基本表的等价查询SELECT S.Sno,Sname,Cname FROM Student S JOIN SC ON S.Sno = SC.Sno JOIN Course C ON C.Cno = SC.Cno WHERE Sdept = 信息系修改视图格式: ALTER VIEW 视图名 [ ( 列名 [ ,...n ] ) ] AS 查询语句例11.修改例6定义的视图,使其统计每个学生的考试平均成绩和修课总门数。 ALTER VIEW S_G(Sno,AvgGrade,Count_Cno) AS SELECT Sno, AVG(Grade), Count(*) FROM SC GROUP BY Sno 删除视图格式:DROP VIEW 视图名 例.删除例1定义的IS_Student视图。 DROP VIEW IS_Student 视图的作用简化数据查询语句使用户能从多角度看待同一数据提高了数据的安全性提供了一定程度的逻辑独立性
显示全部
相似文档