Me estoy preparando para el Experto en SQL certificación, y me encontré con una pregunta y dijo,que es la opción correcta. Y, de los cuatro, una opción, dijo A table and a synonym can have the same name in the same schema.

Y, por mis conocimientos en oracle nada de lo que cree que es tratada como un objeto, lo que significa cuando decimos create synonym, lo que significa que estamos creando un objeto nuevo. Y crear un mismo objeto en el mismo esquema no se permite en Oracle o cualquier base de datos AFAIK.

Incluso Burleson dice

Puede tener un público y privado sinónimo del mismo nombre. De hecho,
usted puede tener un público y privado sinónimo llamado EMP en el SCOTT
esquema y que tiene una tabla llamada EMP en el mismo esquema

Por lo que intenté.

create synonym emp for scott.emp

Muestra algún error object already exist

Entonces traté de

create public synonym emp for scott.emp. 

Y, tengo el mismo error. Así, alguien por favor compartir algunos conocimientos sobre los Sinónimos. Podemos crear sinónimos con el mismo nombre en el mismo esquema ?

  • :A mí me funciona!!! ,Tengo una duda , ¿intenta create public synonym scott.emp for scott.emp o create public synonym emp for scott.emp ,significa hizo poner schema_name antes de que el sinónimo nombre?
  • no.He intentado, lo he mencionado en mi post
  • Un sinónimo público no debe tener ningún nombre de esquema – es por eso que es de público!
  • Otra razón más para añadir B del dominio de Google personal bloque de la lista.
InformationsquelleAutor Ravi | 2014-04-21

2 Comentarios

  1. 5

    Puede tener:

    • Mesa y Sinónimo Público con el mismo nombre
    • Sinónimo público y Privado Sinónimo con el mismo nombre

    Pero no se puede tener:

    • Mesa y Privado Sinónimo con el mismo nombre dentro del mismo esquema

    La primera cosa a tener en cuenta es que el Público Sinónimos no son objetos de esquema, mientras que el Privado Sinónimos y Tablas. Otra es que la singularidad de los objetos de base de datos los nombres definidos por el espacio de nombres. Como se afirma en Experto en SQL Guía de Estudio:

    • USUARIO, el ROL, y SINÓNIMO PÚBLICO objetos en su propio colectivo de espacio de nombres.
    • TABLA, VISTA, SECUENCIA, PRIVADO SINÓNIMO, y definido por el usuario TIPO de objetos tienen su propio espacio de nombres dentro de un esquema dado.
    • ÍNDICE de los objetos tienen su propio espacio de nombres dentro de un esquema dado.
    • RESTRICCIÓN de los objetos tienen su propio espacio de nombres dentro de un esquema dado.

    Así que, mientras los objetos no comparten el mismo espacio de nombres se les puede dar el mismo nombre.
    Espero que esto ayude.

    • Cual es el resultado si hago un select sobre la tabla que tienen también un Sinónimo Público con el mismo nombre? Tabla de resultado o Sinónimo Público de la tabla de resultado?
    • Yo había probado, sólo puede seleccionar de la tabla de resultado, no es Sinónimo Público de la tabla resultado.
  2. 0

    Público sinónimos no son objetos de esquema, cuando privado sinónimos como tablas son objetos de esquema.

    • USER, ROLE y PUBLIC SYNONYM están en su propio colectivo de espacio de nombres.
    • TABLE, VIEW, SEQUENCE, PRIVATE SYNONYM tienen su propio espacio de nombres.
    • Un INDEX tiene su propio espacio de nombres.
    • Un CONSTRAINT objeto tiene su propio espacio de nombres dentro de un esquema dado

    Mientras que los objetos no comparten el mismo espacio de nombres, se les puede dar el mismo nombre.

    Recuerde, que usted puede tener:

    • una tabla y sinónimo público con el mismo nombre
    • un sinónimo público y privado sinónimo con el mismo nombre

    Usted no puede tener:

    • una tabla y un privado sinónimo con el mismo nombre dentro del mismo esquema.

Dejar respuesta

Please enter your comment!
Please enter your name here