Mind map
Vistas
Map content
Vistas
En el modelo de datos relacional, la forma de guardar la información no es la mejor para ver los datos. Cuando se trabaja con bases de datos grandes, constituidas por muchas tablas con innumerables campos, es difícil presentar información cada vez más específica requerida por los usuarios finales y tomadores de decisiones, tanto para el experto responsable de la base de datos y el sistema de aplicación, como para los usuarios que interpretan dicha información.
En SQL, una vista es una tabla virtual basada en el resultado que se obtiene de la ejecución de una sentencia SELECT.
Las vistas tienen la misma estructura que una tabla: filas y columnas, la única diferencia es que sólo se almacena de ellas su definición, no sus datos
- La sentencia que se utiliza para actualizar una vista, es la misma que se utiliza para actualizar una tabla.
- SINTAXIS: UPDATE nomvista SET nomcolumna = nuevovalor [WHERE nomcol = algunvalor]
- La sentencia que se utiliza para actualizar una vista, es la misma que se utiliza para actualizar una tabla.
Las vistas tienen como objetivo ser una herramienta que contribuya a la seguridad y que además permita ocultar la complejidad de las estructuras que almacenan los datos, facilitando al usuario la interpretación de la información.
Al igual que sucede con una tabla, en una vista se pueden insertar, actualizar, borrar y seleccionar datos, pero considerando ciertas restricciones para algunas operaciones.
Para crear una vista se debe utilizar la sentencia CREATE VIEW, proporcionando un nombre a la vista y una sentencia SELECT válida como lo marca la siguiente sintaxis:
- Para insertar filas en una tabla por medio de una vista se deben cumplir las mismas restricciones mencionadas para actualizar filas, además todas las columnas obligatorias de la tabla asociada deben estar presentes en la vista.
- Para borrar filas de una tabla por medio de una vista, ésta se debe crear con las filas de una sola tabla, sin utilizar la cláusula GROUP BY ni DISTINCT y sin usar funciones de grupo. DELETE FROM nombrevista WHERE nomcol = algunvalor
- INSERT INTO nomvista[(campo1, campo2,…)] VALUES (valor1, valor2, …)
- Para insertar filas en una tabla por medio de una vista se deben cumplir las mismas restricciones mencionadas para actualizar filas, además todas las columnas obligatorias de la tabla asociada deben estar presentes en la vista.
CREATE VIEW nombrevista [(columnas)] AS sentencia_SELECT [WITH CHECK OPTION ]
nombrevista: Nombre con que se identificará la vista
columnas Nombres con los que se identificarán las columnas de la vista. Por defecto, los nombres de las columnas devueltos por la sentencia SELECT se usan para las columnas de la vista. Para dar explícitamente un nombre a las columnas de la vista, es necesario indicar una lista de nombres separados con comas. La cantidad de nombres indicados, deben ser igual a la cantidad de columnas devueltas por la sentencia SELECT.
sentencia_SELECT Sintaxis general de la instrucción SELECT. (Ver inciso 3.2 Unidad III).
WITH CHECK OPTION Cláusula que evitará que inserten o actualicen registros con datos que no califiquen como verdaderos para la cláusula WHERE de la sentenica_SELECT de la vista.
Se puede utilizar también una vista para aplicar uniones de dos o más tablas. En este caso, los usuarios sólo ven una vista en vez de las tablas, y la instrucción SQL que los usuarios necesitan se vuelve mucho más simple
- Alterar la estructura de una vista Para modificar la definición de la vista, se utiliza ALTER VIEW, de forma similar a la forma en que se altera la estructura de una tabla
- SINTAXIS: ALTER VIEW nombrevista [(columnas)] AS sentencia_SELECT [WITH CHECK OPTION ]
- Alterar la estructura de una vista Para modificar la definición de la vista, se utiliza ALTER VIEW, de forma similar a la forma en que se altera la estructura de una tabla
Actualizar filas a través de vistas Si una vista está basada en una sola tabla, se pueden modificar las filas de la vista. La modificación de los datos de la vista realmente cambia los datos de la tabla sobre la que está definida.
- La vista debe estar definida bajo las siguientes restricciones: Se debe crear la vista con filas de una sola tabla, no utilizar la cláusula GROUP BY ni DISTINCT y sin usar funciones de grupo, además ninguna de las columnas que se van a actualizar debe haberse definido como una expresión.
WITH CHECK OPTION En los incisos anteriores se modifican datos de las tablas a través de una vista, pero es posible que cuando se inserte un nuevo registro o se actualice uno existente, algún dato que se agregó o modificó no cumpla con el criterio de la cláusula WHERE con que fue formulada la vista
- EJEMPLO 1: CREATE VIEW autores_MX AS SELECT * FROM autores WHERE pais =‟MX‟ UPDATE autores_MX SET pais=‟USA‟
- Ejemplo 2 : CREATE VIEW autores_MX AS SELECT * FROM autores WHERE pais =‟MX‟ WITH CHECK OPTION UPDATE autores_MX SET pais=‟USA‟
Eliminar una vista Para eliminar una vista, se utiliza la sentencia DROP VIEW de la siguiente manera:
- SINTAXIS: DROP VIEW nombrevista
- DONDE: nombrevista Nombre de la vista que queremos eliminar.
5.4. Síntesis La vista es una herramienta que permite visualizar datos resultantes de la consulta a varias tablas en una sola tabla virtual, simplificando así las sentencias requeridas para encontrar dichos datos
Information
- Description
- Arquitectura Mind Map on Vistas, created by VICTOR RUIZ GRANADOS on 27/09/2018.
- Created by
- VICTOR RUIZ GRANADOS
- Views
- 1
- History
-
- Created by VICTOR RUIZ GRANADOS · Sep 27, 2018
- Copied by VICTOR RUIZ GRANADOS · Sep 27, 2018
- Rating