Sinónimo vs Alias (en 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 esas son dos cosas diferentes. Especialmente en las bases de datos ORACLE, el uso de ambos es diferente. Los sinónimos se utilizan para hacer referencia a objetos de un esquema o una base de datos de otro esquema. Entonces, el sinónimo es un tipo de objeto de base de datos. Pero los alias están llegando de una manera diferente. Eso significa; no son objetos de base de datos. Los alias se utilizan para hacer referencia a tablas, vistas y columnas dentro de las 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 de sinónimo es referirse a un objeto de un esquema separado usando otro nombre. Pero también se pueden crear sinónimos para referirse a los objetos de otra base de datos (en bases de datos distribuidas, usando enlaces de base de datos). Las tablas, las vistas, las funciones, los procedimientos, los paquetes, las secuencias, las vistas materializadas, los objetos de clase Java y los disparadores se pueden usar como referencias para los sinónimos. Hay dos tipos de sinónimos.
- Sinónimos privados (solo puede usarlos el usuario que los creó).
- 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 sinónimo myschema.mytable1 para [email protected]_link1
Dado que tenemos un sinónimo llamado mytable1 en myschema para [email protected]_link1 (tabla de base de datos distribuida), podemos referirnos fácilmente a 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 del esquema/base de datos. Solo son válidos dentro de la consulta. Veamos este ejemplo, seleccione tab1.col1 como c1, tab2.col2 como c2
desde usuario1.tab1 tab1, usuario1.tab2 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 usuario1.tabla1 y usuario2.tabla2. Todos estos alias son válidos solo dentro de esta consulta.
¿Cuál es la diferencia entre Sinónimo y Alias (en bases de datos ORACLE)?