sql >> Base de Datos >  >> RDS >> Oracle

¿Qué es una vista en Oracle?

Una vista en Oracle y en otros sistemas de bases de datos es simplemente la representación de una declaración SQL que se almacena en la memoria para que pueda reutilizarse fácilmente. Por ejemplo, si emitimos con frecuencia la siguiente consulta

SELECT customerid, customername FROM customers WHERE countryid='US';

Para crear una vista, use el comando CREAR VISTA como se ve en este ejemplo

CREATE VIEW view_uscustomers
AS
SELECT customerid, customername FROM customers WHERE countryid='US';

Este comando crea una nueva vista llamada view_uscustomers. Tenga en cuenta que este comando no da como resultado que nada se almacene realmente en la base de datos, excepto una entrada del diccionario de datos que define esta vista. Esto significa que cada vez que consulta esta vista, Oracle tiene que salir y ejecutar la vista y consultar los datos de la base de datos. Podemos consultar la vista de esta manera:

SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200;

Y Oracle transformará la consulta en esto:

SELECT * 
FROM (select customerid, customername from customers WHERE countryid='US') 
WHERE customerid BETWEEN 100 AND 200

Beneficios de usar Vistas

  • Concordancia del código que se utiliza. Dado que una vista se basa en un conjunto común de SQL, esto significa que cuando se llama es menos probable que requiera análisis.
  • Seguridad. Las vistas se han utilizado durante mucho tiempo para ocultar las tablas que realmente contienen los datos que está consultando. Además, las vistas se pueden usar para restringir las columnas a las que tiene acceso un usuario determinado.
  • Predicado empujando

Puede encontrar temas avanzados en este artículo sobre "Cómo crear y administrar vistas en Oracle".