O que é um Sinônimo?

 

No Oracle, um sinônimo é um alias (apelido) para outro objeto de banco de dados, como uma tabela, visão, sequência, procedimento armazenado ou outro sinônimo. Eles são usados para simplificar o acesso a objetos de banco de dados e proporcionar um nível de abstração.

Vantagens de Usar Sinônimos

  • Simplificação de Nomes de Objetos: Sinônimos podem tornar mais simples o uso de nomes de objetos complexos ou longos.
  • Facilitação de Mantenabilidade: Eles permitem a mudança de nomes de objetos subjacentes sem impactar os aplicativos que os utilizam.
  • Acesso Transparente: Sinônimos podem ser usados para proporcionar um acesso transparente a objetos localizados em diferentes esquemas ou até mesmo em diferentes bancos de dados.
  • Segurança: Sinônimos podem ajudar a mascarar os nomes reais dos objetos de banco de dados, aumentando a segurança. Eles podem também ser usados para implementar políticas de segurança que restringem o acesso a objetos específicos.
  • Portabilidade de Aplicativos: Sinônimos são úteis quando você deseja mover aplicativos entre diferentes esquemas ou ambientes sem alterar o código SQL. Eles proporcionam uma camada de abstração que desacopla o código do aplicativo da estrutura real do banco de dados.

Tipos de Sinônimos

  • Sinônimo Público: Disponível para todos os usuários do banco de dados.
  • Sinônimo Privado: Disponível apenas para o usuário que o criou.

Como Criar um Sinônimo

 

A criação de um sinônimo no Oracle é feita através do comando CREATE OR REPLACE SYNONYM. Veja um exemplo básico:

 

Sinônimo Privado:

CREATE OR REPLACE SYNONYM func FOR hr.funcionarios;

Neste exemplo, o sinônimo func é criado para a tabela funcionarios no esquema hr.

 

Sinônimo Público:

CREATE OR REPLACE PUBLIC SYNONYM func FOR hr.funcionarios;

Aqui, o sinônimo func está disponível publicamente para todos os usuários.

Utilizando Sinônimos

 

Uma vez criado, o sinônimo pode ser usado em consultas e outros comandos SQL da mesma forma que o objeto original:

 

SELECT * FROM func;

Excluindo um Sinônimo

 

Se um sinônimo não for mais necessário, ele pode ser excluído com o comando DROP SYNONYM:

 

Sinônimo Privado:

DROP SYNONYM func;

Sinônimo Público:

DROP PUBLIC SYNONYM func;

Sinônimos e Dblink

 

Sinônimos podem ser usados em conjunto com links de banco de dados (db link) para simplificar o acesso a objetos em bancos de dados remotos. Isso pode ser especialmente útil em ambientes distribuídos.

 

Exemplo de Sinônimo com DB Link:

CREATE SYNONYM func_remote FOR funcionarios@remote_db;

Neste exemplo, o sinônimo func_remote é criado para a tabela funcionarios em um banco de dados remoto acessado via remote_db link.

Sinônimos e Views

 

Sinônimos podem ser criados para views, facilitando o acesso a dados agregados ou derivados sem expor a complexidade da consulta subjacente.

 

Exemplo de Sinônimo para View:

CREATE VIEW v_funcionarios AS 
SELECT id, nome, salario FROM funcionarios WHERE status = 'ATIVO';

CREATE SYNONYM ativos FOR v_funcionarios;

Aqui, criamos uma view v_funcionarios e, em seguida, um sinônimo ativos para facilitar o acesso aos dados dos funcionários ativos.

Considerações Finais

 

Sinônimos são uma ferramenta útil no Oracle para simplificar o acesso a objetos de banco de dados, melhorar a mantenabilidade e proporcionar um nível de abstração. No entanto, é importante usá-los com cuidado para evitar ambiguidades e garantir que a estrutura do banco de dados permaneça clara.

 

Se quiser saber mais, veja a documentação oficial do Oracle sobre Sinônimos para obter informações detalhadas e exemplos práticos.

 

Se você tiver alguma dúvida ou sugestão, deixe um comentário abaixo!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima