可参考文章:Oracle中的视图和同义词_没有伞的孩子必须努力奔跑!—小林-CSDN博客_oracle视图同义词
一.视图
1.视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。
2.视图不是真正的表,它是一张虚表,不会要求分配存储空间,也不包含实际的数据。
3.视图只定义了查询,视图中的数据从基表中获取,这些数据在视图被引用时,动态生成。
4.不管是视图还是同义词,想要修改数据都要修改源表才行
5.视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐藏了数据来源于多个表的事实。
6.当用户用SQL语句调用视图时,Oracle将:引用视图的语句+视图定义语句整合为一个语句。在共享SQL 区解析整合后的语句 ,执行此语句
7.视图依赖 基表。当基表发生变化时,Oracle 将自动检查新的基表是否符合视图的定义并判断视图的有效性。
二.同义词
1.Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。
2.同义词是数据库对象的一个别名,可以是视图授权过来的
3.同样,要修改数据,也不能从同义词层面修改,需要修改源表
4.避免应用程序直接访问数据库对象,提高数据库安全性。因为同义词是需要授权的
三.视图和同义词的区别
1.视图可以对应一张或多张表,同义词只能对应一张表名称(也可以是一个视图名)
2.别的我还没接触到
四.我遇到的通过同义词找源表
1.我最开始看到的同义词(synonyms)
2.从上边能看到用户是TEST1,去TEST1用户对应的数据库中查看
3.我所看到的这个视图,就是一个查询结果集
所以他的源表变化,我最后在同义词中,是可以实时看到更新的