视图是一个或多个表或基于另一个视图的逻辑表。 视图与表不同,视图本身不包含数据。 表实际上是独立存在的,用于存储
摘要:本笔记提供了对视图的一些认识、概念、优缺点到应用、注意事项。
一)概念
视图是一个或多个表或基于另一个视图的逻辑表。 视图与表不同,视图本身不包含数据。 表是实际上独立存在的实体,是存储数据的基本结构。 视图只是与查询语句相对应的定义。 视图中的数据来自几个称为基表的表。 仅将视图的定义存储在数据字典中。
2 )好处
1、为用户集中数据,简化用户数据查询和处理。
2、屏蔽数据库的复杂性,用户不需要了解数据库的复杂性。
3、简化用户权限管理,只授予用户使用视图的权限。
4 .可以提高数据访问的安全性,经常只能通过视图访问数据库中表的特定部分,限制了用户访问表的所有行和列。
5、数据共享方便,无需多个用户定义所需数据。
三.视图类别
1、简单视图
基于单个表,但不包含函数或表达式的视图。 在此视图中,可以执行DML语句。 这意味着可以执行添加、删除和更改操作。
2、复杂视图
在该视图中执行DML语句时,必须满足特定条件(基于单个或多个表或包含函数、表达式或分组数据的视图)。 注意:定义复杂视图时,必须定义函数或表达式的别名
3、连接视图
基于多个表创建的视图,通常不在此视图中执行INSERT、UPDATE或DELETE操作。
4、只读视图
指向只允许选择操作的视图,并在该视图中指定WITH READ ONLY选项。 无法在此视图中执行INSERT、UPDATE或DELETE操作。
5 .检查约束视图
“使用检查选项”用于在视图中定义检查约束条件。 也就是说,在视图中执行INSERT或UPDATE操作时,数据必须与查询结果匹配。
四.创建视图
1、基本语法
create [ or replace ] view view _ name [ (column _ name1[,column_name2…
AS
select_statement
[WITH CHECK OPTION]
[ with只读]
2、参数说明
创建或替换:用于创建和修改视图
WITH CHECK OPTION :创建限制对数据访问的视图
仅读:用于创建只读视图
3、DML操作遵循的原则
a )可以在简单视图中执行DML操作。
b )如果视图出现以下情况,则无法从视图中更改基表中的数据或插入数据:
I,集合运算符(union、intersect、minus ) )。
ii、DISTINCT关键字
iii、
v,子查询
vi,分组函数
vii,需要更新的列未在“列表达式”中定义
vx、
这篇技术文章来自网络。 如果您不打算侵犯您的权益,请单击此处反馈版权投诉。 php中文网