Copyright  Oracle Corporation, 1998. All rights reserved. 11 Creación de Vistas.

Slides:



Advertisements
Presentaciones similares
integridad referencial
Advertisements

VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Base de Datos Orientada a Objetos (OODBMS)
Subconsultas Multi-Columna
Fernando Velasco
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
VISTAS EN INFORMIX Prof. Gabriel Matonte.
EL LENGUAJE ESTÁNDAR SQL
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
4.3. Privilegios de usuarios
Control del Acceso de los Usuarios
MySQL M.C. Pedro Bello López.
Lenguaje SQL (Structured Query Language)
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 5 Agregando Datos Usando Funciones de Grupo.
Bases de Datos Relacionales
D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.
Subconsultas Avanzadas
6 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Visualización de Datos de Varias Tablas Utilizando Uniones.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Gestión de Objetos con Vistas de Diccionario de Datos
F Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Sintaxis de Unión en Oracle.
UNITA - IBARRA TRIGGERS
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
Desplegando datos de múltiples tablas
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Bases de Datos.
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
CONSULTAS SENCILLAS A LA BASE DE DATOS
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 12 Otros Objetos de la Base de Datos.
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Consultas SQL (Base de Datos)
VISTAS.  Una Vista es una tabla virtual.  Provee otra manera de buscar en los datos existentes  Se definen para facilitar y restringir el acceso a.
Introducción.
LENGUAJE SQL.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 14 Uso de Operadores de Conjuntos.
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT válida. CREATE.
Prof. De Bases de Datos: Lcdo. Luis Peña. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query.
Diseña y administra base de datos avanzadas
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
E.U. Informática U.L.P.G.C. E.U. Informática U.L.P.G.C. Introducción a - 1 Introducción a Oracle.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
(Lenguaje de consulta estructurado)
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Copyright  Oracle Corporation, All rights reserved. 4 Visualización de datos de varias tablas.
SQL: DDL.
Copyright  Oracle Corporation, All rights reserved. Agenda.
Copyright  Oracle Corporation, All rights reserved. 8 Manipulación de Datos.
Copyright  Oracle Corporation, All rights reserved. 1 Escritura de sentencias SQL SELECT básicas.
INTEGRACION DE LAS TECNOLOGIAS DE LA INFORMACION Y COMUNICACION Implementación de base de datos (Lenguaje de manipulación de datos) Ing. Linda Masias Morales.
Copyright  Oracle Corporation, All rights reserved. 2 Restricción y ordenación de datos.
JOB_HISTORY EMPLOYEE_ID (PK,FK) START_DATE (PK) END_DATE JOB_ID (FK) DEPARTMENT_ID (FK) EMPLOYEES EMPLOYEE_ID (PK) FIRST_NAME LAST_NAME.
Copyright  Oracle Corporation, All rights reserved. 12 Otros Objetos de la Base de Datos.
DLM Transact SQL Sesión II Recuperación de información.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
Copyright  Oracle Corporation, All rights reserved. 3 Funciones de una sola fila.
DML Transact SQL Sesión VI Trabajando con subconsultas.
Copyright  Oracle Corporation, All rights reserved. 9 Creación y gestión de tablas.
6 Copyright © 2004, Oracle. Todos los derechos reservados. Trabajar con Tipos de Dato Compuestos.
Selección Condicionada de Filas Uso de la cláusula WHERE La cláusula WHERE restringe las columnas que retorna una consulta según la condición que se imponga.
Copyright  Oracle Corporation, All rights reserved. 6 Subconsultas.
Copyright  Oracle Corporation, All rights reserved. 10 Constraints (Restricciones)
Transcripción de la presentación:

Copyright  Oracle Corporation, All rights reserved. 11 Creación de Vistas

11-2 Copyright  Oracle Corporation, All rights reserved. Objetivos Al completar esta lección, debería ser capaz de hacer lo siguiente: Describir una Vista Crear una vista Recupera datos a través de una vista Alterar la definición de una vista Insertar, modificar y borrar datos a través de una vista Eliminación de vistas Al completar esta lección, debería ser capaz de hacer lo siguiente: Describir una Vista Crear una vista Recupera datos a través de una vista Alterar la definición de una vista Insertar, modificar y borrar datos a través de una vista Eliminación de vistas

11-3 Copyright  Oracle Corporation, All rights reserved. Objetos de la base de datos ObjectoDescripción TablaUnidad básica de almacenamiento; compuesta de registros y columnas. VistaLógicamente representa un subconjunto de una o más tablas. SecuenciaGenera valores para claves primarias. IndiceMejoran el rendimiento de algunas consultas SinónimoDa nombres alternativos a los objetos.

