ylbtech-DB-概念-同义词:同义词/Synonym |
同义词的概念 :英文(synonym)是指向其它数据库表的数据库指针。同义词有私有(private)和公共(public)两种类型。
1.返回顶部 |
1、
2、
2.返回顶部 |
1、
在数据库中的概念
同义词有两种类型:私有(private)和公共(public)。私有的同义词是在指定的模式中创建并且只有创建者使用的模式访问。公共同义词是由public 指定的模式访问,所有数据库模式(用户)都可以访问它。
对于同一服务器上的不同数据库,我们可以使用Synonym,将其他数据库中的表或view(试图)或sprocs(存储过程)及udf(函数)在本数据库中映射别名。这样,就可以不用更改连接字符串,而在当前对话数据库的情况下,获取其他数据库的数据,并对它进行,查询,更新,删除和插入工作。
(2)同义词的作用
(a) 多用户协同开发中,可以屏蔽对象的名字及其持有者。
如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。
(b) 为用户简化sql语句。如果自己建的表的名字很长,可以为这个表创建一个同义词来简化sql开发。
(c)为分布式数据库的远程对象提供位置透明性。
如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。
(b) 为用户简化sql语句。如果自己建的表的名字很长,可以为这个表创建一个同义词来简化sql开发。
(c)为分布式数据库的远程对象提供位置透明性。
在数据结构中的概念
2、
3.返回顶部 |
1.1、
在存储过程中使用同义词
重要
此功能将 Windows 的未来版本中删除。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 相反,使用提供的 Oracle 的 ODBC 驱动程序。
Microsoft ODBC Driver for Oracle 版本 2.0 和 2.5 调用 Oracle 存储过程时不支持同义词。 同义词正常工作,与其他 Oracle 数据库对象,如表一起使用时。
1.2、
2、
4.返回顶部 |
1、
注1:?在适用EF调用同义词存储过程,提示“存储过程不存在”;适用ADO.NET 可以正常访问。
2、
5.返回顶部 |
1、
2、
6.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |