Crear vistas en una base de MySQL
Crear vistas en una base de MySQL. Repasaremos la sentencia CREATE VIEW MySQL, su objetivo es crear tablas virtuales a partir de consulta de una tabla existente.
Las vistas no pueden tener el mismo nombre de la tabla original, sin embargo, tienen la misma estructura de filas y columnas de la tabla original.
Sintaxis de la sentencia CREATE VIEW MySQL
Veamos la sintaxis básica de esta función extraída del portal oficial:
CREATE [OR REPLACE] VIEW nombre_de_vista [column_list] AS consulta_SELECT
Crear vistas en una base de MySQL
Definición del código anterior para crear vistas en MySQL:
- OR REPLACE: Reemplaza una vista que existente.
- nombre_vista: Nombre de la vista tabla a crear.
- column_list: Las columnas a crear en la vista.
- consulta_SELECT: Consulta SELECT para obtener los datos de la vista.
Ventajas de usar vistas en MySQL
Enumero varias ventajas de las que soy consciente
- Facilita el manejo de grandes datos de información, siendo más rápidos de ejecutar.
- Brinda una mayor seguridad a la hora de obtener la información.
- Nos evita la redundancia de los datos de la base de datos.
- Privacidad de datos: Solo mostramos una vista a la información que creamos disponible para los usuarios. Con esto, no se brinda la tabla original con todos sus filas y columnas.
- Optimización del rendimiento: Podemos crear consultas sobre vistas complejas y grandes, sin embargo, esta vista ha sido extraída y creada a través de unas SELECT complejas y anidadas. De esta manera no saturamos al servidor con inmensas consultas.
- Vistas de prueba: Para los programadores se suele utilizar las vistas para no tener perder información.
Desventajas de usar vistas MySQL
- El rendimiento ya que las vistas crean una apariencia de tabla en MySQL, por lo que el gestor debe traducir las consultas creadas en la vista.
- Se debe tener mucho cuidado al utilizar las vista porque consume mucho procesador del servidor, porque no almacena los datos, sino la sentencia y se ejecuta cada vez que llamamos la vista.
- Crea dependencia a la tabla orignal, si cambia la data original, la VISTA debe modificarse siempre.
Ejemplos para crear vistas en MySQL:
CREATE VIEW vista_alumnos AS SELECT * FROM alumnos;
En el código superior estaríamos creando una vista con todas las filas y columnas de la tabla alumnos de un colegio.
CREATE VIEW vista_alumnos AS SELECT alumnos.id, nombre, grado FROM alumnos WHERE edad < 15;
En este otro código estaríamos obteniendo una vista con los datos de los alumnos mayores de 15 años, usaremos la sentencia WHERE.