视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle中视图和同义词的区别
2020-11-09 11:57:08 责编:小采
文档


视图和同义词分别都是数据库中的对象名称,它们都不对应实际的数据存储,都依赖其他对象的存在而存在。视图:视图可以被看成是虚

视图和同义词分别都是数据库中的对象名称,它们都不对应实际的数据存储,都依赖其他对象的存在而存在。
视图:视图可以被看成是虚拟表或存储查询。除非是索引视图,否则视图的数据不会作为非重复对象存储在数据库中。一般是基于一个或多个数据表经数据查询语句构建而成;视图可以再被用于数据查询语句中。

同义词:是架构范围内的对象的另一名称。通过使用同义词,客户端应用程序可以使用由一部分组成的名称来引用基对象,,而不必使用由两部分、三部分或四部分组成的名称。可以理解为是对数据库中一个对象的快捷方式或者在特定范围内的别名;不限于数据表,几乎所有的数据库对象都可以建立同义词。
1.视图可以对应一张或多张表,同义词只能对应一张表名称

2.视图可以设置其他约束条件

3.可以在同义词上建立视图:
例如,已经存在一个名为synonym_city的同义词和一个名为table_citys的表,可以创建视图:CREATE OR REPLACE NOFORCE VIEW view_city AS SELECT * FROM synonym_city,table_citys;


4.可以通过对同义词进行任何DML操作,对表数据进行插入、更新、删除,通过对视图只能进行更新和删除操作。

值得注意的是:视图和同义词都可以屏蔽用户访问其他用户拥有的表。
例如:现在存在两个用户:scott、sys,以sys用户登录
创建跨用户表的同义词:
CREATE OR REPLACE PUBLIC SYNONYM SYN_EMP for scott.emp;
创建跨用户的表的视图:
CREATE OR REPLACE VIEW view_EMP AS SELECT * FROM scott.emp

然后进行查询操作:
SELECT * FROM SYN_EMP ;
SELECT * FROM view_EMP ;

查询结果是一样的。

下载本文
显示全文
专题