Uso de vistas

Avanzado
SQL
SQL
Actualizado: 27/08/2024

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

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:

¿Te está gustando esta lección?

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

  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.

Aprendizajes 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.

Completa SQL y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración