一部のエンタープライズシステムでは、制御できないリモートオブジェクトを処理する必要がある場合があります。たとえば、別の部門またはチームによって維持されているデータベース。
シノニムは、基になるオブジェクトの名前と場所をSQLコードから切り離すのに役立ちます。そうすれば、必要なテーブルが新しいサーバー/データベースに移動されたり、名前が変更されたりした場合でも、シノニムテーブルに対してコーディングできます。
たとえば、次のようなクエリを作成できます。
insert into MyTable
(...)
select ...
from remoteServer.remoteDatabase.dbo.Employee
しかし、サーバー、データベース、スキーマ、またはテーブルが変更されると、コードに影響を与えます。代わりに、リモートサーバーのシノニムを作成し、代わりにシノニムを使用できます。
insert into MyTable
(...)
select ...
from EmployeeSynonym
基になるオブジェクトが場所または名前を変更した場合、新しいオブジェクトを指すようにシノニムを更新するだけで済みます。