SlideShare una empresa de Scribd logo
1 de 14
INGENIERÍA DE SISTEMAS Y TELEMÁTICA
Tema :VISTAS
Curso : Base de datos II
Docente : Ing. Marco Aurelio Porro Chulli
Integrantes :
 Ana Leydi Linares Serrano.
 Delsi Yakelin Huamán Villanueva
VISTAS
*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.
*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.
*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.
* Una vista se define usando un "select".
*Sintaxis
create view NOMBREVISTA as
SENTENCIAS SELECT
from TABLA;
*La sintaxis básica parcial para crear una vista es la siguiente:
*El contenido de una vista se muestra con un "select":
*select * from NOMBREVISTA;
* Administración de Vistas (Creación, Modificación y Eliminación)
*Creación de vistas
Para crear una vista ejecute la instrucción siguiente para crear una vista muy
sencilla que ejecuta una instrucción SELECT y devuelve los nombres y los precios
de nuestros productos al usuario.
*CREATE VIEW vw_Names
* AS
* SELECT ProductName, Price FROM Products;
*GO
*Modificación de vistas
*Si se modifican los datos de una vista, se modifica la tabla base.
*Se puede insertar, actualizar o eliminar datos de una tabla a través de una vista, teniendo en
cuenta lo siguiente, las modificaciones que se realizan a las vistas:
*no pueden afectar a más de una tabla consultada. Pueden modificarse datos de una vista que
combina varias tablas pero la modificación solamente debe afectar a una sola tabla.
*no se pueden cambiar los campos resultados de un cálculo.
*pueden generar errores si afectan a campos a las que la vista no hace referencia. Por ejemplo, si
se ingresa un registro en una vista que consulta una tabla que tiene campos not null que no están
incluidos en la vista.
*la opción "with check option" obliga a todas las instrucciones de modificación que se ejecutan en
la vista a cumplir ciertos criterios que se especifican al definir la vista.
ALTER VIEW nombrevista
AS
SELECT FirstName, LastName, HireDate
FROM Employee
WHERE FirstName =’Maria’
GO
*Eliminación de vistas
Después de crear una vista, puede eliminarla si no la necesita o si desea
borrar la definición de la vista y los permisos asociados. Cuando se elimina una
vista, las tablas y los datos en los que está basada no se ven afectados.
DROP VIEW [ schema_name . ] view_name [ ...,n ] [ ; ]
schema_name
Es el nombre del esquema al que pertenece la vista.
view_name
Es el nombre de la vista que se va a quitar.
*Ejemplos
CREATE VIEW infoArtesM AS
SELECT *
FROM ACTIVIDADES
WHERE codigo_actividad LIKE ‘AM%’;
CREATE VIEW activMayor6 AS
SELECT *
FROM ACTIVIDADES
WHERE cuota > 1000
*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.
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.
*Recomendaciones
*En lo posible usar lo menos posible un ORDER BY dentro de la consulta y
dejarlo del lado del cliente o de la aplicación, ésta es una de las operaciones
que más consume recursos en una consulta.
*La cláusula ORDER BY solo se usa para determinar las filas devueltas por la
cláusula TOP u OFFSET en la definición de la vista. Esta cláusula no garantiza
resultados ordenados cuando se consulte la vista, a menos que también se
especifique ORDER BY en la propia consulta.
*Cuando se realiza una consulta a través de una vista, el Motor de base de datos
se asegura de que todos los objetos de base de datos a los que se hace
referencia en algún lugar de la instrucción existen, que son válidos en el
contexto de la instrucción y que las instrucciones de modificación de datos no
infringen ninguna regla de integridad de los datos. Las comprobaciones que no
son correctas devuelven un mensaje de error. Las comprobaciones correctas
traducen la acción a una acción con las tablas subyacentes.
*Una vista solo se puede crear en la base de datos actual. CREATE VIEW debe ser
la primera instrucción en un lote de consultas. Una vista puede tener un máximo
de 1.024 columnas.
*Cuando se crea una vista, la información sobre ella se almacena en estas vistas
de catálogo: sys.views, sys.columns y sys.sql_expression_dependencies. El texto
de la instrucción CREATE VIEW se almacena en la vista de catálogo
sys.sql_modules.
*El resultado de una consulta que utiliza un índice de una vista definido con
expresiones numeric o float podría diferir del resultado de una consulta similar
que no utiliza el índice de la vista. Esta diferencia se podría deber a errores de
redondeo durante las acciones INSERT, DELETE o UPDATE en las tablas
subyacentes.
*Conclusiones
*Apreciación del Equipo
*Las vistas por lo general solo ayudan a simplificar la búsqueda de algo
*Las vistas te permiten un nivel de abstracción mayor, ya que podrías evitar que
los usuarios accedieran directamente a las tablas.
*Si estás preocupado por el rendimiento, asegúrate que las consultas que ejecutas
tienen índices adecuados para resolverlas y que las llamadas las haces
parametrizadas o a través de procedimientos almacenados.
Vistas

