domingo, 4 de diciembre de 2016

VISTAS EN SQL


“AÑO DE LA CONSOLIDACIÓN DEL MAR DE GRAU”
FACULTAD DE INGENIERÍA
ESCUELA ACADÉMICA PROFESIONAL DE INGENIERÍA DE SISTEMAS Y TELEMÁTICA
LENGUAJE DE PROGRAMACIÓN II
“TRABAJO DE INVESIGACIÓN”
VISTAS EN SQL
AUTORES
MARCHENA HUANUIRE, Greinder Alexis
VASQUEZ VENTURA, Liz Evelin
DOCENTE
PORRO CHULLI, Marco Aurelio
BAGUA GRANDE - AMAZONAS

2016



VISTAS EN SQL


DEFINICIÓN

En teoría de bases de datos, una vista es una consulta que se presenta como una tabla (virtual) a partir de un conjunto de tablas en una base de datos relacional.
Las vistas tienen la misma estructura que una tabla: filas y columnas. La única diferencia es que sólo se almacena de ellas la definición, no los datos. Los datos que se recuperan mediante una consulta a una vista se presentarán igual que los de una tabla. De hecho, si no se sabe que se está trabajando con una vista, nada hace suponer que es así. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de una vista, en algunas condiciones existen restricciones para realizar el resto de las operaciones sobre vistas.
Una vista se especifica a través de una expresión de consulta (una sentencia SELECT) que la calcula y que puede realizarse sobre una o más tablas. Sobre un conjunto de tablas relacionales se puede trabajar con un número cualquiera de vistas.
La mayoría de los SGBD soportan la creación y manipulación de vistas. Las vistas se crean cuando se necesitan hacer varias sentencias para devolver una tabla final.


SINTAXIS

Las vistas pueden considerarse como tablas virtuales. Generalmente hablando, una tabla tiene un conjunto de definiciones, y almacena datos físicamente. Una vista también tiene un conjunto de definiciones, que se construye en la parte superior de la(s) tabla(s) u otra(s) vista(s), y no almacena datos físicamente.

La sintaxis para la creación de una vista es la siguiente:

Caso de una sola tabla

CREATE VIEW [nombre de la vista] AS SELECT (Aquí se especifican todos los campos a mostrar) FROM [NOMBRE DE LA TABLA]

Caso de varias tablas

CREATE VIEW [nombre de la vista] AS SELECT (Aquí se especifican todos los campos a mostrar) FROM [NOMBRE DE LA 1° TABLA] INNER JOIN [NOMBRE DE LA 2° TABLA] ON [Nombre del campo] . [NOMBRE DE LA 1° TABLA] = [Nombre del campo] . [NOMBRE DE LA 2° TABLA]


ADMINISTRACIÓN DE VISTAS

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 <nombre_vista> AS (<sentencia_select>);

Ejemplo:

Crear una vista sobre nuestra tabla alquileres, en la que se nos muestre el nombre y apellidos del cliente en lugar de su código.

 CREATE VIEW vAlquileres AS

(
SELECT            nombre,                  
                          apellidos,       
                          matricula
FROM              tAlquileres,
                         tClientes
WHERE ( tAlquileres.codigo_cliente = tClientes.codigo )
)


MODIFICACIÓN

Si queremos, modificar la definición de nuestra vista podemos utilizar la sentencia ALTER VIEW, de forma muy parecida a como lo hacíamos con las tablas. En este caso queremos añadir los campos fx_alquiler y fx_devolucion a la vista.

ALTER VIEW   vAlquileres
AS
(
SELECT      nombre,      
                    apellidos,      
                    matricula,     
                    fx_alquiler,      
                    fx_devolucion
FROM        tAlquileres,
                   tClientes
WHERE ( tAlquileres.codigo_cliente = tClientes.codigo )
)


ELIMINACIÓN

Por último podemos eliminar la vista a través de la sentencia DROP VIEW. Para eliminar la vista que hemos creado anteriormente se utilizaría:

DROP VIEW   vAlquileres;


RESUMEN

Las vistas suelen utilizarse para centrar, simplificar y personalizar la percepción de la base de datos para cada usuario. Las vistas pueden emplearse como mecanismos de seguridad, que permiten a los usuarios obtener acceso a los datos por medio de la vista, pero no les conceden el permiso de obtener acceso directo a las tablas base subyacente de la vista. Las vistas pueden utilizarse para proporcionar una interfaz compatible con versiones anteriores con el fin de emular una tabla que existía pero cuyo esquema ha cambiado. También pueden utilizarse para copiar datos entre Microsoft SQL Server a fin de mejorar el rendimiento y crear particiones de los datos.


SUMMARY

Views are often used to center, simplify and customize the perception of the database for each user. Views can be used as security mechanisms, which allow users to gain access to data through the view, but do not grant them the permission to gain direct access to the underlying base tables of the view. Views can be used to provide an interface compatible with previous versions in order to emulate a table that existed but whose schema has changed. They can also be used to copy data between Microsoft SQL Server to improve performance and partition data.


RECOMENDACIONES

  • Las vistas se crean en la base de datos activa.
  • Al crear una vista, SQL Server verifica que existan las tablas a las que se hacen referencia en ella.
  • Recomendamos probar la sentencia "select" con la cual definiremos la vista antes de crearla para asegurarnos que el resultado que retorna es el imaginado.
  • Existen algunas restricciones para el uso de "create view", a saber:

           - no puede incluir las cláusulas "compute" ni "compute by" ni la palabra clave "into";
           - no se pueden crear vistas temporales ni crear vistas sobre tablas temporales.
           - no se pueden asociar reglas ni valores por defecto a las vistas.
           - no puede combinarse con otras instrucciones en un mismo lote.
  • Se pueden construir vistas sobre otras vistas.


CONCLUSIONES

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, mientras que SQL Server sí.
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.


APRECIACIÓN DELL EQUIPO

Esto siendo dicho, hay formas en las que no tiene sentido usar una vista (y damos gracias a la vida por llegar a hacernos ver estos ejemplos desconcertantes).
 Por ejemplo:
CREATE VIEW view_books AS SELECT * FROM books;
Obviamente, esto es completamente inutil y probablemente gastará la memoria de su servidor SQL.


REFERENCIAS

keydata. (s.f.). keydata.com. Obtenido de keydata.com: http://www.1keydata.com/es/sql/sql-create-view.php
patty. (viernes de febrero de 2012). blogspot.pe. Obtenido de blogspot.pe: http://patty-sqlserver2008.blogspot.pe/2012/02/7-vistas-procedimientos-y-trigger.html
tutorialesprogramacionya. (s.f.). tutorialesprogramacionya.com. Obtenido de tutorialesprogramacionya.com: http://www.tutorialesprogramacionya.com/sqlserverya/temarios/descripcion.php?cod=109&punto=&inicio=
Valenzuela, L. (8 de abril de 2014). slideshare.net. Obtenido de slideshare.net: http://es.slideshare.net/LilianaValenzuela1/vistas-en-bases-de-datos
wikipedia. (4 de Noviembre de 2015). wikipedia.org. Obtenido de wikipedia.org: https://es.wikipedia.org/wiki/Vista_(base_de_datos)
Ziscko. ( 6 de marzo de 2010). slideshare.net. Obtenido de slideshare.net: http://es.slideshare.net/ZIscko/vistas-en-sql-y-my-sql




LINK DE NUESTRAS DIAPOSITIVAS:










No hay comentarios:

Publicar un comentario