11-4 Copyright  Oracle Corporation, All rights reserved. ¿Qué es una vista? EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 17-NOV BLAKE MANAGER MAY CLARK MANAGER JUN JONES MANAGER APR MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC WARD SALESMAN FEB FORD ANALYST DEC SMITH CLERK DEC SCOTT ANALYST DEC ADAMS CLERK JAN MILLER CLERK JAN EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 17-NOV BLAKE MANAGER MAY CLARK MANAGER JUN JONES MANAGER APR MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC WARD SALESMAN FEB FORD ANALYST DEC SMITH CLERK DEC SCOTT ANALYST DEC ADAMS CLERK JAN MILLER CLERK JAN EMP Table EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 17-NOV CLARK MANAGER JUN MILLER CLERK JAN JONES MANAGER APR SCOTT ANALYST DEC ADAMS CLERK JAN SMITH CLERK DEC FORD ANALYST DEC BLAKE MANAGER MAY MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC WARD SALESMAN FEB EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 17-NOV CLARK MANAGER JUN MILLER CLERK JAN JONES MANAGER APR SCOTT ANALYST DEC ADAMS CLERK JAN SMITH CLERK DEC FORD ANALYST DEC BLAKE MANAGER MAY MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC WARD SALESMAN FEB EMPNO ENAME JOB KING PRESIDENT 7782 CLARK MANAGER 7934 MILLER CLERK EMPVU10 View EMPVU10 View

11-5 Copyright  Oracle Corporation, All rights reserved. ¿Por qué usar vistas? Para restringir el acceso a la BBDD. Para realizar consultas complejas fácilmente. Para la independencia de los datos. Para presentar diferentes vistas de los mismos datos. Para restringir el acceso a la BBDD. Para realizar consultas complejas fácilmente. Para la independencia de los datos. Para presentar diferentes vistas de los mismos datos.

11-6 Copyright  Oracle Corporation, All rights reserved. Vistas simples y vistas complejas CaracterísticaVis. SimplesVis. Complejas Nº de TablasUnaUna o más Contiene funcionesNoSí Contiene grup. de datosNoSí DML a través de la vista SíNo siempre CaracterísticaVis. SimplesVis. Complejas Nº de TablasUnaUna o más Contiene funcionesNoSí Contiene grup. de datosNoSí DML a través de la vista SíNo siempre

11-7 Copyright  Oracle Corporation, All rights reserved. Creación de una vista Puede incluir una subconsulta dentro de la sentencia CREATE VIEW. La subconsulta puede contener una SELECT compleja. La subconsulta no puede contener la claúsula ORDER BY. Puede incluir una subconsulta dentro de la sentencia CREATE VIEW. La subconsulta puede contener una SELECT compleja. La subconsulta no puede contener la claúsula ORDER BY. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY]

11-8 Copyright  Oracle Corporation, All rights reserved. Creación de una vista Cree una vista, EMPVU10, que contenga detalles de los empleados del dpto. 10 Describa la estructura de la vista, usando el comando DESCRIBE de SQL*Plus. SQL> DESCRIBE empvu10 SQL> CREATE VIEW empvu10 2 AS SELECTempno, ename, job 4 FROMemp 5 WHEREdeptno = 10; View created.

11-9 Copyright  Oracle Corporation, All rights reserved. Creación de una vista Cree una vista usando alias de columna en la subconsulta. Seleccione las columnas de esta vista, haciendo uso del nombre del alias. Cree una vista usando alias de columna en la subconsulta. Seleccione las columnas de esta vista, haciendo uso del nombre del alias. SQL> CREATE VIEW salvu30 2 AS SELECTempno EMPLOYEE_NUMBER, ename NAME, 3sal SALARY 4 FROMemp 5 WHEREdeptno = 30; View created.

11-10 Copyright  Oracle Corporation, All rights reserved. Recuperando datos de una vista EMPLOYEE_NUMBER NAME SALARY BLAKE MARTIN ALLEN TURNER JAMES WARD rows selected. EMPLOYEE_NUMBER NAME SALARY BLAKE MARTIN ALLEN TURNER JAMES WARD rows selected. SQL> SELECT * 2 FROMsalvu30;

