Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Vistas Oracle
Vistas Oracle
Creacin de Vistas
Objetivos
Al completar esta leccin, debera ser capaz de hacer lo siguiente:
Descripcin
Unidad bsica de almacenamiento; compuesta de registros y columnas.
Vista
Genera valores para claves primarias. Mejoran el rendimiento de algunas consultas Da nombres alternativos a los objetos.
12-3
Qu es una Vista?
EMP Table
EMPNO ENAME JOB JOB MGR HIREDATE SAL SAL COMM COMM DEPTNO ----- ------- --------- ----- --------- ----- ----- ------DEPTNO
----7839 KING --------PRESIDENT --------- ---- 17-NOV-81 --------- -----5000 ----- -----10
-7698 BLAKE 7839 7782 KING CLARK 10 7566 JONES MANAGER MANAGER 7839 01-MAY-81 7839 02-APR-81 2850 2450 5000 2975 1250 1500 1400 300 1600 300 30 10 20 30 30 MANAGER PRESIDENT 7839 17-NOV-81 09-JUN-81
7782 7654 CLARK MARTIN MANAGER 7698 09-JUN-81 7839 28-SEP-81 EMPVU10 ViewSALESMAN 10 7499 ALLEN SALESMAN 7698 20-FEB-81 EMPNO 7844 ENAME JOB 7782 MILLER TURNER SALESMAN CLERK 7698 23-JAN-82 08-SEP-81 ------ 7934 -----------------10 7900 JAMES CLERK 7698 03-DEC-81 7839 7566 KING PRESIDENT 7521 JONES WARD SALESMAN MANAGER 7698 02-APR-81 7839 22-FEB-81 7902 FORD ANALYST 7566 03-DEC-81 7782 20 CLARK MANAGER 7369 SCOTT SMITH CLERK ANALYST 7902 09-DEC-82 7566 17-DEC-80 7934 7788 MILLER CLERK 20 7788 SCOTT ANALYST 7566 09-DEC-82 7782 23-JAN-82 7902 17-DEC-80 7566 03-DEC-81
1500 1300
950 1250 2975 3000 800 3000 3000
0
500
30
30 30 20 20 20
CLERK CLERK
CLERK CLERK ANALYST
7788 12-JAN-83
1100 1100
1300 800 3000
20
10
12-4
20 Copyright Oracle Corporation. All rights reserved. 7698 BLAKE MANAGER 7839 01-MAY-81
2850
12-5
12-6
La subconsulta puede contener una SELECT compleja. A partir de la v 9i la subconsulta puede contener la clasula ORDER BY, en este caso la vista se considera compleja y no permite inserciones.
12-7
Copyright Oracle Corporation. All rights reserved.
12-8
Seleccione las columnas de esta vista, haciendo uso del nombre del alias.
12-9
6 rows selected.
12-10
SQL*Plus USER_VIEWS
SELECT * FROM empvu10;
EMPVU10
SELECT FROM WHERE empno, ename, job emp deptno = 10;
EMP
12-11
Los alias de columna en la clasula CREATE VIEW, debern de aparecer en el mismo orden que las columnas en la subconsulta.
12-12
Copyright Oracle Corporation. All rights reserved.
AS SELECT
FROM WHERE GROUP BY created.
dept_sum_vu (name, minsal, maxsal, avgsal) d.dname, MIN(e.sal), MAX(e.sal), AVG(e.sal) emp e, dept d e.deptno = d.deptno d.dname;
12-13
Cualquiera de las condiciones anteriores. Columnas definidas por expresiones. La pseudocolumna ROWNUM.
No se puede agregar datos si la vista contiene:
SQL> 2 3 4 5 View
Si se intenta cambiar el nmero de departamento para cualquier fila, la sentencia fallar porque viola la restriccin de CHECK OPTION.
Copyright Oracle Corporation. All rights reserved.
12-16
Agregando la opcin WITH READ ONLY en la definicin de la vista, se asegura que no ocurran operaciones DML.
CREATE OR REPLACE VIEW empvu10 (employee_number, employee_name, job_title) AS SELECT empno, ename, job FROM emp WHERE deptno = 10 WITH READ ONLY; created.
SQL> 2 3 4 5 6 View
12-18
Resumen
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 provee las siguientes ventajas:
Restriccin del acceso a los datos. Simplificacin de las consultas. Independencia de los datos. Permite varias visiones de los mismos datos. Puede ser eliminada sin borrar los datos
subyacentes.
12-19
Copyright Oracle Corporation. All rights reserved.
12-20