Más contenido relacionado

La actualidad más candente (20)

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
 
1.3. MANEJO DE CONTROL DE DATOS
1.3.	MANEJO DE CONTROL DE DATOS1.3.	MANEJO DE CONTROL DE DATOS
1.3. MANEJO DE CONTROL DE DATOS
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sql
 
Vistas
VistasVistas
Vistas
 
VISTAS
VISTASVISTAS
VISTAS
 
Vistas
VistasVistas
Vistas
 
Vistas
Vistas Vistas
Vistas
 
Curso SQL - Leccion 1
Curso SQL - Leccion 1Curso SQL - Leccion 1
Curso SQL - Leccion 1
 
Curso SQL - Leccion 12
Curso SQL - Leccion 12Curso SQL - Leccion 12
Curso SQL - Leccion 12
 
Bdii 10 vistas_new
Bdii 10 vistas_newBdii 10 vistas_new
Bdii 10 vistas_new
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de Datos
 
Clase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQLClase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQL
 
Vistas
VistasVistas
Vistas
 
Vistasensqlymysql
VistasensqlymysqlVistasensqlymysql
Vistasensqlymysql
 
Sql
SqlSql
Sql
 
Curso Developer SQL 2012 enfocado a la Certificación 70-641
Curso Developer SQL 2012 enfocado a la Certificación 70-641Curso Developer SQL 2012 enfocado a la Certificación 70-641
Curso Developer SQL 2012 enfocado a la Certificación 70-641
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
 
Vistas
VistasVistas
Vistas
 
Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)
 
Clente servidor consultas sql
Clente servidor consultas sqlClente servidor consultas sql
Clente servidor consultas sql
 

Similar a Vistas (20)

Vistas
VistasVistas
Vistas
 
Diapositivas de vistas
Diapositivas de vistasDiapositivas de vistas
Diapositivas de vistas
 
Vistas
VistasVistas
Vistas
 
Vistas
Vistas Vistas
Vistas
 
Vistas
VistasVistas
Vistas
 
Indices y Vistas.pptx
Indices y Vistas.pptxIndices y Vistas.pptx
Indices y Vistas.pptx
 
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 mysql
Vistas en mysql Vistas en mysql
Vistas en mysql
 
Vistas en my sql
Vistas en my sqlVistas en my sql
Vistas en my sql
 
Base de datos
Base de datosBase de datos
Base de datos
 
Vistas.pptx
Vistas.pptxVistas.pptx
Vistas.pptx
 
Tarea bd
Tarea bdTarea bd
Tarea bd
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
 
Base de-datos-ii
Base de-datos-iiBase de-datos-ii
Base de-datos-ii
 
Vistas en sql
Vistas en sqlVistas en sql
Vistas en sql
 
Vistas
VistasVistas
Vistas
 
Leccion11
Leccion11Leccion11
Leccion11
 

Más de ana leydi linares serrano (17)

Los valores
Los valoresLos valores
Los valores
 
Prevención del Abuso sexual
Prevención del Abuso sexualPrevención del Abuso sexual
Prevención del Abuso sexual
 
ETL
ETLETL
ETL
 
Administracion de la seguridad de sql server
Administracion de la seguridad de sql serverAdministracion de la seguridad de sql server
Administracion de la seguridad de sql server
 
LENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQLLENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQL
 
Reportes en Java
Reportes en JavaReportes en Java
Reportes en Java
 
Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 
System.data.sqlclient
System.data.sqlclientSystem.data.sqlclient
System.data.sqlclient
 
Gestor de base de datos
Gestor de base de datosGestor de base de datos
Gestor de base de datos
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Jtable
JtableJtable
Jtable
 
ResultSet
ResultSetResultSet
ResultSet
 
Statement
StatementStatement
Statement
 
Connection
ConnectionConnection
Connection
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Java
JavaJava
Java
 

Último

Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 

Último (20)

Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 

Vistas

  • 1. INGENIERÍA DE SISTEMAS Y TELEMÁTICA Tema :VISTAS Curso : Base de datos II Docente : Ing. Marco Aurelio Porro Chulli Integrantes :  Ana Leydi Linares Serrano.  Delsi Yakelin Huamán Villanueva
  • 3. *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. *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.
  • 4. *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. * Una vista se define usando un "select".
  • 5. *Sintaxis create view NOMBREVISTA as SENTENCIAS SELECT from TABLA; *La sintaxis básica parcial para crear una vista es la siguiente: *El contenido de una vista se muestra con un "select": *select * from NOMBREVISTA;
  • 6. * Administración de Vistas (Creación, Modificación y Eliminación) *Creación de vistas Para crear una vista ejecute la instrucción siguiente para crear una vista muy sencilla que ejecuta una instrucción SELECT y devuelve los nombres y los precios de nuestros productos al usuario. *CREATE VIEW vw_Names * AS * SELECT ProductName, Price FROM Products; *GO
  • 7. *Modificación de vistas *Si se modifican los datos de una vista, se modifica la tabla base. *Se puede insertar, actualizar o eliminar datos de una tabla a través de una vista, teniendo en cuenta lo siguiente, las modificaciones que se realizan a las vistas: *no pueden afectar a más de una tabla consultada. Pueden modificarse datos de una vista que combina varias tablas pero la modificación solamente debe afectar a una sola tabla. *no se pueden cambiar los campos resultados de un cálculo. *pueden generar errores si afectan a campos a las que la vista no hace referencia. Por ejemplo, si se ingresa un registro en una vista que consulta una tabla que tiene campos not null que no están incluidos en la vista. *la opción "with check option" obliga a todas las instrucciones de modificación que se ejecutan en la vista a cumplir ciertos criterios que se especifican al definir la vista. ALTER VIEW nombrevista AS SELECT FirstName, LastName, HireDate FROM Employee WHERE FirstName =’Maria’ GO
  • 8. *Eliminación de vistas Después de crear una vista, puede eliminarla si no la necesita o si desea borrar la definición de la vista y los permisos asociados. Cuando se elimina una vista, las tablas y los datos en los que está basada no se ven afectados. DROP VIEW [ schema_name . ] view_name [ ...,n ] [ ; ] schema_name Es el nombre del esquema al que pertenece la vista. view_name Es el nombre de la vista que se va a quitar.
  • 9. *Ejemplos CREATE VIEW infoArtesM AS SELECT * FROM ACTIVIDADES WHERE codigo_actividad LIKE ‘AM%’; CREATE VIEW activMayor6 AS SELECT * FROM ACTIVIDADES WHERE cuota > 1000
  • 10. *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. 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.
  • 11. *Recomendaciones *En lo posible usar lo menos posible un ORDER BY dentro de la consulta y dejarlo del lado del cliente o de la aplicación, ésta es una de las operaciones que más consume recursos en una consulta. *La cláusula ORDER BY solo se usa para determinar las filas devueltas por la cláusula TOP u OFFSET en la definición de la vista. Esta cláusula no garantiza resultados ordenados cuando se consulte la vista, a menos que también se especifique ORDER BY en la propia consulta. *Cuando se realiza una consulta a través de una vista, el Motor de base de datos se asegura de que todos los objetos de base de datos a los que se hace referencia en algún lugar de la instrucción existen, que son válidos en el contexto de la instrucción y que las instrucciones de modificación de datos no infringen ninguna regla de integridad de los datos. Las comprobaciones que no son correctas devuelven un mensaje de error. Las comprobaciones correctas traducen la acción a una acción con las tablas subyacentes.
  • 12. *Una vista solo se puede crear en la base de datos actual. CREATE VIEW debe ser la primera instrucción en un lote de consultas. Una vista puede tener un máximo de 1.024 columnas. *Cuando se crea una vista, la información sobre ella se almacena en estas vistas de catálogo: sys.views, sys.columns y sys.sql_expression_dependencies. El texto de la instrucción CREATE VIEW se almacena en la vista de catálogo sys.sql_modules. *El resultado de una consulta que utiliza un índice de una vista definido con expresiones numeric o float podría diferir del resultado de una consulta similar que no utiliza el índice de la vista. Esta diferencia se podría deber a errores de redondeo durante las acciones INSERT, DELETE o UPDATE en las tablas subyacentes. *Conclusiones
  • 13. *Apreciación del Equipo *Las vistas por lo general solo ayudan a simplificar la búsqueda de algo *Las vistas te permiten un nivel de abstracción mayor, ya que podrías evitar que los usuarios accedieran directamente a las tablas. *Si estás preocupado por el rendimiento, asegúrate que las consultas que ejecutas tienen índices adecuados para resolverlas y que las llamadas las haces parametrizadas o a través de procedimientos almacenados.