Sinônimo vs Alias (em bancos de dados ORACLE) | Sinônimos privados e sinônimos públicos
Em inglês, sinônimo e alias têm quase os mesmos significados. Mas em bancos de dados, essas são duas coisas diferentes. Especialmente em bancos de dados ORACLE, ambos os usos são diferentes. Sinônimos são usados para se referir a objetos de um esquema ou banco de dados de outro esquema. Portanto, sinônimo é um tipo de objeto de banco de dados. Mas os apelidos estão vindo de uma maneira diferente. Que significa; eles não são objetos de banco de dados. Aliases são usados para fazer referência a tabelas, visualizações e colunas dentro de consultas.
Sinônimos
Esses são um tipo de objeto de banco de dados. Eles se referem a outros objetos no banco de dados. O uso mais comum de sinônimo é referir-se a um objeto de um esquema separado usando outro nome. Mas sinônimos podem ser criados para se referir a 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, sequências, visualizações materializadas, objetos de classe java e gatilhos podem ser usados como referências para os sinônimos. Existem dois tipos de sinônimos.
- Sinônimos privados (podem ser usados apenas pelo usuário que os criou).
- Sinônimos públicos (podem ser usados por todos os usuários que têm os privilégios apropriados)
Aqui, está uma sintaxe simples para criar um sinônimo em um banco de dados separado, crie o sinônimo myschema.mytable1 para [email protected] _link1
Como temos um sinônimo denominado mytable1 em meu esquema para [email protected] _link1 (tabela de banco de dados distribuída), podemos facilmente consultar a tabela de banco de dados distribuída usando mytable1. Não precisamos usar o nome de objeto longo com link de banco de dados em todos os lugares.
Pseudônimo
Esses são apenas outro nome para uma visão, uma tabela ou uma coluna dentro de uma consulta. Eles não são objetos de banco de dados. Portanto, os aliases não são válidos em todos os lugares do esquema / banco de dados. Eles são válidos apenas dentro da consulta. Vejamos este exemplo,
selecione tab1.col1 como c1, tab2.col2 como c2
de user1.tab1 tab1, user1.tab2 tab2
onde tab1.col1 = tab2.col2
Aqui, c1 e c2 são apelidos de coluna, que são usados para tab1.col1 e tab2.col2, e tab1 e tab2 são apelidos de tabela, que são usados para user1.table1 e user2.table2. Todos esses apelidos são válidos apenas dentro desta consulta.
Qual é a diferença entre Sinônimo e Alias (em bancos de dados ORACLE)? Sinônimos são um tipo de objeto de banco de dados. Mas os apelidos são apenas um nome para se referir a uma tabela, visão ou coluna dentro de uma consulta. Não é um objeto de banco de dadosSinônimos podem ser criados para tabelas, visões, funções, procedimentos, pacotes, sequências, visões materializadas, tipos de objetos de classe java e gatilhos. Mas os aliases são usados apenas para visualizações, tabelas e suas colunasVisto que 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 apelidos válidos dentro da consulta onde estão sendo usadosCada esquema precisa do privilégio “criar sinônimo” para criar sinônimos. Mas não há nenhum privilégio de usar aliases |