应该何时使用数据库同义词?

aw *_*rud 29 sql oracle database-design plsql synonym

我已经得到了语法,但我想知道是否有人可以提供一个说明性的用例,其中数据库同义词非常有用.

Jor*_*mer 19

它非常适合在测试时暂存模拟表.例如,如果源表包含数百万条记录,并且您希望测试一小部分数据,则可以使用同义词将源表重定向到您控制的较小表,以便您可以进行各种场景的演示.

这样,您可以更新/删除模拟表中的数据,而不会影响源表.当您准备使用源表时,您需要做的就是重新定义同义词.

  • @Darren Atkinson:如果您决定整合数据库,公共同义词会增加名称归类的可能性. (2认同)

a'r*_*a'r 10

查看有关同义词Oracle文档.

除了这里的其他答案,它们还常用于:

  • 为远程表提供易于使用的名称,即通过数据库链接
  • 您需要所有用户都可以访问的表,即公共同义词


Fru*_*ner 6

我经常看到当DBA希望将数据库对象分成不同的模式时使用的同义词,但是希望/需要其中一些模式对其他模式可见(但不希望直接访问它们).

我最近看到的一个例子:由同一家公司运营的几个网络应用程序.用户通常可以访问多个这些应用程序,并且只有一个用户帐户才能访问这些应用程序.用户帐户信息存储在USER_ACCOUNTS模式中,所有其他应用程序都在自己的模式中,并USER_ACCOUNTS通过同义词访问模式.