Vistas en MySql
¿Que es una vista?
Una vista es una tabla virtual que reside en tu Bases de Datos. Al igual que las tablas poseen filas y columnas.
Las vistas están vinculadas a una consulta y esto las vuelve interesante (incluso geniales) porque de esta manera es posible agrupar en una tabla campos de múltiples tablas evitando estar haciendo JOINs constantemente. Creamos una vista y hacemos todos los JOINs necesarios, la vinculamos a la vista luego consultamos las vistas como una tabla más.
Las vistas solo mantiene una estructura de campos, los registros siguen estando en las respectivas tablas.
Ejemplo
Vamos a crear 2 tablas USUARIO y EMPLEADO.
Ahora supongamos que queremos guardar el correo, el nombre y el apellido el turno y el puesto en una sola tabla.
Creamos una vista y ahora esa vista se va a rellenar con los registros que arroje la consulta.
Si hacemos un SELECT * FROM EMP obtenemos:
Podemos hacer un SELECT * FROM EMP WHERE emp.turno = "Tarde" y obtenemos
NOTA: La id no nos aparece porque no la incluimos al conformar la lista. Vamos a tomar la id del empleado, para ello debemos modificar la vista.
Podemos modificar una vista de dos formas:
- Utilizando el comando REPLACE.
- Utilizando ALTER VIEW EMP AS NUEVA CONSULTA.
Cualquiera de las dos formas va a terminar vinculando una nueva consulta a la vista.
Si ejecutamos nuevamente esta consulta SELECT * FROM EMP WHERE emp.turno = "Tarde" obtenemos:
Lo "malo" es que podemos hacer consultas INSERT,UPDATE y DELETE en la vista pero siempre trabajando con esos campos.
Vamos a modificar el turno de custodio con id=6. Va a trabajar a la mañana.
En nuestra tabla empleado también se modifico ese registro.
Como dijimos, la vista contiene la estructura de de varias tablas y toma los registros de los campos de esas tablas.
Si hacemos un DELETE se borramos el mismo registro en la vista también se borraría en la tabla donde esta ese registro.
Para hacer un INSERT de un empleado deberíamos crear el usuario por un lado ingresando valores solamente en los campos username y pwd (para ingresar el resto de los valores desde la vista deberíamos hacer un UPDATE a los campos faltantes) obtener su id. Después deberíamos insertar un registro en empleado con el campo sueldo, obtenemos su id e insertamos el resto de los campos desde la vista.
Resumen
- Las vistas son tablas virtuales dentro de nuestra Base de Datos.
- Las vistas crean su estructura a partir de los campos que tengamos en la consulta vinculada.
- Constituyen una manera más eficiente de acceder a un grupo de valores que están distribuidos en diferentes tablas.
- Con las vistas podemos insertar actualizar y eliminar datos.
- Cualquier modificación que hagamos en la vista se refleja en los campos de los registros de las tablas o en los mismos registros (en caso de un DELETE).
¡Saludos programadores del mundo!
Comentarios
Publicar un comentario