11-11 Copyright  Oracle Corporation, All rights reserved. Consulta a la tabla del diccionario de datos, USER_VIEWS USER_VIEWS USER_VIEWS EMPVU10 SELECTempno, ename, job FROMemp WHEREdeptno = 10; USER_VIEWS USER_VIEWS EMPVU10 SELECTempno, ename, job FROMemp WHEREdeptno = 10; SQL*Plus SELECT * FROM empvu10; EMP 7839KINGPRESIDENT 7782CLARKMANAGER 7934MILLERCLERK

11-12 Copyright  Oracle Corporation, All rights reserved. Modificación de una vista Modificar la vista EMPVU10 por medio de la claúsula CREATE OR REPLACE VIEW. Añada un alias para cada columna. Los alias de columna en la claúsula CREATE VIEW, deberán de aparecer en el mismo orden que las columnas en la subconsulta. Modificar la vista EMPVU10 por medio de la claúsula CREATE OR REPLACE VIEW. Añada un alias para cada columna. Los alias de columna en la claúsula CREATE VIEW, deberán de aparecer en el mismo orden que las columnas en la subconsulta. SQL> CREATE OR REPLACE VIEW empvu10 2 (employee_number, employee_name, job_title) 3 AS SELECT empno, ename, job 4 FROMemp 5 WHEREdeptno = 10; View created.

11-13 Copyright  Oracle Corporation, All rights reserved. Creación de una vista compleja Cree una vista compleja que contenga funciones de grupo, para ver valores de dos tablas. SQL> CREATE VIEWdept_sum_vu 2 (name, minsal, maxsal, avgsal) 3 AS SELECTd.dname, MIN(e.sal), MAX(e.sal), 4AVG(e.sal) 5 FROMemp e, dept d 6 WHEREe.deptno = d.deptno 7 GROUP BY d.dname; View created.

11-14 Copyright  Oracle Corporation, All rights reserved. Reglas para realizar operaciones DML sobre vistas Se pueden realizar operaciones DML sobre vistas simples. Se pueden realizar operaciones DML sobre vistas simples. No se puede eliminar una fila si la vista contiene: No se puede eliminar una fila si la vista contiene: – Funciones de grupo. – Una cláusula GROUP BY. – El comando DISTINCT.

11-15 Copyright  Oracle Corporation, All rights reserved. Reglas para realizar operaciones DML sobre vistas No es posible modificar datos en la vista si la misma contiene: No es posible modificar datos en la vista si la misma contiene: – Cualquiera de las condiciones anteriores. – Columnas definidas por expresiones. – La pseudocolumna ROWNUM. No se puede agregar datos si la vista contiene: No se puede agregar datos si la vista contiene: – Cualquiera de las condiciones anteriores. – Cualquier columna NOT NULL no incluída por la vista, de la tabla origen. No es posible modificar datos en la vista si la misma contiene: No es posible modificar datos en la vista si la misma contiene: – Cualquiera de las condiciones anteriores. – Columnas definidas por expresiones. – La pseudocolumna ROWNUM. No se puede agregar datos si la vista contiene: No se puede agregar datos si la vista contiene: – Cualquiera de las condiciones anteriores. – Cualquier columna NOT NULL no incluída por la vista, de la tabla origen.

11-16 Copyright  Oracle Corporation, All rights reserved. La claúsula WITH CHECK OPTION Asegura que un comando DML sobre la vista mantiene el dominio de la misma.Asegura que un comando DML sobre la vista mantiene el dominio de la misma. Si se intenta cambiar el número de departamento para cualquier fila, la sentencia fallará porque viola la restricción de CHECK OPTION.Si se intenta cambiar el número de departamento para cualquier fila, la sentencia fallará porque viola la restricción de CHECK OPTION. Asegura que un comando DML sobre la vista mantiene el dominio de la misma.Asegura que un comando DML sobre la vista mantiene el dominio de la misma. Si se intenta cambiar el número de departamento para cualquier fila, la sentencia fallará porque viola la restricción de CHECK OPTION.Si se intenta cambiar el número de departamento para cualquier fila, la sentencia fallará porque viola la restricción de CHECK OPTION. SQL> CREATE OR REPLACE VIEW empvu20 2 AS SELECT* 3 FROMemp 4 WHEREdeptno = 20 5 WITH CHECK OPTION CONSTRAINT empvu20_ck; View created.

