SlideShare una empresa de Scribd logo
1 de 15
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. 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.
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 de sistema exponen metadatos de catálogo.
Vistas del sistema:
Una vista con particiones combina datos horizontales con particiones de un conjunto de tablas miembro en uno o
más servidores. Esto hace que los datos aparezcan como si fueran de una tabla. Una vista que combina tablas
miembro en la misma instancia de SQL Server es una vista con particiones local.
Vistas con particiones:
Una vista indizada es una vista que se ha materializado. Esto significa que se ha calculado la definición de la vista y
que los datos resultantes se han almacenado como una tabla. Se puede indizar una vista creando un índice clúster
único en ella. Las vistas indizadas pueden mejorar de forma considerable el rendimiento de algunos tipos de
consultas.
Vistas indizadas:
SQL Server proporciona los siguientes tipos de vistas que permiten
llevar a cabo objetivos especiales en una base de datos.
SINTAXIS:
Una vista permite
guardar una
instrucción SQL
que podrás ejecutar
las veces que
quieras sin tener
que repetir la
instrucción SQL.
Esta es la sintáxis
para una vista:
CREATE VIEW
nombre_vista
AS
instrucción SQL
Para ejecutar la
vista, basta con
lanzar la SELECT:
SELECT *
FROM
nombre_vist
a
Por ejemplo, tengo
una tabla donde
guardo las incidencias
reportadas por
tiendas, quiero tener
un TOP 10 de tiendas
que generan esas
incidencias, para ello
el contenido de mi
vista sería:
CREATE VIEW
vista_top10_averias AS
SELECT t.deleg AS
Delegacion, t.nombre,
COUNT(a.deleg) AS numero
FROM averias AS a INNER
JOIN tiendas AS t ON
a.deleg=t.deleg GROUP by
t.deleg ORDER BY numero
DESC LIMIT 10;
Para ver el resultado sólo
tendría que teclear:
SELECT * FROM
vista_top10_averias;
Y el resultado sería este:
ADMINISTRACIÓN DE VISTAS (Creación, Modificación y Eliminación):
Una vista es como una ventana a través de la cual se puede consultar o cambiar información de la tabla
a la que está asociada.
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.
• Creación de una Vista:
CREATE VIEW vista [({columna ,}+] AS consulta ;
La vista se crea con las columnas que devuelve una consulta.
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW nombre_vista [(columnas)]
AS sentencia_select
[WITH [CASCADED | LOCAL] CHECK OPTION]
Esta sentencia crea una vista nueva o reemplaza una existente si se incluye la cláusula OR REPLACE.
La sentencia SELECT que proporciona la definición de la vista. Puede estar dirigida a tablas de la base
o a otras vistas.
Modificación de una Vista:
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW nombre_vista [(columnas)]
AS sentencia_select
[WITH [CASCADED | LOCAL] CHECK OPTION]
Esta sentencia modifica la definición de una vista existente.
Borrado de una Vista:
DROP VIEW vista ;
DROP VIEW [IF EXISTS]
nombre_vista [, nombre_vista] ...
[RESTRICT | CASCADE]
DROP VIEW elimina una o más vistas de la base de datos. Se debe poseer el privilegio DROP en cada vista a eliminar.
EJEMPLOS:
Una vista se define usando un "select".
La sintaxis básica parcial para crear una vista es la siguiente:
create view NOMBREVISTA as
SENTENCIAS SELECT from TABLA;
El contenido de una vista se muestra con un "select":
select *from NOMBREVISTA;
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, escribimos lo siguiente:
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;
Los nombres para vistas deben seguir las mismas reglas que cualquier identificador. Para distinguir una tabla de una
vista podemos fijar una convención para darle nombres, por ejemplo, colocar el sufijo vista y luego el nombre de las
tablas consultadas en ellas.
Los campos y expresiones de la consulta que define una vista deben tener un nombre. Se debe colocar nombre de
campo cuando es un campo calculado o si hay 2 campos con el mismo nombre. Notamos que en el ejemplo, al
concatenar los campos "apellido" y "nombre" colocamos un alias; si no lo hubiésemos hecho aparecería un mensaje
de error porque dicha expresión debe tener un encabezado, SQL Server no lo coloca por defecto.
Los nombres de los campos y expresiones de la consulta que define una vista deben ser únicos (no puede haber dos
campos o encabezados con igual nombre). Note que en la vista definida en el ejemplo, al campo "s.nombre" le
colocamos un alias porque ya había un encabezado (el alias de la concatenación) llamado "nombre" y no pueden
repetirse, si sucediera, aparecería un mensaje de error.
RESUMEN:
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. 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.
Hay dos tipos de vistas de base de datos: vistas dinámicas y vistas
estáticas. Las vistas dinámicas pueden contener datos de una o dos
tablas e incluir automáticamente todas las columnas de la tabla o
tablas especificadas. Las vistas dinámicas se pueden actualizar
dinámicamente cuando se crean o modifican objetos relacionados u
objetos ampliados. Las vistas estáticas pueden contener datos de
varias tablas y las columnas necesarias de estas tablas se deben
especificar en las cláusulas SELECT y WHERE de la vista estática.
Las vistas dinámicas se pueden actualizar manualmente cuando se
crean o modifican objetos relacionados u objetos ampliados.
Cuando se crea una vista dinámica con datos de dos tablas, debe
asegurarse de que ambas tablas tengan las mismas columnas
PRIMARYKEYCOLSEQ o que contengan índices exclusivos con el
mismo nombre de columna en el mismo orden.
RECOMENDACIONES:
 Si la vista no está indizada, sus datos no se almacenan en la base de datos como un objeto
diferente. Lo que se almacena en la base de datos es una instrucción SELECT.
 El conjunto de resultados de la instrucción SELECT forma la tabla virtual que devuelve la vista. El
usuario puede utilizar dicha tabla virtual haciendo referencia al nombre de la vista en instrucciones
Transact-SQL, de la misma forma en que se hace referencia a las tablas.
CONCLUCIONES:
Una vista de base de datos es un subconjunto de una base de datos y se basa en una consulta que se ejecuta en una
o más tablas de base de datos. Las vistas de base de datos se guardan en la base de datos como consultas con
nombre y se pueden utilizar para guardar consultas completas que se utilizan con frecuencia. Una vista es una tabla
virtual que se genera a partir de una consulta de selección. Escribimos una consulta de selección (sobre una o más
tablas) para leer los datos, y almacenamos el resultado en una vista. 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.
Podemos crear vistas con: un subconjunto de registros y campos de una tabla; una unión de varias tablas; una
combinación de varias tablas; un resumen estadístico de una tabla; un subconjunto de otra vista, combinación de
vistas y tablas.
APRECIACIÓN DEL EQUIPO:
 Las vistas suelen usarse para realizar consultas, 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 se les conceden el
permiso de obtener acceso directo a las tablas base subyacentes de la vista.
 Las vistas pueden utilizarse para copiar datos entre SQL Server a fin de mejorar el
rendimiento y crear particiones de los datos.

Más contenido relacionado

La actualidad más candente

Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)michell_quitian
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosnenyta08
 
