sql >> Database >  >> RDS >> Sqlserver

Wat is het nut van SYNONYM?

In sommige bedrijfssystemen kunt u te maken krijgen met objecten op afstand waarover u geen controle hebt. Bijvoorbeeld een database die wordt onderhouden door een andere afdeling of team.

Synoniemen kunnen u helpen de naam en locatie van het onderliggende object los te koppelen van uw SQL-code. Op die manier kunt u coderen tegen een synoniemtabel, zelfs als de gewenste tabel naar een nieuwe server/database is verplaatst of hernoemd.

Ik zou bijvoorbeeld een vraag als deze kunnen schrijven:

insert into MyTable
(...)
select ... 
from remoteServer.remoteDatabase.dbo.Employee

maar als de server of database, het schema of de tabel verandert, heeft dit invloed op mijn code. In plaats daarvan kan ik een synoniem voor de externe server maken en in plaats daarvan het synoniem gebruiken:

insert into MyTable
(...)
select ... 
from EmployeeSynonym

Als het onderliggende object van locatie of naam verandert, hoef ik alleen mijn synoniem bij te werken om naar het nieuwe object te verwijzen.

http://www.mssqltips.com/sqlservertip/1820/use-synonyms-to-abstract-the-location-of-sql-server-database-objects/



  1. Uitvoeringsvolgorde van Group By, Having en Where-clausule in SQL Server?

  2. MySql:Selecteer een instructie met de IN-operator

  3. Sorteer lijst met tuples rekening houdend met locale (Zweedse volgorde)

  4. Hoe de prestaties voor bulk-INSERT's naar ODBC-gekoppelde tabellen in Access te verbeteren?