Vista
Una vista en MySQL Server es una tabla virtual, con una estructura que nosotros definimos, pero sin datos, ya que los datos de esa tabla serán llenados a partir de una consulta, eso, también se puede realizar con procedimientos almacenados, pero esos los veremos mas adelante, pero la diferencia con ellos es que los procedimientos almacenados aceptan parámetros y las vistas no. Pero pasemos a la práctica que es lo que nos interesa, nos gusta y nos enseña.
Ejercicio 1:
Crear una VISTA,
que nos muestre los equipos de México y el nombre de su estadio, capacidad y
ciudad, utilizando la sentencia CREATE
VIEW
CREATE VIEW
equipos_estadios_mexico
AS
select eq.idequipo, eq.abreviacion, eq.nombre, e.nombre as NombreEstadio, e.capacidad,e.ciudad
from equipos eq
inner join estadios e
on e.idestadio=eq.idestadio
where eq.codigopais='MX';
Al ejecutar esta sentencia, estamos creando la tabla temporal, cuyos datos son el resultado de la consulta que estamos creando, para confirmar lo que les digo queridos lectores, vamos a mostrar las tablas que tiene nuestra base de datos:
show tables
Como ven tenemos una nueva tabla creada llamada equipos_estadios_mexico, que se creo con la vista, para consultar la tabla, basta con hacer un SELECT en ella, de la siguiente manera:
select * from equipos_estadios_mexico
Y obtendremos el siguiente resultado:
Como ven, esa tabla virtual nos devuelve el resultado de la consulta, y es lo que se conoce como VISTA, pero podemos preguntarnos, si es una tabla virtual, ¿podremos borrar datos?, esa sería una buena y lógica pregunta, pues bien, la respuesta es no, para empezar la VISTA es una tabla virtual, no es una tabla real que llenamos de un formulario o de algún procedimiento, en segundo lugar la consulta viene de los JOINS, en tercer lugar el idequipo es una llave primaria y ya hay partidos registrados a ese equipo y si recordamos los primeros post, no podíamos borrar registros ligados para cuidar la integridad de la información, pero vamos a intentarlo, para que no quede todo en la teoría.
delete from equipos_estadios_mexico where idequipo=1
Ahora se podrán hacer otra pregunta: Al ser una tabla virtual ¿se podrá unir con otra mediante el uso de JOIN? Pues bien, esa es otra pregunta lógica e interesante y la respuesta es SI, podemos usar las VISTAS para unirla a otra tabla mediante los JOINS y para eso vamos a utilizar un ejemplo:
Ejercicio 2:
Mostrar la información de todos los partidos que ha jugado el equipo “Cruz Azul” en toda la historia de la
base de datos, utilizando la VISTA
equipos_estadios_mexico unida a la tabla PARTIDOS mediante el uso de JOIN
select p.num_partido, p.jornada, p.fecha, p.equipolocal, p.GolesLocal, p.equipovisitante,p.golesvisitante, eem.nombreestadio, eem.capacidad
from partidos p
inner join equipos_estadios_mexico eem on eem.idequipo = p.idEquipoLocal
where (p.idEquipoLocal = 1 or p.idequipovisitante=1)
Como pueden ver queridos estudiantes, estamos uniendo la tabla PARTIDOS con la tabla virtual EQUIPOS_ESTADIOS_MEXICO, de esta manera nos ahorramos un JOIN más, y no ligamos tres tablas, sino solo dos. Veamos algunas de las ventajas de las vistas
Ventajas de las Vistas
- Se almacenan en el servidos, por lo cual estarán siempre disponibles
- Guardan una consulta compleja y la ejecución posterior se vuelve más fácil
- Ocultan el nombre de las tablas y campos del que procede la información a otros desarrolladores.
- Simplifican el uso de JOINS
Seguramente alguien sepa más ventajas del uso de las vistas, si es así pueden comentar.
Hasta aquí el post queridos lectores, si tienes alguna duda o comentario no vacilen en preguntar, estoy a sus ordenes para lo que gusten, no se olviden de dar +1, comentar, o dar clic en algún anuncio patrocinador.
Saludos!!
No hay comentarios.:
Publicar un comentario