Motores de bases de datos
Motores de bases de datosMotores de bases de datos
Motores de bases de datosstill01
 
Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)José Toro
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSmyle22
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoYovana Connie Roca Avila
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchRobedgar MX
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacionalAlex Javier
 
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HGuía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HJosé Ricardo Tillero Giménez
 

La actualidad más candente (20)

Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientos
 
Motores de bases de datos
Motores de bases de datosMotores de bases de datos
Motores de bases de datos
 
Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
 
Guía de ejercicios de normalizacion
Guía de ejercicios de normalizacionGuía de ejercicios de normalizacion
Guía de ejercicios de normalizacion
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Inner join
Inner joinInner join
Inner join
 
Hilos en java
Hilos en javaHilos en java
Hilos en java
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Reglas de Codd
Reglas de CoddReglas de Codd
Reglas de Codd
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HGuía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 

Similar a VISTAS (20)

Vistas
VistasVistas
Vistas
 
Vistas
VistasVistas
Vistas
 
Vistasensqlymysql
VistasensqlymysqlVistasensqlymysql
Vistasensqlymysql
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sql
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sql
 
Vistas en sql_y_my_sql
Vistas en sql_y_my_sqlVistas en sql_y_my_sql
Vistas en sql_y_my_sql
 
Vistas en sql_y_my_sql
Vistas en sql_y_my_sqlVistas en sql_y_my_sql
Vistas en sql_y_my_sql
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sql
 
Vistas
Vistas Vistas
Vistas
 
Vistas
Vistas Vistas
Vistas
 
Vistas
VistasVistas
Vistas
 
Vistas
VistasVistas
Vistas
 
