Introducción a las vistas en mysql

Introducción a las vistas en mysql

En este tutorial vamos a ver para que sirven, como utilizar las vistas en mysql y la diferencia entre éstas y los procedimientos almacenados. Nosotros podemos tener por ejemplo una tabla llamada usuarios y otra llamada comentarios, la relación entre las dos tablas será simple, un usuario puede tener muchos comentarios, pero un comentario sólo puede pertenecer a un usuario, 1 a muchos de usuarios a comentarios, y muchos a 1 de comentarios a usuarios, sencillo.

Siempre podemos realizar la siguiente consulta desde php(o el lenguaje que utilicemos) de la siguiente forma.

Y por supuesto que funcionará, aunque también es cierto que será más lento que una vista en mysql y necesitará más recursos.

Vistas en mysql

Pero primero, debemos entender que son las vistas en mysql y para que podemos utilizarlas. Una vista en mysql es una tabla virtual con una estructura que nosotros definimos pero sin datos.

¿En que nos pueden ayudar las vistas?. Las respuestas son varias, y seguro que hay muchas que desconozco, pero las que entiendo de forma directa son las siguientes:

  • Se almacenan en el servidor con lo que el consumo de recursos y eficacia siempre serán más óptimos.
  • En temas de seguridad siempre es mejor utilizar vistas en lugar de permitir a nadie acceder directamente a los datos, nosotros mostramos al resto de desarrolladores los datos que queremos.
  • Podemos llamarlas de forma sencilla en una consulta y utilizar clausulas contra las mismas, ahora veremos unos ejemplos.
  • Pueden haber desarrolladores con poca experiencia y con dificultades por hacer complejas consultas, podemos darles la opción de simplemente llamar a una vista para así obtener los datos.
  • Una vista es un camino simple para guardar complejas consultas de selección en nuestra base de datos.
  • Una diferencia entre vistas y procedimientos almacenados es que las primeras no aceptan parámetros, no siendo así con los procedimientos almacenados, que si los aceptan.
  • Un procedimiento almacenado suele utilizarse cuando no es suficiente una simple consulta sql. Los procedimientos almacenados contienen variables, bucles y llamadas a otros procedimientos almacenados.

Y así podemos seguir un buen rato, pero creo que ha quedado claro el concepto, para eso pueden ser útiles las vistas, ahora veamos como crearlas y utilizarlas, empecemos.

Lo primero que podemos hacer es crear una base de datos llamada vistas y las siguientes tablas con los siguientes datos.

Si ahora hacemos la siguiente consulta obtendremos todos los registros relacionados.

Introducción a las vistas en mysql

Esta consulta es simple y no debe dar problemas a ningún desarrollador/programador web, pero puede darse el caso de que la consulta sea mucho más compleja y entonces no todos deban saber como llevarla a cabo, para evitar éstos y otros casos vamos a utilizar vistas, así que creemos la siguiente.

Me imagino que estará claro, pero por si acaso, el concepto de vista es global a nuestra base de datos, no es contra una tabla de forma directa como si lo son los triggers.

De esta forma tan simple, hemos creado en nuestra base de datos una tabla virtual llamada usuarios_comentarios la cuál está formada por una consulta que obtiene datos de las tablas usuarios y comentarios, así de simple.

Por si existe la duda, nuestra tabla virtual utilizará como índices los que existan en las tablas que ha utilizado, es decir, en nuestra tabla usuarios el campo id y en la tabla comentarios tanto el campo id como el campo usuario_id.

Ahora, para utilizar nuestra vista es sencillo, simplemente podemos hacer lo siguiente.

Y obtendremos lo siguiente.

Introducción a las vistas en mysql

Pero lo mejor de utilizar vistas, a parte de poder llamarlas de forma tan sencilla, es que también podemos utilizar ORDER BY, LIMIT y WHERE, por ejemplo como sigue.

Y obtendremos el usuario con id 2 como sigue.

Introducción a las vistas en mysql

Y eso es todo, espero que te sirva para introducirte en estos temas, ya que creo que son completamente necesarios para ser un buen desarrollador web, saludos.

Si te ha parecido interesante, no lo dejes aquí

visítanos en cursosdesarrolloweb.es

Tenemos cursos sobre desarrollo web y móvil actualizados donde utilizamos las últimas tecnologías.

19 Comentarios

  1. joy shena
  2. Mario
  3. alonso
  4. Chelo
    • israel965
  5. alejandra camilla
  6. Andres
    • israel965
    • israel965
  7. giovanny
    • israel965
  8. Conde
  9. carlos
    • israel965
  10. David
    • israel965

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies
Desarrolla una tienda en tiempo real con Angular 5 y FirestoreAcceder ahora
+ +