SQL

Tutorial SQL: Uso de vistas

SQL vistas: creación y uso. Aprende a crear y usar vistas en SQL con ejemplos prácticos y detallados.

Aprende SQL y certifícate

Las vistas en SQL son tablas virtuales creadas a partir del resultado de una consulta. Aunque no almacenan datos físicamente, se comportan como tablas en consultas y son herramientas poderosas por varias razones:

  1. Seguridad de datos: Se pueden usar vistas para restringir el acceso a datos sensibles. Por ejemplo, se puede crear una vista que solo muestre los campos necesarios para un usuario específico y oculte otros campos que contengan datos sensibles.
  2. Simplicidad: Las vistas también se pueden utilizar para simplificar consultas complejas. Si se tiene una consulta compleja que se usa frecuentemente, se puede crear una vista de esa consulta y luego referenciar la vista en lugar de tener que escribir toda la consulta cada vez.
  3. Consistencia: Las vistas proporcionan una representación consistente de los datos, incluso si los datos subyacentes cambian. Por lo tanto, se podría cambiar la estructura de la base de datos sin afectar a las aplicaciones que utilizan vistas.

Creación de vistas

La sintaxis para crear una vista en SQL es la siguiente:

CREATE VIEW vista_nombre AS
SELECT column1, column2,...
FROM table_name
WHERE [condition];

Por ejemplo, supóngase que se tiene una tabla Empleados con los campos id, nombre, cargo y salario. Pero se quiere que cierto grupo de usuarios solo pueda ver los nombres y los cargos de los empleados, no sus salarios ni identificadores. Se podría crear una vista para este propósito:

CREATE VIEW Vista_Empleados AS
SELECT nombre, cargo
FROM Empleados;

Una vez creada la vista, los usuarios pueden consultarla de la misma manera que consultarían cualquier otra tabla:

SELECT * FROM Vista_Empleados;

Modificación de vistas

Si se necesita cambiar la definición de una vista, se puede utilizar la declaración ALTER VIEW. La sintaxis es la siguiente:

ALTER VIEW vista_nombre AS
SELECT column1, column2,...
FROM table_name
WHERE [condition];

Por ejemplo, si se decide que los usuarios también deberían poder ver el id de los empleados, se podría modificar Vista_Empleados de la siguiente manera:

ALTER VIEW Vista_Empleados AS
SELECT id, nombre, cargo
FROM Empleados;

Eliminación de vistas

Puede eliminarse una vista con la declaración DROP VIEW. La sintaxis es la siguiente:

DROP VIEW vista_nombre;

Entonces, para eliminar Vista_Empleados, se usaría:

DROP VIEW Vista_Empleados;

Vistas con JOINs

Las vistas también pueden incluir JOINs entre varias tablas o vistas. Por ejemplo, si se tiene una segunda tabla Departamentos que incluye un id y un nombre_departamento, se podría crear una vista que muestre el nombre, el cargo y el nombre del departamento de cada empleado:

CREATE VIEW Vista_Empleados_Departamentos AS
SELECT E.nombre, E.cargo, D.nombre_departamento
FROM Empleados E
INNER JOIN Departamentos D ON E.id = D.id;

Notas importantes

  • Las vistas son especialmente útiles en escenarios como informes complejos o cuando se necesita acceso restringido a datos específicos.
  • El rendimiento puede verse afectado si las vistas se basan en consultas complejas o se acceden con frecuencia. Es importante equilibrar la comodidad de las vistas con su impacto en el rendimiento de la base de datos.
  • Vistas materializadas: En ciertos casos, las vistas materializadas, que almacenan datos físicamente, pueden ser una alternativa efectiva. Estas vistas ofrecen un mejor rendimiento en situaciones donde las consultas subyacentes son muy costosas y los datos no cambian con frecuencia.

Conclusión

Las vistas en SQL son herramientas versátiles que ofrecen seguridad, simplificación y consistencia en el manejo de datos. Sin embargo, es crucial usarlas estratégicamente y estar consciente de su impacto en el rendimiento. La comprensión adecuada de cuándo y cómo utilizar vistas y vistas materializadas es esencial para cualquier administrador de bases de datos.

Aprende SQL online

Otras lecciones de SQL

Accede a todas las lecciones de SQL y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Introducción A Sql

Introducción Y Entorno

Introducción A Ddl

Introducción Y Entorno

Instalación De Mysql

Introducción Y Entorno

Instalación De Postgresql

Introducción Y Entorno

Tipos De Datos

Introducción Y Entorno

Bases De Datos Y Tablas

Introducción Y Entorno

Sistemas De Gestión De Bases De Datos

Introducción Y Entorno

Tipos De Bases De Datos

Introducción Y Entorno

Definición De Ddl Y Dml

Introducción Y Entorno

Creación Con Create

Sintaxis Dml Crud

Consultas Básicas De Selección: Select Y Where

Sintaxis Dml Crud

Inserción De Datos: Insert Into

Sintaxis Dml Crud

Actualización De Datos: Update

Sintaxis Dml Crud

Eliminación De Datos: Delete

Sintaxis Dml Crud

Introducción A Dml

Sintaxis Dml Crud

Consultar Datos: Select

Sintaxis Dml Crud

Clasificación De Resultados Con Order By

Filtros Y Clasificación

Filtrado De Valores Únicos Con Distinct

Filtros Y Clasificación

Paginación Con Limit Y Offset

Filtros Y Clasificación

Modificar Con Alter

Sintaxis Ddl

Renombrar Con Rename

Sintaxis Ddl

Borrar Con Drop

Sintaxis Ddl

Uso De Funciones Agregadas: Count, Sum, Avg, Max, Min

Funciones Y Agrupación

Agrupación De Resultados Con Group By

Funciones Y Agrupación

Filtrado De Grupos De Resultados Con Having

Funciones Y Agrupación

Funciones Numéricas Y Matemáticas

Funciones Y Agrupación

Funciones De Fecha Y Hora

Funciones Y Agrupación

Funciones De Texto

Funciones Y Agrupación

Many To One

Asociaciones Entre Tablas

One To Many

Asociaciones Entre Tablas

One To One

Asociaciones Entre Tablas

Many To Many

Asociaciones Entre Tablas

Relaciones Entre Tablas

Joins Y Subqueries

Uso De Inner Join

Joins Y Subqueries

Creación Y Uso De Subqueries

Joins Y Subqueries

Left Join Y Right Join

Joins Y Subqueries

Full Join

Joins Y Subqueries

Cross Join Y Self Join

Joins Y Subqueries

Optimización De Consultas

Sintaxis Avanzada

Uso De Índices Y Particiones

Sintaxis Avanzada

Uso De Vistas

Sintaxis Avanzada

Triggers Y Eventos

Sintaxis Avanzada

Particiones

Sintaxis Avanzada

Restricciones E Integridad

Sintaxis Avanzada

Transacciones

Sintaxis Avanzada

Vistas Materializadas

Sintaxis Avanzada

Rollback

Sintaxis Avanzada

Vistas Con Create View

Sintaxis Avanzada

Principios Acid

Sintaxis Avanzada

Manejo De Errores Y Excepciones

Sintaxis Avanzada

Funciones Ventana

Sintaxis Avanzada

Índices

Sintaxis Avanzada

Expresiones De Tabla Comunes (Cte) Con With

Sintaxis Avanzada

Creación Y Uso De Funciones

Programación En Sql

Creación Y Uso De Procedimientos Almacenados

Programación En Sql

Variables Y Control De Flujo

Programación En Sql

Creación Y Manejo De Usuarios Y Roles

Seguridad Y Administración

Asignación Y Gestión De Permisos

Seguridad Y Administración

Copias De Seguridad Y Restauración De Bases De Datos

Seguridad Y Administración

Accede GRATIS a SQL y certifícate

Ejercicios de programación de SQL

Evalúa tus conocimientos de esta lección Uso de vistas con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Tipos de datos

Test

Inserción de datos: INSERT INTO

Test

Filtrado de grupos de resultados con HAVING

Test

Uso de índices y particiones

Test

Renombrar tablas y bases de datos: RENAME

Test

Uso de vistas

Test

Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN

Test

Agrupación de resultados con GROUP BY

Test

Creación y uso de subqueries

Test

Sentencias INSERT

Código

Copias de seguridad y restauración de bases de datos

Test

Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN

Código

Instalación de MySQL

Test

Relaciones entre tablas

Código

Eliminación de datos: DELETE

Test

Creación de bases de datos y tablas: CREATE DATABASE, CREATE TABLE

Test

Creación y uso de funciones

Test

Creación de tablas e inserción de datos con SQL

Proyecto

Uso de funciones agregadas: COUNT, SUM, AVG, MAX, MIN

Test

Optimización de consultas

Test

Introducción a SQL

Test

Triggers y eventos

Test

Clasificación de resultados con ORDER BY

Test

Alterar la estructura de tablas existentes: ALTER TABLE

Test

Eliminación de datos: DELETE

Código

Instalación de PostgreSQL

Test

Creación y uso de procedimientos almacenados

Test

Consultas básicas de selección: SELECT y WHERE

Test

Vaciar tablas y bases de datos: DROP

Test

Actualización de datos: UPDATE

Test

Creación y manejo de usuarios y roles

Test

Consultas básicas de selección SELECT y WHERE

Código

Creación de bases de datos y tablas

Código

Bases de datos y tablas

Test

Actualización de datos: UPDATE

Código

Relaciones entre tablas

Test

Filtrado de valores únicos con DISTINCT

Test

Asignación y gestión de permisos

Test

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender qué es una vista en SQL y cómo se diferencia de una tabla física.
  2. Aprender a crear vistas utilizando la sintaxis CREATE VIEW y cómo definir la consulta subyacente para la vista.
  3. Conocer cómo modificar una vista existente con la declaración ALTER VIEW.
  4. Aprender a eliminar vistas con la declaración DROP VIEW.
  5. Reconocer cómo se pueden utilizar JOINs en la definición de vistas para combinar datos de varias tablas o vistas.