文档详情

数据库系统原理介绍 第五讲.pdf

发布:2018-08-11约6.28千字共17页下载文档
文本预览下载声明
数据库系统原理 1 关系模型 SQL语言(3)  视图  索引 2 视图  在某些情况下,让所有用户看到整个逻辑模型是不合适的  考虑一个职员需要知道教师的标识、姓名和所在系名,但是没有权限 看到教师的工资值。此人应该看到的关系由如下SQL语句所描述: select ID, name, dept_name from instructor  视图就提供了这种机制:向用户隐藏特定的数据  SQL允许通过查询来定义“虚关系”,它在概念上包含查询的结果, 但并不预先计算并存储。像这种作为虚关系对用户可见的关系称为视 图(view) 3 视图定义  在SQL中,我们用create view命令定义视图,命令的格式为: create view v as query expression  query expression 可以是任何合法的查询表达式  v 表示视图名  使用视图的目的:安全及易于使用  对应地,删除视图,使用命令: drop view v  例,重新考虑需要访问 instructor关系中除salary之外的所有数据, 此视图的定义如下: create view faculty as select ID, name, dept_name from instructor 4 视图定义  例,创建一个视图,列出Physics系在2009年秋季学期开设的所有课 程,以及每个课程在哪栋建筑的哪个房间授课的信息 create view physics_fall_2009 as select course.course_id, sec_id, building, room_number from course, section where course.course_id = section.course_id and course.dept_name = ’Physics’ and section.semester = ’Fall’ and section.year = ’2009’; 5 视图定义  视图的属性名也可以按下述方式显示指定  例,列出每个系中所有教师的工资总和 create view departments_total_salary (dept_name, total_salary) as select dept_name, sum (salary) from instructor group by dept_name ;  当我们定义一个视图时,数据库系统存储视图定义本身,而不存储定义 该视图的查询表达式的执行结果 6 SQL查询中使用视图  一旦定义了一个
显示全部
相似文档