Oracle视图基础详解与实例-mysql教程
摘要:本篇笔记记录关于视图的一些认识、从概念、优缺点到
视图是基于一张表或多张表或另外一个视图的逻辑表。视图不同于表,视图本身不包含任何数据。表是实际独立存在的实体,是用于存储 摘要:本篇笔记记录关于视图的一些认识、从概念、优缺点到应用以及注意事项。 一:概念 视图是基于一张表或多张表或另外一个视图的逻辑表。视图不同于表,视图本身不包含任何数据。表是实际独立存在的实体,是用于存储数据的基本结构。而视图只是一种定义,对应一个查询语句。视图的数据都来自于某些表,,这些表被称为基表。数据库中只在数据字典中存储对视图的定义。 二:优点 1、为用户集中数据,简化用户的数据查询和处理。 2、屏蔽数据库的复杂性mysql数据表,用户不必了解数据库的复杂性。 3、简化用户权限的管理,只授予用户使用视图的权限。 4、可以提高数据访问的安全性,通过视图往往只可以访问数据库中表的特定部分,限制了用户访问表的全部行和列。 5、便于数据共享,多个用户不必都定义所需的数据。 三:视图类别 1、简单视图 指基于单个表并且不包含函数或表达式的视图,在该视图上可以执行DML语句(即可执行增、删、改操作)。 2、复杂视图 指基于单个或者多个表或者包含函数、表达式或者分组数据的视图,在该视图上执行DML语句时必须要符合特定条件。注意:在定义复杂视图时必须为函数或表达式定义别名 3、连接视图 指基于多个表建立的视图,一般来说不会在该视图上执行INSERT、UPDATE、DELETE操作。 4、只读视图 指只允许进行SELECT操作的视图,在该视图时指定WITH READ ONLY选项。该视图上不能执行INSERT、UPDATE、DELETE操作。 5、check约束视图 WITH CHECK OPTION用于在视图上定义CHECK约束,即在该视图上执行INSERT或UPDATE操作时,数据必须符合查询结果. 四:创建视图 1、基本语法 CREATE [OR REPLACE] VIEW view_name [(column_name1[,column_name2… AS select_statement [WITH CHECK OPTION] [WITH READ ONLY] 2、参数说明 CREATE OR Repalce:用于创建和修改视图 WITH CHECK OPTION :用于创建限制数据访问的视图 WITH READ ONLY :用于创建只读视图 3、DML操作遵循的原则 a)简单视图可以执行DML操作。 b)在视图出现下列情况时不可以通过视图修改基表数据或插入数据: i、集合运算符(union,intersect,minus) ii、DISTINCT关键字 iii、 v、子查询 vi、分组函数 vii、需要更新的列不是由“列表达式”定义的 vx、 (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |