O que são synonyms?
Synonyms são objetos de banco de dados que fornecem um nome alternativo para outro objeto de banco de dados, como uma tabela, uma view, uma sequence, uma stored procedure ou uma função. Synonyms podem ser usados para simplificar o acesso a objetos de banco de dados que têm nomes longos ou complexos, ou que estão localizados em outro esquema ou banco de dados. Synonyms também podem fornecer um nível de abstração e segurança, pois os usuários podem acessar os objetos de banco de dados sem conhecer seus detalhes internos ou sua localização física.
Tipos de synonyms
Os synonyms podem ser tanto públicos quanto privados. Um synonym público é acessível para qualquer usuário do banco de dados. Contudo cada usuário deve ter o privilégio apropriado sobre o objeto referenciado pelo synonym. Referência
Um synonym privado, por sua vez, é contido no schema de um usuário específico e fica acessível para o próprio owner e para usuários para os quais foram concedidos o privilégio de acesso. Se a clausula PUBLIC
for omitida na criação do synonym, o synonym é criado como privado.
Precedência entre synonyms públicos e privados
A precedência entre synonym privado e synonym público depende do contexto em que eles são usados. Em geral, um synonym privado é um nome alternativo para um objeto que só pode ser acessado pelo seu dono, enquanto um synonym público é um nome alternativo para um objeto que pode ser acessado por qualquer usuário. No entanto, existem algumas situações em que a precedência pode variar. Por exemplo, se um usuário criar um synonym privado com o mesmo nome de um synonym público, o synonym privado terá precedência sobre o synonym público na sua sessão. Isso significa que, ao usar o nome do synonym, o usuário irá se referir ao objeto associado ao seu synonym privado, e não ao objeto associado ao synonym público. Já se outro usuário usar o mesmo nome do synonym, ele irá se referir ao objeto associado ao synonym público, pois ele não tem acesso ao synonym privado.
Considerando essa informação, é importante evitar criar synonyms privados com nomes de synonyms públicos, para não gerar confusão ou ambiguidade.
0 Comentários