oracle数据库视图?Oracle数据库-视图的概念
大家好,如果您还对oracle数据库视图不太了解,没有关系,今天就由本站为大家分享oracle数据库视图的知识,包括Oracle数据库-视图的概念的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
数据库报表的视图有几种每种视图的功能是什么
1、关系视图:Oracle视图是作为数据库对象存在的,因此,创建之后也可以通过工具或数据字典来查看视图的相关信息。
2、内嵌视图:在from语句中的可以把表改成一个子查询,内嵌视图为子查询的一种,可以与数据表、视图一样作为查询语句的数据源存在,但在形式上有较大的区别,内嵌视图不必使用create view命令进行创建,因此,在数据字典中也无法获得相应信息。
内嵌视图的特点在于无须创建真正的数据库对象,而只是封装查询,因此会节约数据库资源,同时不会增加维护成本。但是内嵌视图不具有可复用性,因此当预期将在多处调用到同一查询定义时,还是应该使用关系视图。
3、对象视图:对象类型在数据库编程中有许多好处,但有时,应用程序已经开发完成。为了迎合对象类型而重建数据表是不现实的。对象视图正是解决这一问题的优秀策略。
对象视图创建之后,同样可以在数据字典中获得其相应信息。利用Oracle内置视图user_views可以获得对象视图相关信息。Oracle中的对象数据实际仍然以关系数据的形式存储。
但是,对象的特性,例如继承、封装等,都为开发人员提供了更加灵活的处理形式。同样,可以构造复杂的对象类型来封装复杂的多表查询。
4、物化视图:常用于数据库的容灾,不是传统意义上虚拟视图,是实体化视图,和表一样可以存储数据、查询数据。主备数据库数据同步通过物化视图实现,主备数据库通过data link连接,在主备数据库物化视图进行数据复制。当主数据库垮掉时,备数据库接管,实现容灾。
扩展资料
视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。视图可以在以下几个方面使程序与数据独立:
1、如果应用建立在数据库表上,当数据库表发生变化时,可以在表上建立视图,通过视图屏蔽表的变化,从而应用程序可以不动。
2、如果应用建立在数据库表上,当应用发生变化时,可以在表上建立视图,通过视图屏蔽应用的变化,从而使数据库表不动。
3、如果应用建立在视图上,当数据库表发生变化时,可以在表上修改视图,通过视图屏蔽表的变化,从而应用程序可以不动。
4、如果应用建立在视图上,当应用发生变化时,可以在表上修改视图,通过视图屏蔽应用的变化,从而数据库可以不动。
参考资料来源:百度百科-数据库视图
参考资料来源:百度百科-视图
oracle怎样区分表和视图
举个例子
如果你是大学数据库管理员,为学校每个人都建立了户名和密码。记录在一个表中,如果大学还有分校,分校里也有数据库管理员,你可以给他建立个视图。因为查看视图的内容实际是运行建立视图的sql语句。所以当用户自己修改自己用户信息时,主表改变,查询视图时也同时输出最新的信息。如果你给分校里数据库管理员建立是表,那么用户自己修改自己用户信息时,必须得把原始表和新建表的内容都改了才行。否则你和分校里数据库管理员看到的信息不一样,这样就比建视图增加了许多麻烦。同时新建表也要占硬盘的存储空间。而查看视图的内容实际是运行建立视图的sql语句,所以不占硬盘的存储空间。
另外,虚机团上产品团购,超级便宜
oracle中表和视图的区别
表与视图的关系:两者处于不同的层次;表是真实存在的结构,而视图可以认为是虚拟的表。表是数据库中的主要结构,它总是表示单个的、特定的集合。每个表至少包含一个字段,即一个主键,他唯一地标识表的每条记录。视图是由来自数据库中的一个或多个表或多个表的字段所组成的一个虚拟的表。实际上它自身不存储任何数据,存储在数据库中的有关视图的唯一信息几句是它的结构。基表和视图的关联关系就是视图是以基表为基础的select语句构建出来的。
Oracle数据库-视图的概念
一视图概念
视图是原始数据库数据的一种变换是查看表中数据的另外一种方式可以将视图看成是一个移动的窗口通过它可以看到感兴趣的数据
视图是从一个或多个实际表中获得的这些表的数据存放在数据库中那些用于产生视图的表叫做该视图的基表一个视图也可以从另一个视图中产生
视图的定义存在数据库中与此定义相关的数据并没有再存一份于数据库中通过视图看到的数据存放在基表中
视图看上去非常象数据库的物理表对它的操作同任何其它的表一样当通过视图修改数据时实际上是在改变基表中的数据相反地基表数据的改变也会自动反映在由基表产生的视图中由于逻辑上的原因有些视图可以修改对应的基表有些则不能(仅仅能查询)
二视图的作用
*简单性看到的就是需要的视图不仅可以简化用户对数据的理解也可以简化他们的操作那些被经常使用的查询可以被定义为视图从而使得用户不必为以后的操作每次指定全部的条件
*安全性通过视图用户只能查询和修改他们所能见到的数据数据库中的其它数据则既看不见也取不到数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上但不能授权到数据库特定行和特定的列上通过视图用户可以被限制在数据的不同子集上
使用权限可被限制在基表的行的子集上
使用权限可被限制在基表的列的子集上
使用权限可被限制在基表的行和列的子集上
使用权限可被限制在多个基表的连接所限定的行上
使用权限可被限制在基表中的数据的统计汇总上
使用权限可被限制在另一视图的一个子集上或是一些视图和基表合并后的子集上
*逻辑数据独立性视图可帮助用户屏蔽真实表结构变化带来的影响
三视图的安全性
视图的安全性可以防止未授权用户查看特定的行或列是用户只能看到表中特定行的方法如下
在表中增加一个标志用户名的列
建立视图是用户只能看到标有自己用户名的行
把视图授权给其他用户
四逻辑数据独立性
视图可以使应用程序和数据库表在一定程度上独立如果没有视图应用一定是建立在表上的有了视图之后程序可以建立在视图之上从而程序与数据库表被视图分割开来视图可以在以下几个方面使程序与数据独立
如果应用建立在数据库表上当数据库表发生变化时可以在表上建立视图通过视图屏蔽表的变化从而应用程序可以不动
如果应用建立在数据库表上当应用发生变化时可以在表上建立视图通过视图屏蔽应用的变化从而使数据库表不动
如果应用建立在视图上当数据库表发生变化时可以在表上修改视图通过视图屏蔽表的变化从而应用程序可以不动
lishixinzhi/Article/program/Oracle/201311/16872关于本次oracle数据库视图和Oracle数据库-视图的概念的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。