Diferença entre sinônimo e alias

Anonim

Sinónimo vs Alias ​​ (nos bancos de dados ORACLE) | Sinônimos privado e sinônimo público

Em inglês, sinônimo e alias têm quase os mesmos significados. Mas em bases de dados são duas coisas diferentes. Especialmente nos bancos de dados ORACLE, o uso deles é diferente. Os sinônimos são usados ​​para referir objetos de um esquema ou um banco de dados de outro esquema. Então, o sinônimo é um tipo de objeto de banco de dados. Mas alias estão chegando de uma maneira diferente. Que significa; eles não são objetos de banco de dados. Os alias são usados ​​para referir tabelas, visualizações e colunas dentro de consultas.

Sinônimos

Estes são um tipo de objetos de banco de dados. Eles se referem a outros objetos no banco de dados. O uso mais comum do sinônimo é, referir um objeto de um esquema separado usando outro nome. Mas os sinônimos podem ser criados para encaminhar os objetos de outro banco de dados, também (em bancos de dados distribuídos, usando links de banco de dados). Tabelas, visualizações, funções, procedimentos, pacotes, seqüências, visualizações materializadas, objetos de classe java e disparadores podem ser usados ​​como referências para os sinônimos. Existem dois tipos de sinônimos.

  1. Sinônimos privado (pode ser usado apenas pelo usuário que os criou.)
  2. Sinônimos públicos (podem ser usados ​​por todos os usuários com os privilégios apropriados)

Aqui, é um simples sintaxe para criar um sinônimo em um banco de dados separado, criar synton myschema. mytable1 para userA. table1 @ database_link1

Uma vez que temos um sinônimo chamado mytable1 em myschema para userA. table1 @ database_link1 (tabela de banco de dados distribuído) , podemos consultar facilmente a tabela de banco de dados distribuída usando mytable1. Não precisamos usar o nome do objeto longo com o link do banco de dados em todos os lugares.

Alias ​​

Estes são apenas outro nome para uma visualização, uma tabela ou uma coluna dentro de uma consulta. Eles não são objetos de banco de dados. Portanto, os alias não são válidos em todos os lugares no esquema / banco de dados. Eles são válidos somente dentro da consulta. Deixe-nos ver este exemplo, selecione a guia1. col1 como c1, tab2. col2 como c2

do user1. tab1 tab1, user1. tab2 tab2

onde tab1. col1 = tab2. col2

Aqui, c1 e c2 são alias de coluna, que são usados ​​para tab1. col1 e tab2. col2 e tab1 e ​​tab2 são alias de tabela, que são usados ​​para user1. table1 e user2. mesa 2. Todos esses alias são válidos somente nesta consulta.

Qual a diferença entre Synonym e Alias ​​ (em bancos de dados ORACLE) ?

  • Os sinônimos são um tipo de objeto de banco de dados. Mas os alias são apenas um nome para referir uma tabela, exibição ou uma coluna dentro de uma consulta. Não é um objeto de banco de dados.
  • Os sinônimos podem ser criados para tabelas, visualizações, funções, procedimentos, pacotes, seqüências, visualizações materializadas, tipos de objetos de classe java e disparadores. Mas alias são usados ​​apenas para visualizações, tabelas e suas colunas.
  • Uma vez que os sinônimos são um objeto de banco de dados, eles são válidos dentro do esquema (sinônimo privado) ou dentro do banco de dados (sinônimo público). Mas alias são válidos dentro da consulta onde eles estão sendo usados.
  • Cada esquema precisa "criar sinônimo" privilégio para criar sinônimos. Mas não há nenhum privilégio de usar alias.