INGRESAR

REGISTRARSE
Buscador

Tratando vistas en sql

No se le permite a los usuarios trabajar de primera mano sobre las tablas y los motivos son:

  • Por la seguridad, ya que podemos eliminar datos importantes.
  • Prevenir errores del usuario.

Para lo cual se les ofrece las vistas. Una vista, aunque se parezca a una tabla no lo es. Es una consulta a una o varias tablas a las que se le asigna un nombre. Nos permitirá que los datos de la consulta los podamos tratar como si fuese una tabla.

Características de la estructura de una vista:

  • No es de obligación que la vista tenga todas las columnas de una tabla.
  • Le vamos a poder asignar la columna o columnas que deseemos de una o varias tablas.
  • No es de obligación que contenga todos los registros de las tablas.
  • Podemos crear filtrando los registros.
  • La vista realmente no contiene datos físicos, lo que consulta la tabla para recuperar los datos.
  • Cuando se realiza una operación DML sobre una vista, realmente se aplica a las tablas origen.

Con las vistas se ofrece al usuario final:

  • Simplificar el SQL.
  • Mejorar la comprensión de los datos de las tablas, utilizando nombres de columnas más simples o intuitivas.

Existen 2 tipos de vistas:

  • Vistas simples: se crean con los datos de una única tabla y se le puede realizar sentencia DML.
  • Vistas complejas: Se crean con los datos de una o varias tablas utilizando joins. Generalmente no se le puede realizar sentencias DML.

Creación y opciones de vistas: Sintaxis:

  • CREATE [or REPLACE] [FORCE | NOFORCE] VIEW nombre_vista AS subconsulta [WITH CKECK OPTION [CONSTRAINT nombre_restriccion]] [WITH READ ONLY [CONSTRAINT nombre_restriccion]]

Opciones:

  • OR REPLACE: suplanta la vista, si esta ya esta creada.
  • FORCE / NOFORCE: nos obliga a crear la vista aunque la tabla origen no exista.
  • WITH CKECK OPTION: si la vista se crea usando la cláusula WHERE , no nos permitirá realizar INSERT o UPDATES sobre registros que no son accesibles con la vista.
  • WITH READ ONLY: solo nos permitirá realizar consultas sobre la vista, es decir impide realizar INSERT, UPDATE o DELETES.
  • CONSTRAINT: nos permite poner nombres a las restricciones para hacer más legibles los mensajes de error asociados a su violación.

Modificación y opciones de vistas: Sintaxis:

  • ALTER VIEW nombrevista [ADD | DROP RESTRICCION | COMPILE];

Opciones:

  • ADD: se usa para añadir una restricción a la vista.
  • MODIFY CONSTRAINT: se usa para borrar una restricción a la vista.
  • COMPILE: se usa para recompilar la vista.

Eliminación de vistas: Sintaxis:

  • DROP VIEW nombrevista;

Consultando una vista: Sintaxis:

  • SELECT * From nombrevista.
  • Ejemplo: SELECT * From emp_details_view ORDER BY job_title;