vistas en mysql

12
VISTAS EN MySQL Samuel Fuentes Navalón Laura Daza Moya Eduardo Anguita Pino

Upload: eduardo-ed

Post on 05-Aug-2015

59 views

Category:

Internet


3 download

TRANSCRIPT

VISTAS EN MySQL

Samuel Fuentes NavalónLaura Daza Moya

Eduardo Anguita Pino

-En teoría de bases de datos, una vista es una

consulta accesible como una tabla virtual en una base de datos relacional o en un conjunto de documentos en una base de datos orientada a documentos.

-Las vistas tienen la misma estructura que una tabla: filas y columnas.

-Una vista es un objeto de la base de datos que se define mediante un SELECT que agrupa o selecciona un conjunto de datos.

DEFINICIÓN

CREATE [OR REPLACE] [ALGORITHM =

{UNDEFINED | MERGE | TEMPTABLE}] VIEW nombre_de_vista [(columnas)] AS sentencia_select

-Esta sentencia crea una vista nueva o reemplaza un a existente si se incluye la cláusula OR REPLACE. La sentencia_select es una sentencia select que proporciona la definición de la vista.

SINTAXIS

-Toda vista pertenece a una base de datos. Para

crear una vista en una base de datos específica indicarla con base_de_datos.nombre_vista.

-Al igual que las tablas, las vistas no pueden tener nombres de columnas duplicados.

-Las vistas pueden crearse a partir de varios tipos de sentencias SELECT. Pueden hacer referencia a tablas o a otras vistas. Pueden usar combinaciones, UNION, y subconsultas. El SELECT inclusive no necesita hacer referencia a otras tablas.

DATOS DE INTERÉS

ALTER [ALGORITHM = {UNDEFINED | MERGE |

TEMPTABLE}] VIEW nombre_vista [(columnas)]

AS sentencia_select [WITH [CASCADED | LOCAL] CHECK OPTION] -Esta sentencia modifica la definición de una vista

existente. La sintaxis es semejante a la empleada en CREATE VIEW. Se requiere que posea los permisos CREATE VIEW y DELETE para la vista, y algún privilegio en cada columna seleccionada por la sentencia SELECT.

MODIFICAR LAS VISTAS

Mediante la palabra clave “ALGORITHM” podemos indicar

como deseamos que funcione: UNDEFINED: Dejamos que sea MySQL quien decida el

algoritmo por si mismo, es el caso por defecto. MERGE: Se refiere a que junte la query que se hace sobre

la vista con la query de la vista y se ejecute la query resultante. De esta manera vemos como la query que se ejecuta sobre una vista es tan complicada como la suma de las dos queries. Esto lo tenemos que tener muy en cuenta, ya que estamosocultando la query que realmente ejecuta MySQL

TEMPTABLE: En el momento de hacer una consulta sobre la vista se crea una tabla temporal.

ESPECIFICACIONES

El caso de TEMPTABLE tiene una gran

ventaja y una gran desventaja: Desventaja: La vista no es actualizable,

por lo que cualquier cambio se deberá hacer en la tabla original.

Ventaja: Los bloqueos se liberan antes, ya que la consulta de la vista se hace a partir de la tabla temporal. Esto permite que otros threads accedan antes a la tabla que ejecutando una consulta mucho más pesada usando el algoritmo MERGE.

TEMPTABLE VENTAJAS Y DESVENTAJAS

A) Facilidad de manejo de grandes volúmenes de información: la principal ventaja que proporciona la posesión de una base de datos informatizada frente a las técnicas convencionales de archivo es, fundamentalmente, la facilidad de poder manejar una gran cantidad de información, a gran velocidad y en muy poca cantidad de tiempo, que de otro modo seria muy dificultoso, por no decir casi imposible, utilizar de manear correcta.

VENTAJAS

B) Seguridad de la información: Uno de los

objetivos fundamentales de las bases de datos es mantener accesible, a todos los usuarios autorizados, la información que almacenan. Este objetivo se consigue a través de los sistemas gestores de bases de datos (SGBD).

C) No duplicidad de la información: La existencia de información duplicada en cualquier tipo de fichero origina graves problemas por el aumento de información almacenada y la escasez de espacio existente.

VENTAJAS

D) Mejora la metodología de trabajo en

una organización: En algunos casos, la introducción de una base de datos en las tareas cotidianas de una organización supone que el análisis de los requisitos a cumplir por el nuevo sistema da lugar a que se descubran problemas en la metodología interna de una empresa.

VENTAJAS

E) Facilidad en la toma de decisiones: La

ventaja más importante de la utilización de una base de datos es que permite realizar consultas de la información que contiene de forma rápida, sencilla y útil. Esta facilidad en el manejo y recuperación de la información almacenada permitirá, a su vez, poseer una serie de datos actualizados sobre los que poder tomar una decisión correcta en un momento en que sea necesario tener más información de la que se disponga.

VENTAJAS

CREATE VIEW accede_Cursos AS SELECT

nomCurso FROM CURSOS WHERE Horas>300 && MaxAlumn>100;

SELECT * FROM accede_Cursos; (RESULTADO DE LA VISTA)

CREATE VIEW ordena_Cursos AS SELECT nomCurso, codCurso, fechaInic, fechaFin, horas FROM CURSOS ORDER BY nomCurso DESC;

EJEMPLOS: