Vistas en MySQL Tutorial: crear, unir y soltar con ejemplos

¿Qué son vistas?

En pocas palabras, las VIEWS son tablas virtuales. Por virtual, queremos decir que las tablas no almacenan ningún dato propio, sino que muestran los datos almacenados en otras tablas.

En otras palabras, VIEWS no es más que SELECT Queries.

Sintaxis de vistas

Veamos ahora la sintaxis básica utilizada para crear una vista en MySQL.

DÓNDE

  • “CREATE VIEW view_name le dice al servidor MySQL que cree un objeto de vista en la base de datos llamado view_name
  • “AS SELECT statement” son las sentencias SQL que se empaquetarán en las vistas. Puede ser una instrucción SELECT que puede contener datos de una tabla o varias tablas.

Ahora crearemos nuestra primera vista usando el “myflixdb” crearemos una vista simple que restringe las columnas vistas en la tabla de miembros.

Supongamos que los requisitos de autorización establecen que el departamento de cuentas solo puede ver el número, nombre y género del miembro en la tabla del miembro. Para lograr esto, puede crear una VISTA –

Ejecutar el script anterior en MySQL workbench contra myflixdb y expandir el nodo views en el explorador de la base de datos nos da los siguientes resultados.

Tenga en cuenta que el objeto accounts_v_members ahora está visible en los objetos de vistas de la base de datos. Vamos a ejecutar ahora una declaración SELECT que selecciona todos los campos de la vista.

Ejecutar el script anterior en MySQL workbench contra myflixdb nos da los siguientes resultados que se muestran a continuación.

número de socio nombres completos género
1 Janet Jones Hembra
2 Janet Smith Jones Hembra
3 Robert Phil Masculino
4 Gloria Williams Hembra
5 Leonard Hofstadter Masculino
6 Sheldon Cooper Masculino
7 Rajesh Koothrappali Masculino
8 Leslie Winkle Masculino
9 Howard Wolowitz Masculino

Solo se han devuelto las columnas autorizadas para el departamento de cuentas. Se han ocultado otros detalles encontrados en la tabla de miembros.

Si queremos ver las declaraciones SQL que conforman una vista particular, podemos usar la secuencia de comandos que se muestra a continuación para hacer eso.

La ejecución de la secuencia de comandos anterior le da el nombre de la vista y las instrucciones SQL SELECT utilizadas para crear la vista.

Uniones y vistas

Veamos ahora un ejemplo bastante complejo que involucra múltiples tablas y usa combinaciones.

Vamos a empaquetar el JOIN creado que obtiene información de tres (3) tablas, es decir, miembros, películas y alquiler de películas. A continuación se muestra el guión que nos ayuda a lograr eso.

La ejecución de los scripts anteriores crea la vista llamada general_v_movie_rentals en nuestro myflixdb

Vamos a seleccionar todos los campos de una tabla llamada general_v_movie_rentals.

Ejecutar el script anterior en MySQL workbench contra myflixdb nos da los siguientes resultados que se muestran a continuación.

número de socio nombres completos título Fecha de Transacción Fecha de regreso
1 Janet Jones Piratas del Caribe 4 20-06-2012 28-06-2012
1 Janet Jones Olvidando a Sarah Marshal 22-06-2012 25-06-2012
3 Robert Phil Olvidando a Sarah Marshal 22-06-2012 25-06-2012
2 Janet Smith Jones Olvidando a Sarah Marshal 21-06-2012 24-06-2012
3 Robert Phil X Men 23-06-2012 28-06-2012

Tenga en cuenta que no tuvimos que escribir la compleja consulta JOIN para obtener información sobre miembros, películas y detalles de alquiler de películas. Simplemente usamos la vista en una declaración SELECT normal como cualquier otra tabla ordinaria. Se puede llamar a la vista desde cualquier lugar del sistema de aplicación que se ejecuta en la parte superior de myflixdb.

Dejar caer puntos de vista

El comando DROP se puede utilizar para eliminar una vista de la base de datos que ya no es necesaria. La sintaxis básica para descartar una vista es la siguiente.

¿Por qué usar vistas?

Es posible que desee utilizar vistas principalmente por los siguientes 3 motivos

  • En última instancia, utilizará su conocimiento de SQL para crear aplicaciones, que utilizarán una base de datos para los requisitos de datos. Se recomienda que utilice VIEWS de la estructura de la tabla original en su aplicación en lugar de usar las tablas. Esto garantiza que cuando realice cambios en la estructura de su base de datos, sus aplicaciones no se rompan.
  • VIEWS aumenta la reutilizabilidad. No tendrá que crear consultas complejas que impliquen uniones repetidamente. Toda la complejidad se convierte en una sola línea de VIEWS de uso de consulta. Tal código condensado será más fácil de integrar en su aplicación. Esto eliminará las posibilidades de errores tipográficos y su código será más legible.
  • VIEWS ayuda en la seguridad de los datos. Puede usar vistas para mostrar solo la información autorizada a los usuarios y ocultar datos confidenciales, como números de tarjetas de crédito.

Resumen

  • Las vistas son tablas virtuales; no contienen los datos que se devuelven. Los datos se almacenan en las tablas a las que se hace referencia en la instrucción SELECT.
  • Las vistas mejoran la seguridad de la base de datos al mostrar solo los datos previstos a los usuarios autorizados. Ellos esconden datos confidenciales.
  • Las vistas facilitan la vida ya que no tiene que escribir consultas complejas una y otra vez.
  • Es posible usar INSERT, UPDATE y DELETE en una VISTA. Estas operaciones cambiarán las tablas subyacentes de la VISTA. La única consideración es que VIEW debe contener todas las columnas NOT NULL de las tablas a las que hace referencia. Idealmente, no debería usar VIEWS para actualizar.

 

 

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *