Sinónimo (base de datos)


En las bases de datos , un sinónimo es un alias o un nombre alternativo para una tabla , vista , secuencia u otro objeto de esquema . Se utilizan principalmente para facilitar a los usuarios el acceso a los objetos de la base de datos que pertenecen a otros usuarios. Ocultan la identidad del objeto subyacente y dificultan que un programa o usuario malintencionado apunte al objeto subyacente. Debido a que un sinónimo es solo un nombre alternativo para un objeto, no requiere más almacenamiento que su definición. Cuando una aplicación utiliza un sinónimo, el DBMSreenvía la solicitud al objeto base subyacente del sinónimo. Al codificar sus programas para que utilicen sinónimos en lugar de nombres de objetos de base de datos, se aísla de cualquier cambio en el nombre, la propiedad o la ubicación de los objetos. Si se refiere con frecuencia a un objeto de base de datos que tiene un nombre largo, es posible que desee poder hacer referencia a él con un nombre más corto sin tener que cambiarle el nombre y modificar el código que se refiere a él.

Los sinónimos son muy poderosos desde el punto de vista de permitir a los usuarios acceder a objetos que no se encuentran dentro de su esquema . Todos los sinónimos deben crearse explícitamente con el comando CREATE SYNONYM y los objetos subyacentes pueden ubicarse en la misma base de datos o en otras bases de datos que estén conectadas por. enlaces a bases de datos [ aclarar ]

Cuando se crea una tabla o un procedimiento, se crea en un esquema particular, y otros usuarios pueden acceder a él solo usando el nombre de ese esquema como prefijo del nombre del objeto. La forma de evitar esto es que el propietario del esquema cree un sinónimo con el mismo nombre que el nombre de la tabla.

Los sinónimos públicos pertenecen a un esquema especial en la base de datos Oracle llamado PUBLIC. Como se mencionó anteriormente, todos los usuarios de la base de datos pueden hacer referencia a sinónimos públicos. El propietario de la aplicación suele crear sinónimos públicos para las tablas y otros objetos, como procedimientos y paquetes, para que los usuarios de la aplicación puedan ver los objetos.

Ahora cualquier usuario puede ver la tabla simplemente escribiendo el nombre de la tabla original. Si lo desea, puede proporcionar un nombre de tabla diferente para esa tabla en la declaración CREATE SYNONYM. Recuerde que el DBA debe crear sinónimos públicos. El hecho de que pueda ver una tabla a través de sinónimos públicos (o privados) no significa que también pueda realizar operaciones SELECT, INSERT, UPDATE o DELETE en la tabla. Para poder realizar esas operaciones, un usuario necesita privilegios específicos para el objeto subyacente, ya sea directamente o mediante roles del propietario de la aplicación.

Un sinónimo privado es un sinónimo dentro de un esquema de base de datos que un desarrollador usa normalmente para enmascarar el nombre verdadero de una tabla, ver un procedimiento almacenado u otro objeto de base de datos en un esquema de aplicación.