为什么要使用同义词,syNONYMS IN SQL的优点?同义词IN SQL的优点?
回答
它们只是数据库内对象的简写名称。例如,如果在名为ProductionControl.Inventory.Products
的数据库中有名称空间的表,则可以创建名为Products
的同义词。它们在控制对存储过程中其他数据库的命名访问时也很方便。如果您有SP引用其他数据库中的表,则创建同义词并使用它代替了同义词的目标发生更改时的更多控制。这在您具有引用开发数据库的SP的情况下非常有用,但在部署到生产时名称不同。所以你只需更新同义词就可以了。
请不要成为这些傻瓜之一,他们只是调用第一个别名'a',下一个'b',下一个'c',然后再次重新开始子查询。它使它不可读。 – 2011-03-18 11:34:45
从MSDN Understanding Synonyms
同义词是一个数据库对象 有以下用途:
提供了一种替代的名称为另一数据库对象,称为 作为基础对象,可以在 本地或远程服务器上存在。
提供了一个抽象层,它保护客户端应用程序 免受对基础对象的名称或 位置所做的更改。
在一些企业系统中,你可能不得不处理过,你有没有控制远程对象。例如,由另一个部门或团队维护的数据库。
同义词可以帮助您从SQL代码中分离底层对象的名称和位置。这样,即使您想要的表移动到新的服务器/数据库或重命名,您也可以对同义词表进行编码。
例如,我可以写一个这样的查询:
insert into MyTable
(...)
select ...
from remoteServer.remoteDatabase.dbo.Employee
但随后如果服务器或数据库,模式或表更改它会影响我的代码。相反,我可以创建远程服务器的代名词,使用同义词代替:
insert into MyTable
(...)
select ...
from EmployeeSynonym
如果底层的对象改变位置或名称,我只需要更新我的代名词指向新的对象。的
- 1. AWS - SQL Server同义词库
- 2. SQL Server表的同义词指数
- 3. 带同义词的SQL动态查询
- 4. SQL的工作难点IN
- 5. SQL Server同义词性能与视图
- 6. Sql Server 2008复制同义词?
- 7. Crystal Reports 9和Sql Server同义词?
- 8. MS-SQL 2012序列同义词
- 9. SQL Server - 同义词提示与技巧?
- 10. ApprovalWorkflow的同义词
- 11. 查找多词词组的同义词
- 12. ORA-01775:没有同义词的同义词循环链接
- 13. 单词包装优点/缺点
- 14. IN谓词如何在SQL中工作?
- 15. 优化Oracle SQL与大“IN”子句
- 16. SQL查询优化与NOT IN语句
- 17. 提取单词的同义词
- 18. 查找wordnet中单词的同义词
- 19. 停用词和同义词在Nutch的
- 20. 使用同义词
- 21. 使用词网找到没有名词同义词或至少有一个名词同义词的词条
- 22. EF查询-SQL“IN” - 同表
- 23. 同义词搜索应用
- 24. 使用Lucene的同义词
- 25. “文件”的同义词
- 26. Solr的NGRAM同义词Dismax
- 27. Solr的同义词,空间
- 28. 定义了Clojure宏的同义词
- 29. dismax feat。停用词,同义词等
- 30. 弹性同义词使用
可能重复[什么是SQL Server 2008中使用同义词?](http://stackoverflow.com/questions/1246006/what-is-the-use-of-synonym-in -sql-server-2008) – FistOfFury 2014-09-29 14:39:54