课件与代码参考11_视图_同义词.ppt
文本预览下载声明
—高级软件人才实作培训专家! —高级软件人才实作培训专家! 北京传智播客教育 视图和同义词 讲师: 赵君 北京传智播客教育 通过本章学习,您将可以: 创建简单和复杂视图 从视图中获取数据 创建与删除同义词 目标 北京传智播客教育 常见的数据库对象 对象 描述 表 基本的数据存储集合,由行和列组成。 视图 从表中抽出的逻辑上相关的数据集合。 序列 提供有规律的数值。 索引 提高查询的效率 同义词 给对象起别名 北京传智播客教育 表EMPLOYEES : 视图 视图的优点 北京传智播客教育 限制数据访问 简化复杂查询 提供数据的相互独立 同样的数据,可以有不同的显示方式 切记:视图不能提高效率 北京传智播客教育 特性 简单视图 复杂视图 表的数量 一个 二个或多个 函数 没有 有 分组 没有 有 DML 操作 可以 可以 简单视图和复杂视图 注意:不建议通过视图对表进行修改 视图 视图是一种虚表. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句. 视图向用户提供基表数据的另一种表现形式 银行,电信,金属,证券等安全性较高的系统多用视图 部分企业中,程序员查询的“所谓的表”,其实是视图 北京传智播客教育 创建视图 使用下面的语法格式创建视图 WITH READ ONLY:该视图只能做查询操作 子查询可以是简单或复杂的 SELECT 语句 CREATE [OR REPLACE] VIEW view [(alias[, alias]...)] AS subquery [WITH READ ONLY]; 北京传智播客教育 创建视图 创建视图举例 描述视图结构 DESCRIBE empvu80 CREATE VIEW empvu80 AS SELECT employee_id, last_name, salary FROM employees WHERE department_id = 80; View created. 北京传智播客教育 创建视图 创建视图时在子查询中给列定义别名 在选择视图中的列时应使用别名 CREATE VIEW salvu50 AS SELECT employee_id ID_NUMBER, last_name NAME, salary*12 ANN_SALARY FROM employees WHERE department_id = 50; View created. 北京传智播客教育 SELECT * FROM salvu50; 查询视图 北京传智播客教育 修改视图 使用CREATE OR REPLACE VIEW 子句修改视图 CREATE VIEW 子句中各列的别名应和子查询中各列相对应 CREATE OR REPLACE VIEW empvu80 (id_number, name, sal, department_id) AS SELECT employee_id, first_name || || last_name, salary, department_id FROM employees WHERE department_id = 80; View created. 北京传智播客教育 创建复杂视图 复杂视图举例:查询各个部门的最低工资,最高工资,平均工资 CREATE VIEW dept_sum_vu (name, minsal, maxsal, avgsal) AS SELECT d.department_name, MIN(e.salary), MAX(e.salary),AVG(e.salary) FROM employees e, departments d WHERE e.department_id = d.department_id GROUP BY d.department_name; View created. 北京传智播客教育 视图中使用DML的规定 可以在简单视图中执行 DML 操作 当视图定义中包含以下元素之一时不能使用delete: 组函
显示全部