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ícateLas 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:
- 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.
- 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.
- 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.
Otros 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
Inserción de datos: INSERT INTO
Filtrado de grupos de resultados con HAVING
Uso de índices y particiones
Renombrar tablas y bases de datos: RENAME
Uso de vistas
Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
Agrupación de resultados con GROUP BY
Creación y uso de subqueries
Sentencias INSERT
Copias de seguridad y restauración de bases de datos
Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
Instalación de MySQL
Relaciones entre tablas
Eliminación de datos: DELETE
Creación de bases de datos y tablas: CREATE DATABASE, CREATE TABLE
Creación y uso de funciones
Creación de tablas e inserción de datos con SQL
Uso de funciones agregadas: COUNT, SUM, AVG, MAX, MIN
Optimización de consultas
Introducción a SQL
Triggers y eventos
Clasificación de resultados con ORDER BY
Alterar la estructura de tablas existentes: ALTER TABLE
Eliminación de datos: DELETE
Instalación de PostgreSQL
Creación y uso de procedimientos almacenados
Consultas básicas de selección: SELECT y WHERE
Vaciar tablas y bases de datos: DROP
Actualización de datos: UPDATE
Creación y manejo de usuarios y roles
Consultas básicas de selección SELECT y WHERE
Creación de bases de datos y tablas
Bases de datos y tablas
Actualización de datos: UPDATE
Relaciones entre tablas
Filtrado de valores únicos con DISTINCT
Asignación y gestión de permisos
Todas las 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
Ddl Y Dml
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
Creación De Bases De Datos Y Tablas: Create Database, Create Table
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
Alterar La Estructura De Tablas Existentes: Alter Table
Sintaxis Ddl
Renombrar Tablas Y Bases De Datos: Rename
Sintaxis Ddl
Vaciar Tablas Y Bases De Datos: 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, Left Join, Right Join, Full 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
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender qué es una vista en SQL y cómo se diferencia de una tabla física.
- Aprender a crear vistas utilizando la sintaxis
CREATE VIEW
y cómo definir la consulta subyacente para la vista. - Conocer cómo modificar una vista existente con la declaración
ALTER VIEW
. - Aprender a eliminar vistas con la declaración
DROP VIEW
. - Reconocer cómo se pueden utilizar JOINs en la definición de vistas para combinar datos de varias tablas o vistas.