UNIVERSIDAD POLITECNICA AMAZONICA
INGENIERÍA DE SISTEMAS Y TELEMÁTICAS
Docente : Marco Aurelio Porro Chulli
Asignatura :BASE DE DATOS II.
Ciclo : VIII "A"
Integrantes : Yanina Bustamante Jibaja.
Yenny Isabel Cuello Morón.
VISTAS
1. Contenido
Ø
Definición
Una vista es una tabla virtual cuyo contenido está
definido por una consulta. Al igual que una tabla, una vista consta de un
conjunto de columnas y filas de datos con un nombre. Sin embargo, a menos que
esté indizada, una vista no existe como conjunto de valores de datos
almacenados en una base de datos. Las filas y las columnas de datos proceden de
tablas a las que se hace referencia en la consulta que define la vista y se
producen de forma dinámica cuando se hace referencia a la vista.
Una vista actúa como filtro de las tablas
subyacentes a las que se hace referencia en ella. La consulta que define la
vista puede provenir de una o de varias tablas, o bien de otras vistas de la
base de datos actual u otras bases de datos. Asimismo, es posible utilizar las
consultas distribuidas para definir vistas que utilicen datos de orígenes
heterogéneos. Esto puede resultar de utilidad, por ejemplo, si desea combinar
datos de estructura similar que proceden de distintos servidores, cada uno de
los cuales almacena los datos para una región distinta de la organización.
Las vistas suelen usarse 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 subyacentes 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 usarse para copiar datos entre SQL Server a
fin de mejorar el rendimiento y crear particio.
Una vista
se caracteriza porque:
ü Se considera que forma parte del esquema externo.
ü Una vista es una tabla virtual (no tiene una
correspondencia a
nivel físico)
ü Se puede consultar como cualquier tabla básica.
ü Las actualizaciones se transfieren a la/s tabla/s
original/es
(con ciertas limitaciones)
Ø
SINTAXIS
La sintaxis para la creación de
vistas en SQL es la siguiente:
CREATE | REPLACE VIEW vista
[(comalista_columna)]
AS expresión_tabla [with Chuck
option]
en donde:
v CREATE VIEW es la orden que permite la creación de
la vista.
v vista es el nombre de la tabla virtual que se va a
crear.
v (comalista_columna) son los nombres de los
atributos de la tabla y es opcional.
ü Si no se especifica, el nombre coincide con el
nombre de los atributos
ü resultantes en expresión_tabla.
ü Es obligatorio si algún atributo de expresión_tabla
es el resultado de una
ü función de agregación o una operación aritmética.
Ø ADMINISTRACIÓN
DE VISTAS (CREACIÓN, MODIFICACIÓN Y ELIMINACIÓN)
CREACIÓN DE VISTAS.
Para crear una vista se utiliza el comando CREATE VIEW según el
siguiente formato genérico.
SINTAXIS
CREATE VIEW nombredevista
[(listadecolumnas)] AS consulta;
Donde:
ü nombredevista
es el nombre que tendrá la vista
que se va a crear.
ü listadecolumnas
es opcional. Permite especificar
un nombre para cada columna de la vista. Si no se especifica, cada columna
quedará con el nombre asignado por la consulta.
ü consulta es la SELECT que define la vista.
CREATE VIEW view_dept_201
AS SELECT emp_id, name,
hire_date
FROM gdb.employees
WHERE department = 201;
Modificación de vistas.
La modificación de una vista no afecta a los objetos dependientes, como
pueden ser los procedimientos almacenados o los desencadenadores, a menos que
la definición de la vista cambie de tal modo que el objeto dependiente deje de
ser válido. Si una vista que está actualmente en uso se modifica mediante ALTER VIEW, el Motor de base de datos impone un
bloqueo exclusivo de esquema sobre la vista. Cuando se concede el bloqueo, y no
hay usuarios activos de la vista, el Motor de base de datos elimina todas las
copias de la vista de la caché de procedimientos.
SINTAXIS
ALTER VIEW [ schema_name . ]
view_name [ ( column [ ,...n ] ) ]
[ WITH <view_attribute> [
,...n ] ]
AS select_statement
[ WITH CHECK OPTION ] [ ; ]
<view_attribute> ::=
{
[ ENCRYPTION ]
[ SCHEMABINDING ]
[ VIEW_METADATA ]
}
ELIMINACIÓN DE VISTAS.
SINTAXIS
DROP VIEW nombredevista ;
El siguiente ejemplo borrará la vista emple_dep30:
SQL> drop view emple_dep30 cascade constraints;
EJEMPLOS
1.- Crear una vista que muestre
el subtotal de los pedidos
create view v_subtotal
as
select IdPedido,SUM(d.PrecioUnidad
* Cantidad * (1-d.Descuento ))as Subtotal
from DetallesDepedidos d
inner join Productos p
on d.IdProducto=p.IdProducto
group by IdPedido
go
select * from v_subtotal
go
2.-Crear una vista que liste
NombreProducto, Nombre Categoría, Precio Unidad, Suspendido .
create view v_productos
as
select NombreProducto,NombreCategoría,PrecioUnidad,Suspendido from
Productos p
inner join Categorías c on p.IdCategoría
=c.IdCategoría
go
select * from v_productos
order by NombreCategoría,NombreProducto
go
3.-Crear una vista que presente
el total de pedido que tiene cada compañía de envió.
create view v_totalpedidos
as
select NombreCompañía,COUNT(*)as Total_Pedidos from v_compañia
group by NombreCompañía
go
select * from v_totalpedidos
2. Resumen
Una
vista es una tabla virtual cuyo contenido está definido por una consulta. Al
igual que una tabla real, una vista consta de un conjunto de columnas y filas
de datos con un nombre. Sin embargo, a menos que esté indexada, una vista no
existe como conjunto de valores de datos almacenados en una base de datos. Las
filas y las columnas de datos proceden de tablas a las que se hace referencia
en la consulta que define la vista y se producen de forma dinámica cuando se
hace referencia a la vista. Una vista actúa como filtro de las tablas a las que
se hace referencia en ella. La consulta que define la vista puede provenir de
una o de varias tablas, o bien de otras vistas de la base de datos actual u
otras bases de datos. No existe ninguna restricción a la hora de consultar
vistas y muy pocas restricciones a la hora de modificar los datos.
3. Sumary
A view
is a virtual table whose content is defined by a query. Like a real table, a
view consists of a set of columns and rows of data with a name. However, unless
it is indexed, a view does not exist as a set of data values stored in a
database. Rows and columns of data come from tables that are referenced in the
query that defines the view and occur dynamically when the view is referenced.
A view acts as a filter on the tables referenced in it. The query that defines
the view can come from one or several tables, or from other views of the
current database or other databases. There is no restriction when consulting
views and very few restrictions when modifying data.
4. Recomendaciones
ü No se
puede usar la cláusula ORDER BY en la creación de una vista ya que las filas de
una tabla no están ordenadas (la vista es una tabla virtual). No obstante, si
se puede utilizar dicha cláusula a la hora de recuperar datos de la vista.
ü Es
obligatorio especificar la lista de nombres de columnas cuando la consulta
devuelve funciones de agrupamiento como SUM, COUNT, etcétera.
ü No se
pueden utilizar funciones de agrupación sobre columnas de vistas que se basan a
su vez en funciones de agrupación ya que en la práctica supondría un doble
agrupamiento que no está permitido por el estándar.
5. Conclusiones
Las
vistas son creadas para realizar consultas, son similares a las tablas, se
formar referenciando a una o a varias tablas de las bases de datos, que se
puede crear, también se puede modificar, eliminar y realizar procedimientos
almacenados. Una vista es una tabla virtual (no tiene una correspondencia a
Nivel físico).
6. Apreciación del Equipo
Es
fundamental trabajar con vistas porque tienes ventajas
Seguridad
y confidencialidad: ya que la vista ocultará los datos confidenciales aquellos
para los que el usuario no tenga permiso.
Comodidad:
ya que solamente muestra los datos relevantes, permitiendo, incluso trabajar
con agrupaciones de filas como si se tratase de una única fila o con
composiciones de varias tablas como si se tratase de una única tabla.
Independencia
respecto a posibles cambios en los nombres de las columnas, de las tablas,
etcétera.
7. Glosario de Términos
ALTER VIEW: Su
funcionalidad es la de modificar las vistas existentes en una base de datos.
VISTA: 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.
CREATE VIEW: Crea
una vista con un nombre de la vista.
DINAMICA: Es un
conjunto de datos que se transforma a partir de un grupo de filas separadas para
un grupo de columnas
DROP VIEW: permite eliminar la definición de una vista.
FILTROS SQL: son
series de texto que se utilizan para especificar un subconjunto de elementos de
datos en un tipo de datos interno o de base de datos SQL.
8. Linkografías
Linkografia de las Diapositivas