11-17 Copyright  Oracle Corporation, All rights reserved. Denegar operaciones DML Agregando la opción WITH READ ONLY en la definición de la vista, se asegura que no ocurran operaciones DML.Agregando la opción WITH READ ONLY en la definición de la vista, se asegura que no ocurran operaciones DML. Si se intenta realizar una operación DML sobre cualquier fila en la vista, mostrará error.Si se intenta realizar una operación DML sobre cualquier fila en la vista, mostrará error. Agregando la opción WITH READ ONLY en la definición de la vista, se asegura que no ocurran operaciones DML.Agregando la opción WITH READ ONLY en la definición de la vista, se asegura que no ocurran operaciones DML. Si se intenta realizar una operación DML sobre cualquier fila en la vista, mostrará error.Si se intenta realizar una operación DML sobre cualquier fila en la vista, mostrará error. SQL> CREATE OR REPLACE VIEW empvu10 2 (employee_number, employee_name, job_title) 3 AS SELECTempno, ename, job 4 FROMemp 5 WHEREdeptno = 10 6 WITH READ ONLY; View created.

11-18 Copyright  Oracle Corporation, All rights reserved. Eliminación de una vista Al Borrar una vista no perderá los datos, porque la vista está basada en tablas subyacentes de la B.D. SQL> DROP VIEW empvu10; View dropped. DROP VIEW view;

11-19 Copyright  Oracle Corporation, All rights reserved. Vistas en línea Una vista en línea es una subconsulta con un alias (o nombre de correlación) que puede utilizar dentro de una sentencia SQL. Una vista en línea es una subconsulta con un alias (o nombre de correlación) que puede utilizar dentro de una sentencia SQL. Una subconsulta especificada en la cláusula FROM de la consulta principal es un ejemplo de vista en línea. Una subconsulta especificada en la cláusula FROM de la consulta principal es un ejemplo de vista en línea. Una vista en línea no es un objeto de esquema. Una vista en línea no es un objeto de esquema. Una vista en línea es una subconsulta con un alias (o nombre de correlación) que puede utilizar dentro de una sentencia SQL. Una vista en línea es una subconsulta con un alias (o nombre de correlación) que puede utilizar dentro de una sentencia SQL. Una subconsulta especificada en la cláusula FROM de la consulta principal es un ejemplo de vista en línea. Una subconsulta especificada en la cláusula FROM de la consulta principal es un ejemplo de vista en línea. Una vista en línea no es un objeto de esquema. Una vista en línea no es un objeto de esquema.

11-20 Copyright  Oracle Corporation, All rights reserved. Vistas en línea SQL> SELECT a.last_name, b.maxsal FROM employees a, SELECT deparment_id, max(salary) maxsal FROM employees GROUP BY department_id) b WHERE a.department_id=b.deparment_id AND a.salary < b.maxsal;

11-21 Copyright  Oracle Corporation, All rights reserved. Resumen Una vista se deriva de los datos de otras tablas u otras vistas. Una vista se deriva de los datos de otras tablas u otras vistas. Una vista es como una ventana sobre los datos subyacentes. Una vista es como una ventana sobre los datos subyacentes. Una vista provee las siguientes ventajas: Una vista provee las siguientes ventajas: – Restricción del acceso a los datos. – Simplificación de las consultas. – Independencia de los datos. – Permite varias visiones de los mismos datos. – Puede ser eliminada sin borrar los datos subyacentes. Una vista se deriva de los datos de otras tablas u otras vistas. Una vista se deriva de los datos de otras tablas u otras vistas. Una vista es como una ventana sobre los datos subyacentes. Una vista es como una ventana sobre los datos subyacentes. Una vista provee las siguientes ventajas: Una vista provee las siguientes ventajas: – Restricción del acceso a los datos. – Simplificación de las consultas. – Independencia de los datos. – Permite varias visiones de los mismos datos. – Puede ser eliminada sin borrar los datos subyacentes.

11-22 Copyright  Oracle Corporation, All rights reserved. Visión general de la práctica Crear una vista simple. Crear una vista simple. Crear una vista compleja. Crear una vista compleja. Crear una vista con una restricción check. Crear una vista con una restricción check. Intentar modificar datos en una vista. Intentar modificar datos en una vista. Mostrar definiciones de una vista. Mostrar definiciones de una vista. Eliminar vistas. Eliminar vistas. Crear una vista simple. Crear una vista simple. Crear una vista compleja. Crear una vista compleja. Crear una vista con una restricción check. Crear una vista con una restricción check. Intentar modificar datos en una vista. Intentar modificar datos en una vista. Mostrar definiciones de una vista. Mostrar definiciones de una vista. Eliminar vistas. Eliminar vistas.