2. 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.
• 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.
3. SINTAXIS
• 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.
• 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]
4. 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>);
5. • 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 ) )
6. • 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;
7. 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.
8. 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.
• SE PUEDEN CONSTRUIR VISTAS SOBRE OTRAS VISTAS.
9. 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.
10. 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