Vistas

Solo disponible en BuenasTareas
  • Páginas : 6 (1411 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de junio de 2011
Leer documento completo
Vista previa del texto
UNIDAD V

VISTAS

CONCEPTO DE VISTA EN SQL.

En la terminología de SQL, una vista es una tabla derivada de otras tablas. Estas otras pueden ser tablas base o vistas previamente definidas. Las vistas no necesariamente existen en forma física: se les considera tablas virtuales, en contraste con las tablas base cuyas tuplas se almacenan realmente en la base de datos. Esto limitalas operaciones de actualización que es posible aplicar a las vistas, pero no implica limitaciones para consultar estas últimas.

Se puede considerar a una vista como una forma de especificar una tabla a la que tendremos que referirnos con frecuencia, aunque tal vez no posea existencia física. Por ejemplo, con el esquema de la figura siguiente

|EMPLEADO |
|NÚMEROD|LUGARD |
|DEPARTAMENTO | | |
|NOMBRED |NÚMEROD |NSSGTE |FECHAINICGTE |

|TRABAJA_EN | |
|NSSE |NÚMP |HORAS |
|PROYECTO | | |
|NOMBREPR |NÚMEROP |LUGARD |NÚMD |

|DEPENDIENTE | | ||
|NSSE |NOMBRE_DEPENDIENTE |SEXO |FECHAN |PARENTESCO |

Es posible que emitamos consultas con frecuencia para obtener el nombre de un empleado y los nombres de los proyectos en los que trabaja. En vez de tener que especificar la reunión de las tablas EMPLEADO, TRABAJA_EN y PROYECTO cada vez que se emite una consulta así, podemos definir una vista quesea el resultado de dichas reuniones y que, por tanto, incluya los atributos que deseamos obtener con frecuencia. Así, podremos emitir consultas de esa vista, especificadas como obtenciones de una sola tabla, en vez de obtenciones que impliquen dos reuniones de tres tablas. Llamamos a las tablas EMPLEADO, TRABAJA_EN, y PROYECTO las tablas de definición de la vista.

ESPECIFICACIÓN DEVISTAS EN SQL.

La orden para especificar una vista es CREATE VIEW (crear vista). La vista recibe un nombre de tabla (virtual), una lista de nombre de atributos y una consulta para especificar el contenido de la vista.

Si ninguno de los atributos de la vista es el resultado de aplicar funciones u operaciones aritméticas, no tendremos que especificar nombres de atributos para la vista, puesserán los mismos que los nombres de los atributos de las tablas de definición. Las vistas de V1 y V2 crean tablas virtuales cuyos esquemas se ilustran a continuación, en términos del esquema de base de datos que se mostró en la página anterior.

V1: CREATE VIEW TRABAJA_EN1
AS SELECT NOMBREP, APELLIDO, NOMBREPR,
HORAS
FROM EMPLEADO, PROYECTO, TRABAJA_EN
WHERENSS=NSSE AND NÚMP=NÚMEROP;

V2: CREATE VIEW INFO_DEPTO (NOMBRE_DEPTO,
NÚM_DE_EMPS, SAL_TOTAL)
AS SELECT NOMBRED, COUNT (*), SUM (SALARIO)
FROM DEPARTAMENTO, EMPLEADO
WHERE NÚMEROD=ND
GROUP BY NOMBRED;

|TRABAJA_EN1 | | |
|NOMBREP |APELLIDO |NOMBREPR |HORAS |
|INFO_DEPTO| |
|NOMBRE_DEPTO |NÚM_DE_EMPS |SAL_TOTAL |

En V1 no especificamos nuevos nombre de atributos para la vista TRABAJA_EN1; en este caso, TRABAJA_EN1 hereda los nombres que tienen los atributos de la vista de las tablas de definición EMPLEADO, PROYECTO, TRABAJA_EN.

La vista V2 especifica explícitamente nuevos nombres de atributos parala vista INFO_DEPTO, por medio de una correspondencia uno a uno entre los atributos especificados en la cláusula CREATE VIEW y los especificados en la cláusula SELECT de la consulta que define la vista. Podemos especificar consultas SQL en términos de una vista, o tabla virtual, de la misma manera que especificamos consultas en términos de tablas base. Por ejemplo, si queremos obtener el...
tracking img