Vistas
VistasVistas
Vistas
 
Vistas
VistasVistas
Vistas
 
Visualizacion de datos de varias tablas en sql
Visualizacion de datos de varias tablas en sqlVisualizacion de datos de varias tablas en sql
Visualizacion de datos de varias tablas en sql
 
Vistas
VistasVistas
Vistas
 
Diapositivas de vistas
Diapositivas de vistasDiapositivas de vistas
Diapositivas de vistas
 
VISTAS
VISTASVISTAS
VISTAS
 
Indices y Vistas.pptx
Indices y Vistas.pptxIndices y Vistas.pptx
Indices y Vistas.pptx
 
Vistas
VistasVistas
Vistas
 

Más de Lisbeth Ocaña Bueno (20)

OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.
 
COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
CURSORES EN SQL SERVER
CURSORES EN SQL SERVERCURSORES EN SQL SERVER
CURSORES EN SQL SERVER
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Comandos DDL
Comandos DDLComandos DDL
Comandos DDL
 
LENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQLLENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQL
 
Ejecutables en Netbeans
Ejecutables en NetbeansEjecutables en Netbeans
Ejecutables en Netbeans
 
REPORTES
REPORTESREPORTES
REPORTES
 
Objeto sqlcommand
Objeto sqlcommandObjeto sqlcommand
Objeto sqlcommand
 
OBJETO CONNECTION
OBJETO CONNECTIONOBJETO CONNECTION
OBJETO CONNECTION
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor de Base de Datos.
Gestor de Base de Datos.Gestor de Base de Datos.
Gestor de Base de Datos.
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Aplicaciones n capas en visual.net
Aplicaciones n capas en visual.netAplicaciones n capas en visual.net
Aplicaciones n capas en visual.net
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
JTABLE
JTABLEJTABLE
JTABLE
 
RESULTSET
RESULTSETRESULTSET
RESULTSET
 

VISTAS

  • 1.
  • 2.
  • 3. 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. 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. 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.
  • 4. Las vistas de sistema exponen metadatos de catálogo. Vistas del sistema: Una vista con particiones combina datos horizontales con particiones de un conjunto de tablas miembro en uno o más servidores. Esto hace que los datos aparezcan como si fueran de una tabla. Una vista que combina tablas miembro en la misma instancia de SQL Server es una vista con particiones local. Vistas con particiones: Una vista indizada es una vista que se ha materializado. Esto significa que se ha calculado la definición de la vista y que los datos resultantes se han almacenado como una tabla. Se puede indizar una vista creando un índice clúster único en ella. Las vistas indizadas pueden mejorar de forma considerable el rendimiento de algunos tipos de consultas. Vistas indizadas: SQL Server proporciona los siguientes tipos de vistas que permiten llevar a cabo objetivos especiales en una base de datos.
  • 5. SINTAXIS: Una vista permite guardar una instrucción SQL que podrás ejecutar las veces que quieras sin tener que repetir la instrucción SQL. Esta es la sintáxis para una vista: CREATE VIEW nombre_vista AS instrucción SQL Para ejecutar la vista, basta con lanzar la SELECT: SELECT * FROM nombre_vist a Por ejemplo, tengo una tabla donde guardo las incidencias reportadas por tiendas, quiero tener un TOP 10 de tiendas que generan esas incidencias, para ello el contenido de mi vista sería:
  • 6. CREATE VIEW vista_top10_averias AS SELECT t.deleg AS Delegacion, t.nombre, COUNT(a.deleg) AS numero FROM averias AS a INNER JOIN tiendas AS t ON a.deleg=t.deleg GROUP by t.deleg ORDER BY numero DESC LIMIT 10; Para ver el resultado sólo tendría que teclear: SELECT * FROM vista_top10_averias; Y el resultado sería este:
  • 7. ADMINISTRACIÓN DE VISTAS (Creación, Modificación y Eliminación): Una vista es como una ventana a través de la cual se puede consultar o cambiar información de la tabla a la que está asociada. 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. • Creación de una Vista: CREATE VIEW vista [({columna ,}+] AS consulta ; La vista se crea con las columnas que devuelve una consulta. CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW nombre_vista [(columnas)] AS sentencia_select [WITH [CASCADED | LOCAL] CHECK OPTION]
  • 8. Esta sentencia crea una vista nueva o reemplaza una existente si se incluye la cláusula OR REPLACE. La sentencia SELECT que proporciona la definición de la vista. Puede estar dirigida a tablas de la base o a otras vistas. Modificación de una Vista: ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW nombre_vista [(columnas)] AS sentencia_select [WITH [CASCADED | LOCAL] CHECK OPTION] Esta sentencia modifica la definición de una vista existente. Borrado de una Vista: DROP VIEW vista ; DROP VIEW [IF EXISTS] nombre_vista [, nombre_vista] ... [RESTRICT | CASCADE] DROP VIEW elimina una o más vistas de la base de datos. Se debe poseer el privilegio DROP en cada vista a eliminar.
  • 9. EJEMPLOS: Una vista se define usando un "select". La sintaxis básica parcial para crear una vista es la siguiente: create view NOMBREVISTA as SENTENCIAS SELECT from TABLA; El contenido de una vista se muestra con un "select": select *from NOMBREVISTA; 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, escribimos lo siguiente: 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;
  • 10. Los nombres para vistas deben seguir las mismas reglas que cualquier identificador. Para distinguir una tabla de una vista podemos fijar una convención para darle nombres, por ejemplo, colocar el sufijo vista y luego el nombre de las tablas consultadas en ellas. Los campos y expresiones de la consulta que define una vista deben tener un nombre. Se debe colocar nombre de campo cuando es un campo calculado o si hay 2 campos con el mismo nombre. Notamos que en el ejemplo, al concatenar los campos "apellido" y "nombre" colocamos un alias; si no lo hubiésemos hecho aparecería un mensaje de error porque dicha expresión debe tener un encabezado, SQL Server no lo coloca por defecto. Los nombres de los campos y expresiones de la consulta que define una vista deben ser únicos (no puede haber dos campos o encabezados con igual nombre). Note que en la vista definida en el ejemplo, al campo "s.nombre" le colocamos un alias porque ya había un encabezado (el alias de la concatenación) llamado "nombre" y no pueden repetirse, si sucediera, aparecería un mensaje de error.
  • 11. RESUMEN: 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. 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.
  • 12. Hay dos tipos de vistas de base de datos: vistas dinámicas y vistas estáticas. Las vistas dinámicas pueden contener datos de una o dos tablas e incluir automáticamente todas las columnas de la tabla o tablas especificadas. Las vistas dinámicas se pueden actualizar dinámicamente cuando se crean o modifican objetos relacionados u objetos ampliados. Las vistas estáticas pueden contener datos de varias tablas y las columnas necesarias de estas tablas se deben especificar en las cláusulas SELECT y WHERE de la vista estática. Las vistas dinámicas se pueden actualizar manualmente cuando se crean o modifican objetos relacionados u objetos ampliados. Cuando se crea una vista dinámica con datos de dos tablas, debe asegurarse de que ambas tablas tengan las mismas columnas PRIMARYKEYCOLSEQ o que contengan índices exclusivos con el mismo nombre de columna en el mismo orden.
  • 13. RECOMENDACIONES:  Si la vista no está indizada, sus datos no se almacenan en la base de datos como un objeto diferente. Lo que se almacena en la base de datos es una instrucción SELECT.  El conjunto de resultados de la instrucción SELECT forma la tabla virtual que devuelve la vista. El usuario puede utilizar dicha tabla virtual haciendo referencia al nombre de la vista en instrucciones Transact-SQL, de la misma forma en que se hace referencia a las tablas.
  • 14. CONCLUCIONES: Una vista de base de datos es un subconjunto de una base de datos y se basa en una consulta que se ejecuta en una o más tablas de base de datos. Las vistas de base de datos se guardan en la base de datos como consultas con nombre y se pueden utilizar para guardar consultas completas que se utilizan con frecuencia. Una vista es una tabla virtual que se genera a partir de una consulta de selección. Escribimos una consulta de selección (sobre una o más tablas) para leer los datos, y almacenamos el resultado en una vista. 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. Podemos crear vistas con: un subconjunto de registros y campos de una tabla; una unión de varias tablas; una combinación de varias tablas; un resumen estadístico de una tabla; un subconjunto de otra vista, combinación de vistas y tablas.
  • 15. APRECIACIÓN DEL EQUIPO:  Las vistas suelen usarse para realizar consultas, 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 se les conceden el permiso de obtener acceso directo a las tablas base subyacentes de la vista.  Las vistas pueden utilizarse para copiar datos entre SQL Server a fin de mejorar el rendimiento y crear particiones de los datos.