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ÁTICAINGENIERÍA DE SISTEMAS Y TELEMÁTICA
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.
 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,
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.
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.
Manipulación
de vistas
Creación EliminaciónModificación
CREATE VIEW vAlquileres
AS
SELECT nombre, apellidos,
matricula
FROM tAlquileres,tClientes
WHERE
Alquileres.codigo_cliente =
tClientes.codigo
ALTER VIEW vAlquileres
AS
SELECT nombre, apellidos,
matricula,fx_alquiler,fx_devolución
FROM tAlquileres,tClientes
WHERE tAlquileres.codigo_cliente
= tClientes.codigo
DROP VIEW vAlquileres
EJEMPLOS DE VISTAS EN SQL Server 2012
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.
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
Vistas en sql server

Vistas en sql server

  • 1.
    BASE DE DATOSI  JOSE DILMER OLIVERA BURGA  ELSER DUVERLY TARRILLO TORRES PROFESOR: ING. MARCO AURELIO PORRO CHULLI BASE DE DATOS I INGENIERÍA DE SISTEMAS Y TELEMÁTICAINGENIERÍA DE SISTEMAS Y TELEMÁTICA
  • 3.
    Una vista esuna 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.
  • 4.
     Caso deuna 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]
  • 5.
    Administración de vistas(Creación, Modificacióny 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.
  • 6.
    Administración de vistas(Creación, Modificacióny 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.
  • 7.
    Manipulación de vistas Creación EliminaciónModificación CREATEVIEW vAlquileres AS SELECT nombre, apellidos, matricula FROM tAlquileres,tClientes WHERE Alquileres.codigo_cliente = tClientes.codigo ALTER VIEW vAlquileres AS SELECT nombre, apellidos, matricula,fx_alquiler,fx_devolución FROM tAlquileres,tClientes WHERE tAlquileres.codigo_cliente = tClientes.codigo DROP VIEW vAlquileres
  • 8.
    EJEMPLOS DE VISTASEN SQL Server 2012
  • 9.
    Las vistas suelenutilizarse 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.
  • 10.