Vistas en sql server

11
BASE DE DATOS I JOSE DILMER OLIVERA BURGA ELSER DUVERLY TARRILLO TORRES PROFESOR: ING. MARCO AURELIO PORRO CHULLI BASE DE DATOS I INGENIERÍA DE SISTEMAS Y TELEMÁTICA INGENIERÍA DE SISTEMAS Y TELEMÁTICA

Transcript of Vistas en sql server

Page 1: Vistas en sql server

BASE DE DATOS I

JOSE DILMER OLIVERA BURGA ELSER DUVERLY TARRILLO

TORRES

PROFESOR: ING. MARCO AURELIO PORRO CHULLI

BASE DE DATOS IINGENIERÍA DE SISTEMAS Y TELEMÁTICAINGENIERÍA DE SISTEMAS Y TELEMÁTICA

Page 2: Vistas en sql server

VISTAS SQL

Server 2012VISTAS SQL

Server 2012

Page 3: Vistas en sql server

DEFINICIÓN

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.

Page 4: Vistas en sql server

SINTAXIS

Caso de una sola tablaCREATE VIEW [nombre de la vista]ASSELECT (Aquí se especifican todos los campos a mostrar) FROM [NOMBRE DE LA TABLA] Caso de varias tablasCREATE VIEW [nombre de la vista]ASSELECT (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]

Page 5: Vistas en sql server

Administración de vistas(Creación, Modificación y eliminación)

Condiciones para la modificación de datos en vistas con particiones  Las siguientes restricciones se aplican a instrucciones que modifican

datos en vistas con particiones: La instrucción INSERT debe proporcionar valores para todas las columnas

de la vista, incluso si las tablas miembro subyacentes tienen una restricción DEFAULT para esas columnas o si admiten valores NULL. En las columnas de la tabla miembro con definiciones DEFAULT, las instrucciones no pueden usar explícitamente la palabra clave DEFAULT.

El valor que se va a insertar en la columna de partición debe cumplir al menos una de las restricciones subyacentes; en caso contrario, la acción de inserción provocará un error con una infracción de restricción.

Las instrucciones UPDATE no pueden especificar la palabra clave DEFAULT como valor de la cláusula SET, aunque la columna tenga definido un valor DEFAULT en la tabla miembro correspondiente.

Page 6: Vistas en sql server

Administración de vistas(Creación, Modificación y eliminación)

Las columnas de la vista que sean columnas de identidad en una o varias tablas miembro no se pueden modificar mediante una instrucción INSERT o UPDATE.

Si una de las tablas miembro contiene una columna timestamp, los datos no se pueden modificar mediante una instrucción INSERT o UPDATE.

Si una de las tablas miembro contiene un desencadenador o una restricción ON UPDATE CASCADE/SET NULL/SET DEFAULT u ON DELETE CASCADE/SET NULL/SET DEFAULT, no se puede modificar la vista.

Las acciones INSERT, UPDATE y DELETE en una vista con particiones no están permitidas si hay una autocombinación con la misma vista o con cualquiera de las tablas miembro de la instrucción.

La importación masiva de datos a una vista con particiones no es compatible con la utilidad bcp ni con las instrucciones BULK INSERT e INSERT . SELECT * FROM OPENROWSET(BULK...). Sin embargo, puede insertar varias filas en una vista con particiones utilizando la instrucción INSERT.

Page 7: Vistas en sql server

Manipulación de vistas

Creación Eliminación

Modificación

CREATE VIEW vAlquileresASSELECT nombre, apellidos, matricula FROM tAlquileres,tClientes WHERE Alquileres.codigo_cliente = tClientes.codigo

ALTER VIEW vAlquileresASSELECT nombre, apellidos, matricula,fx_alquiler,fx_devolución FROM tAlquileres,tClientes WHERE tAlquileres.codigo_cliente = tClientes.codigo

DROP VIEW vAlquileres

Page 8: Vistas en sql server

EJEMPLOS DE VISTAS EN SQL Server 2012

Page 9: Vistas en sql server

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.

Page 10: Vistas en sql server

LINKOGRAFIA

http://desktop.arcgis.com/es/arcmap/10.3/manage-data/using-sql-with-gdbs/example-creating-a-view-in-sql-server-with-sql.htm

https://technet.microsoft.com/es-es/library/ms181036(v=sql.105).aspx https://msdn.microsoft.com/es-pe/library/ms187956.aspx https://www.1keydata.com/es/sql/sintaxis-sql.php

Page 11: Vistas en sql server