Base de datos Las vistas reducen la complejidad de la experiencia del usuario final y limitan el acceso de los usuarios a los datos contenidos en las tablas de la base de datos. Esencialmente, una vista usa los resultados de una consulta de base de datos para rellenar dinámicamente el contenido de una tabla de base de datos virtual.
¿Por qué utilizar vistas?
Hay dos razones principales para proporcionar a los usuarios acceso a los datos a través de vistas en lugar de proporcionarles acceso directo a las tablas de la base de datos:
- Las vistas brindan seguridad simple y granular. Utilice una vista para limitar los datos que un usuario puede ver en una tabla. Por ejemplo, si tiene una tabla de empleados y desea proporcionar a algunos usuarios acceso a los registros de empleados a tiempo completo, puede crear una vista que contenga solo esos registros. Esto es mucho más fácil que la alternativa (crear y mantener una tabla de sombra) y asegura la integridad de los datos.
- Las vistas simplifican la experiencia del usuario. Las vistas ocultan detalles complejos de las tablas de su base de datos a los usuarios finales que no necesitan verlos. Si un usuario vuelca el contenido de una vista, no verá las columnas de la tabla que no están seleccionadas por la vista y es posible que no comprenda. Esto los protege de la confusión causada por columnas con nombres incorrectos, identificadores únicos y teclas de mesa.
Crear una vista
Crear una vista es bastante sencillo: simplemente cree una consulta que contenga las restricciones que desea aplicar y colóquela dentro del comando CREAR VISTA. Aquí está la sintaxis general:
CREAR VISTA nombre de vista COMO
Por ejemplo, para crear la vista del empleado a tiempo completo, emita el siguiente comando:
CREAR VER a tiempo completo COMO
SELECCIONAR nombre, apellido, id_empleado
DE empleados
DONDE estado = 'FT';
Modificar una vista
Cambiar el contenido de una vista usa exactamente la misma sintaxis que la creación de una vista, pero use el comando ALTER VIEW en lugar del comando CREATE VIEW. Por ejemplo, para agregar una restricción a la vista de tiempo completo que agrega el número de teléfono del empleado a los resultados, emita el siguiente comando:
ALTER VER TODO TIEMPO COMO
SELECT nombre, apellido, id_empleado, teléfono
DE empleados
DONDE estado = 'FT';
Eliminar una vista
Es simple eliminar una vista de una base de datos usando el comando DROP VIEW. Por ejemplo, para eliminar la vista del empleado a tiempo completo, use el siguiente comando:
DROP VIEW a tiempo completo;
Vistas vs. Vistas materializadas
Una vista es una mesa virtual. A vista materializada es esa misma vista escrita en el disco y accesible como si fuera una tabla por derecho propio.
Cuando ejecuta una consulta en una vista, la consulta secundaria que genera la vista se ejecuta en tiempo real y luego esos resultados retroalimentan a la consulta principal original. Si sus vistas son excepcionalmente complejas o su consulta principal requiere una gran cantidad de combinaciones hash entre varias tablas y vistas, su consulta principal se ejecutará con la velocidad de una tortuga.
Una vista materializada acelera la ejecución de consultas porque funciona como una consulta precompilada escrita en el disco y, por lo tanto, se ejecuta tan rápido como una tabla. Sin embargo, las vistas materializadas son tan buenas como los procedimientos de eventos que las actualizan. A largo plazo, con un buen mantenimiento, las vistas materializadas aceleran las cosas con una pequeña compensación en el tiempo de actualización del retraso, sin el Necesidad de un montón de tablas de sombra que pueden quedar inactivas y consumir espacio en el disco o generar las consultas de otra persona. inapropiadamente.