1.CONTENIDO
- Definición:
Una
vista es una alternativa para mostrar datos de varias tablas. Una vista es como
una tabla virtual que almacena una consulta. Los datos accesibles a través de
la vista no están almacenados en la base de datos como un objeto.
- Sintaxis
CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ]
) ]
[ WITH <view_attribute> [ ,...n ] ]
AS select_statement
[ WITH CHECK OPTION ]
[ ; ]
<view_attribute> ::=
{
[ ENCRYPTION
]
[ SCHEMABINDING
]
[ VIEW_METADATA
]
}
- Administración de Vistas
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:
CREATE
VIEW "NOMBRE_VISTA" AS "Instrucción SQL";
La
“Instrucción SQL” puede ser cualquiera de las instrucciones SQL que hemos
descrito en esta guía de referencia.
Tabla Customer
Nombre de Columna
|
Tip de Datos
|
First_Name
|
char(50)
|
Last_Name
|
char(50)
|
Address
|
char(50)
|
City
|
char(50)
|
Country
|
char(25)
|
Birth_Date
|
datetime
|
y
deseamos crear una vista denominada V_Customer que contiene sólo las
columnas First_Name, Last_Name y País de esta tabla, ingresaríamos
CREATE
VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer;
AS SELECT First_Name, Last_Name, Country
FROM Customer;
Ahora
tenemos una vista llamada V_Customer con la siguiente estructura:
View V_Customer
Nombre de Columna
|
Tip de Datos
|
First_Name
|
char(50)
|
Last_Name
|
char(50)
|
Country
|
char(25)
|
Podemos
utilizar también una vista para aplicar uniones a dos tablas. En este caso, los
usuarios sólo ven una vista en vez de dos tablas, y la instrucción SQL que los
usuarios necesitan emitir se vuelve mucho más simple. Digamos que tenemos las
siguientes dos tablas:
Store_Name
|
Sales
|
Txn_Date
|
Los Angeles
|
1500
|
05-Jan-1999
|
San Diego
|
250
|
07-Jan-1999
|
Los Angeles
|
300
|
08-Jan-1999
|
Boston
|
700
|
08-Jan-1999
|
Tabla Geography
Region_Name
|
Store_Name
|
East
|
Boston
|
East
|
New York
|
West
|
Los Angeles
|
West
|
San Diego
|
2. Modificación
Modifica
una vista creada anteriormente. Esto incluye una vista indizada. ALTER VIEW no
afecta a desencadenadores ni procedimientos almacenados dependientes y no
cambia permisos.
ALTER VIEW [ schema_name . ] view_name [ ( column [ ,...n ] ) ]
[ WITH <view_attribute> [ ,...n ] ]
AS select_statement
[ WITH CHECK OPTION ] [ ; ]
<view_attribute> ::=
{
[ ENCRYPTION ]
[ SCHEMABINDING ]
[ VIEW_METADATA ]
}
3. Eliminación
USE AdventureWorks2012 ;
GO
IF OBJECT_ID ('HumanResources.EmployeeHireDate', 'V') IS NOT NULL
DROP VIEW HumanResources.EmployeeHireDate;
GO
- Ejemplos
En
el siguiente ejemplo creamos la vista "vista_empleados", que es
resultado de una combinación en la cual se muestran 4 campos:
create view vista_empleados as
select (apellido+'
'+e.nombre) as nombre,sexo,
s.nombre as
seccion, cantidadhijos
from empleados as e
join secciones as s
on codigo=seccion
Para
ver la información contenida en la vista creada anteriormente tipeamos:
select *from vista_empleados;
Podemos
realizar consultas a una vista como si se tratara de una tabla:
select seccion,count(*) as cantidad
from vista_empleados;
- Creación de la tabla base
CREATE
TABLE wide_tbl(
a
int PRIMARY KEY, b int, c int, d int, e int, f int, g int, h int, i int,
j
int, k int, l int, m int, n int, o int, p int, q int, r int,s int,t int, u int,
v int, w int, z int)
GO
–
Vista sobre la tabla base donde hacemos partición vertical (nos quedamos solo
con lo que nos interesa)
CREATE
VIEW v_abc WITH SCHEMABINDING AS
SELECT
a, b, c
FROM
dbo.wide_tbl
WHERE
a BETWEEN 0 AND 1000
GO
CREATE
UNIQUE CLUSTERED INDEX i_abc ON v_abc(a)
GO
2.RESUMEN
Una
vista es una alternativa para mostrar datos de varias tablas. Una vista es como
una tabla virtual que almacena una consulta. Los datos accesibles a través de
la vista no están almacenados en la base de datos como un objeto.
Entonces,
una vista almacena una consulta como un objeto para utilizarse posteriormente.
Las tablas consultadas en una vista se llaman tablas base. En general, se puede
dar un nombre a cualquier consulta y almacenarla como una vista.
Una
vista suele llamarse también tabla virtual porque los resultados que retorna y
la manera de referenciarlas es la misma que para una tabla.
Las
vistas permiten:
-
ocultar información: permitiendo el acceso a algunos datos y manteniendo oculto
el resto de la información que no se incluye en la vista. El usuario opera con
los datos de una vista como si se tratara de una tabla, pudiendo modificar
tales datos.
-
simplificar la administración de los permisos de usuario: se pueden dar al
usuario permisos para que solamente pueda acceder a los datos a través de
vistas, en lugar de concederle permisos para acceder a ciertos campos, así se
protegen las tablas base de cambios en su estructura.
-
mejorar el rendimiento: se puede evitar tipear instrucciones repetidamente
almacenando en una vista el resultado de una consulta compleja que incluya
información de varias tablas.
3.SUMMARY
A view is an alternative for displaying data from multiple tables. A view is a virtual table that stores a query. The data accessible through the view is not stored in the database as an object.
Then, a view stores a query as an object for use later. The consulted tables in a view called base tables. In general, you can name any query and store it as a view.
A view is also called a virtual table because the results returned reference them and how is the same as for a table.
Views allow:
- Hide information: allowing access to some data and keeping hidden the rest of the information is not included in the view. The user operates a view data as if it were a table, may modify such data.
- Simplify management of user permissions: You can give the user permissions so you can only access data through views, instead of granting permissions to access certain fields, so the base tables changes are protected in their structure.
- Improve performance: you can avoid repeatedly typing instructions stored in a view the result of a complex query that includes information from multiple tables.
4.RECOMENDACIONES
- Al crear una vista, SQL Server verifica que existan las tablas a las que se hacen referencia en ella.
- Se aconseja 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.
5.CONCLUCIONES
- Usar vistas para realizar todas las operaciones de manipulación de tablas (inserción, actualización, borrado, consulta) es lo mejor, es lo correcto, es lo ideal. ¿Por qué? porque eso nos da un control total, 100%, sobre lo que cada usuario puede hacer o no hacer.
- De esta manera los usuarios nunca, y por ningún motivo, acceden directamente a las tablas. Todos los accesos lo hacen a través de las vistas. Y en nuestras vistas podemos usar la cláusula WHERE para establecer condiciones. Por lo tanto, solamente podrán hacer lo que específicamente queremos que puedan hacer. Y nada más.
6.APRECIACION DEL EQUIPO
- Se sabe que las vistas se consultan como las tablas y no aceptan parámetros.
- Para el usuario final, ver los datos en modo de "vista" o de tabla, es exactamente igual, pero no para el DBA, quien debe velar por la integridad de los mismos. Puede, y de hecho sucede, que un usuario pueda consultar una tabla a través de una "vista", pero no de un modo directo con una instrucción "SELECT".
- Se puede concluir que esta investigación fue exitosa,muchas gracias espero te ayude
7.GLOSARIO O TÉRMINOS
Select: Que se utiliza para recuperar datos.
Create View: Sirve para crear una nueva vista
Into: Crea una nueva tabla en el grupo de archivos
predeterminados e insertos las filas resultantes de la consulta en ella
Where: Nos evita tener que consultar todas las
filas de la tabla para poder obtener un resultado en
particular.
8.BIBLIOGRAFIA O LINKOGRAFIA
https://msdn.microsoft.com/es-pe/library/ms187956.aspx
Ver Diapositivas Aqui
https://www.slideshare.net/secret/1vcxCkcNSQw46C
Ver Diapositivas Aqui
https://www.slideshare.net/secret/1vcxCkcNSQw46C
No hay comentarios:
Publicar un comentario