Vistas en sql

Solo disponible en BuenasTareas
  • Páginas : 6 (1402 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de mayo de 2011
Leer documento completo
Vista previa del texto
2.6.1.- Concepto de vista.
• Una vista es una tabla derivada de otras tablas (básicas o virtuales). • Una vista se caracteriza porque: – Se considera que forma parte del esquema externo. – Una vista es una tabla virtual (no tiene una correspondencia a nivel físico) – Se puede consultar como cualquier tabla básica. – Las actualizaciones se transfieren a la/s tabla/s original/es (con ciertaslimitaciones).
1

2.6.2.- Aplicaciones de las vistas.
• Para la especificación de tablas con información que se accede con frecuencia pero no posee existencia física: – Información derivada de la relación entre varias tablas. – Información derivada de la formación de grupos de tuplas (p.e. para la obtención de estadísticas). – En general: información derivada de consultas complejas a la que seaccede con frecuencia. • Como mecanismo de seguridad: creación de vistas con, únicamente, los atributos de las tablas a los cuales se desea permitir acceder a determinados usuarios. • Para la creación de esquemas externos.
2

2.6.3.- Vistas en SQL.
• La sintaxis para la creación de vistas en SQL es la siguiente: CREATE | REPLACE VIEW vista [(comalista_columna)] AS expresión_tabla [with checkoption] en donde: – CREATE VIEW es la orden que permite la creación de la vista. – vista es el nombre de la tabla virtual que se va a crear. – (comalista_columna) son los nombres de los atributos de la tabla y es opcional: • Si no se especifica, el nombre coincide con el nombre de los atributos resultantes en expresión_tabla. • Es obligatorio si algún atributo de expresión_tabla es el resultado deuna función de agregación o una operación aritmética.
3

2.6.3.- Vistas en SQL.
• La sintaxis para la creación de vistas en SQL es la siguiente: CREATE | REPLACE VIEW vista [(comalista_columna)] AS expresión_tabla [with check option] en donde: – expresión_tabla es una consulta SQL cuyo resultado será el contenido de la vista. – WITH CHECK OPTION es opcional y se debe incluir si se deseaactualizar la vista de una manera íntegra. – Para la eliminación de una vista se utiliza la instrucción: – DROP VIEW vista [restrict | cascade];
4

2.6.3.- Vistas en SQL (Ejemplos).
• Dada la siguiente relación de una base de datos: Cocinero(nombre:varchar, edad: number, país:varchar) Obtén una vista con, únicamente, los cocineros franceses:

2.6.3.- Vistas en SQL (Vistas Actualizables).Motivos por los que una vista NO es actualizable:
• •

contiene operadores conjuntistas (UNION, INTERSECT,…). el operador DISTINCT funciones agregadas (SUM, AVG, ..) la cláusula GROUP BY

El Check Option impide que yo pueda añadir cocineros que no sean franceses Obtén una vista con la edad media de los cocineros agrupados por país:

• •

5

2.6.3.- Vistas en SQL (Vistas Actualizables).2.6.3.- Vistas en SQL (Vistas Actualizables).
Vista sobre una concatenación de relaciones:

Vista sobre una tabla básica:
• •

la actualización sólo puede modificar una de las tablas básicas actualización modificará la relación básica que cumpla la propiedad de conservación de la clave (aquella relación tal que su clave primaria podría ser también clave de la vista) la actualización no serealizará si viola alguna de las restricciones definidas sobre la relación básica que se va a actualizar

el sistema traducirá la actualización sobre la vista en una operación de actualización sobre la relación básica. siempre que no se viole ninguna restricción de integridad definida sobre dicha relación.







2.6.3.- Vistas en SQL (Vistas Actualizables).
EJEMPLO: • Dadas lassiguientes relaciones:
Persona(nif: dom_nif, nombre: dom_nom, edad: dom_edad) CP:{nif} Vivienda(cod_viv: dom_cod, nif: dom_nif, dir: dom_dir, num_hab: dom_num) CP:{cod_viv} CAj:{nif} Persona

2.7.1.- Concepto de disparador.

Son reglas que especifican acciones que son activadas automáticamente por determinados eventos.

• Dada la siguiente vista definida sobre dichas relaciones:
CREATE VIEW...
tracking img