Views (Vistas) desde MySQL

Vista (VIEW): 

Un view es una tabla virtual o una tabla lógica que es definida mediante una consulta SQL. Los views no almacenan la data solo se ejecutan cada vez que se llaman, esta tabla se crea para facilitar el trabajo con consultas de gran tamaño.

La sintaxis es: 

EJEMPLO:




Ventajas de utilizar view’s:
  • Una vista permite simplificar las sentencias complejas de consulta. Ejemplo: cuando no piden un reporte y tenemos que consultar varias tablas y luego crear los filtros, solo tendríamos que crear un view con la consulta hacia las diferentes tablas y luego llamamos el view desde una sentencia SQL y con la cláusula WHERE filtrariamos los resultados.
  • Además podemos utilizar las vista para proporcionar una capa de seguridad adicional a nuestra base de datos.


Desventajas de utilizar view’s:
  • Al que tener cuidado al utilizar las vista porque consume mucho procesador, porque no se almacena la data, sino la sentencia SQL y se ejecuta cada vez que llamamos el VIEW.
  • Las vista dependen de la estructura de la tabla así que si las estructura cambia, el VIEW debe modificarse también.


Reglas del SELECT en el VIEW:
  • La consulta puede contener un SubQuery en el WHERE pero no el FROM.
  • La consulta no puede referirse a ninguna variable.

La cláusula ALGORITHM:
Es la que define el método de control de la vista, MySQL provee tres mecanismo de control: MERGE, TEMPTABLE y UNDEFINED.

MERGE: Este método es más eficiente que TEMPTABLE, gracias ha que combina las sentencias del WHERE con la del WHERE que la está consultando.


TEMPTABLE: el nombre lo deja sobreentendido este algoritmo crea una tabla temporal que luego el usuario modulara, ya que el motor de la base de datos tiene que buscar los datos regular en varias tablas y crear la tabla temporal resulta ser menos eficiente que MERGE; además no es actualizable.

UNDEFINED: cuando no se especifica ningún algoritmo MySQL toma la decisión del algoritmo a utilizar.

Ejemplo,modelo de nuestra base de datos:



Tenemos las siguientes data en las tablas:

En la empresa nos piden un reporte de todos los articulos con el nombre del fabricante, el nombre del articulo y el precio >= 1000. Creamos un VIEW  con la siguiente sentencia SQL.


Creamos el siguiente VIEW:

Gracias por leer este post, espero que sea de ayuda.
Fuente: mysqltutorial.org

Script SQL con las tablas mas los INSERT. DOWNLOAD

Comenta!.

Comments

Popular posts from this blog

RESET EPSON L800 FREE (GRATIS)

Reset printer EPSON L130, L220, L310, L360, L365