Diferencia entre sinónimo y alias

Sinónimo vs Alias (en las bases de datos ORACLE) | Sinónimos privados y sinónimos públicos.
 

En inglés, sinónimo y alias tienen casi los mismos significados. Pero en las bases de datos son dos cosas diferentes. Especialmente en las bases de datos ORACLE, su uso es diferente. Los sinónimos se utilizan para referir objetos de un esquema o una base de datos de otro esquema. Así que sinónimo es un tipo de objeto de base de datos. Pero los alias vienen de otra manera. Eso significa; no son objetos de base de datos. Los alias se utilizan para referir tablas, vistas y columnas dentro de consultas.

Sinónimos

Estos son un tipo de objetos de base de datos. Se refieren a otros objetos en la base de datos. El uso más común del sinónimo es, para referir un objeto de un esquema separado usando otro nombre. Pero también se pueden crear sinónimos para referir los objetos de otra base de datos (en bases de datos distribuidas, usando enlaces de bases de datos). Las tablas, vistas, funciones, procedimientos, paquetes, secuencias, vistas materializadas, objetos de clase java y activadores pueden usarse como referencias para los sinónimos. Hay dos tipos de sinónimos..

  1.  Sinónimos privados (solo los puede usar el usuario que los creó).
  2.  Sinónimos públicos (pueden ser utilizados por todos los usuarios que tengan los privilegios apropiados)

Aquí, hay una sintaxis simple para crear un sinónimo en una base de datos separada,

crear un sinónimo myschema.mytable1 para [correo electrónico protegido]_link1

Ya que tenemos un sinónimo llamado mytable1 en myschema para [correo electrónico protegido]_link1 (tabla de base de datos distribuida), Podemos referir fácilmente la tabla de base de datos distribuida usando mytable1. No necesitamos usar el nombre largo del objeto con el enlace de la base de datos en todas partes.

Alias

Estos son solo otro nombre para una vista, una tabla o una columna dentro de una consulta. No son objetos de base de datos. Por lo tanto, los alias no son válidos en todas partes en el esquema / base de datos. Son válidos dentro de la consulta solamente. Veamos este ejemplo.,

                                    seleccione tab1.col1 como c1, tab2.col2 como c2

                                       de la pestaña user1.tab1, la pestaña user1.tab2

                                       donde tab1.col1 = tab2.col2

Aquí, c1 y c2 son alias de columna, que se usan para tab1.col1 y tab2.col2, y tab1 y tab2 son alias de tabla, que se usan para user1.table1 y user2.table2. Todos estos alias son válidos solo dentro de esta consulta. 

¿Cuál es la diferencia entre sinónimo y alias? (en las bases de datos ORACLE)?

  • Los sinónimos son un tipo de objeto de base de datos. Pero los alias son solo un nombre para referirse a una tabla, vista o columna dentro de una consulta. No es un objeto de base de datos.
  • Se pueden crear sinónimos para tablas, vistas, funciones, procedimientos, paquetes, secuencias, vistas materializadas, tipos de objetos de clase java y activadores. Pero los alias se usan solo para vistas, tablas y sus columnas.
  • Dado que los sinónimos son un objeto de base de datos, son válidos dentro del esquema (sinónimo privado) o dentro de la base de datos (sinónimo público). Pero los alias son válidos dentro de la consulta donde se están utilizando..
  • Cada esquema necesita "Crear sinónimo" privilegio para crear sinónimos. Pero no hay ningún privilegio para usar alias..