首页 > 编程知识 正文

oracle视图的作用,视图在数据库安全中的作用

时间:2023-05-05 01:40:22 阅读:110547 作者:2456

一.视图的概念是什么? 视图是从一个或多个基本表(视图)导出的表。

个人理解:从创建的SQL语句来看,该语句通常包含SELECT语句。 因此,视图必然基于表而产生,基于存在的视图而产生,其基础仍然是基本表。

二.视图的作用1、简化用户的操作。

在数据库开发过程中,一些业务经常需要复杂的查询才能满足,但视图的最直接效果是可以将复杂的查询“包装”在类似于编程方法调用的简单查询中。 例如,如果一个业务查询需要多个表连接查询,并且还需要使用判断语句,则一个查询语句可能包含数百个字符。 当将数百个字符的select语句写入APP应用程序或配置文件时,往往难以维护。 为了解决这个问题,数据库开发人员可以创建一个视图,将复杂的查询语句简化为常见的“单表查询”。 这样的select语句经常在APP应用程序中维护。

2、一定程度上减少了应用程序和数据库表之间的耦合性。

通过在视图的字段名后附加别名,可以在数据库基本表的表结构更改后,不需要在APP中更改查询视图以检索数据的语句。

3、一定程度上屏蔽了表结构等敏感信息。

在数据库中,可以将视图的查询权限授予相关用户,但可以不将基本表的查询权限授予这些用户。 在数据库管理系统中,这起到了隐藏机密信息的作用。

4、使不同用户从不同角度使用同一份数据。

如果一个基础表包含大量信息,则基于同一基础表的表可以生成多个视图,不同的视图具有不同的业务含义。 允许不同的用户从不同的角度使用相同的数据。

三、更新视图此处的更新视图是指DML操作,即update、delete、insert。 不是更新视图定义。 通常,基于基本表的视图是可更新的。

1、只读视图

如果用户不希望通过视图修改数据,则可以不授予用户该视图的update、delete和insert权限。 您还可以在创建视图时使用with read only设置只读属性。 两种方法的选择因业务而异。

2、其他不可更新视图的情况

)1)视图是基于多表导出的。

)2)视图文中的字段由字段表达式生成。

)3)视图语句中出现聚合函数。

)视图语句中包含group by、distinct等语句。

)视图语句中包含嵌套查询。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。