miércoles, 7 de mayo de 2014

Vistas en PL/SQL



Concepto
Una Vista(View) es una presentación adaptada de los datos registrados en una o más tablas u otras vistas. Una vista toma la salida de una consulta y la trata como una tabla. Por lo tanto, una vista puede ser pensado como una consulta almacenada o una tabla virtual. 

Por ejemplo,la tabla empleados tiene varias columnas y varias filas de información. Si desea que los usuarios vean sólo cinco de estas columnas o filas específicas, entonces usted puede crear una vista de la tabla para que otros usuarios tengan acceso.

Por lo tanto,una vista es una consulta, que refleja el contenido de una o más tablas, desde la que se puede acceder a los datos como si fuera una tabla.Dos son las principales razones por las que podemos crear vistas.
  • Seguridad: nos pueden interesar que los usuarios tengan acceso a una parte de la información que hay en una tabla, pero no a toda la tabla.
  • Comodidad: Una vista ayuda a simplificar la consulta a datos específicos. 
Las vistas no tienen una copia física de los datos, son consultas a los datos que hay en las tablas, por lo que si actualizamos los datos de una vista, estamos actualizando realmente la tabla, y si actualizamos la tabla estos cambios serán visibles desde la vista.

Nota: No siempre podremos actualizar los datos de una vista, dependerá de la complejidad de la misma (dependerá de si el conjunto de resultados tiene acceso a la clave principal de la tabla o no), y del gestor de base de datos. No todos los gestores de bases de datos permiten actualizar vistas, ORACLE, por ejemplo, no lo permite, mientrar que SQL Server si.


Creación
Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT válida.

CREATE VIEW
AS  ();

Ejemplo:Crear una vista sobre nuestra tabla empleados, donde se muestren ciertos datos

CREATE OR REPLACE VIEW Staff
AS( SELECT employee_id,
       last_name,
       job_id,
       manager_id,
      departament_id
FROM employees)

Si queremos, modificar la definición de nuestra vista tan solo se debe agregar la nueva columna. Al usar CREATE OR REPLACE VIEW podemos modificar la vista cuando se necesite. Nota: Se sugiere siempre crear vistas bajo este comando para futuras modificaciones

Por último podemos eliminar la vista a través de la sentencia DROP VIEW. Para eliminar la vista que hemos creado anteriormente se usa el siguiente comando:

DROP VIEW Staff;

1 comentario: