Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivo de la Lección
En esta lección, aprenderá a crear y utilizar vistas. También aprenderá a consultar el objeto del
diccionario de datos relevantes para recuperar información acerca de las vistas. Por último, se aprende
a crear y utilizar vistas en línea, y realizar análisis Top-N mediante vistas.
Object Description
Notas al Instructor
Demo: 11_easyvu.sql
Propósito: La vista se muestra en la diapositiva se crea de la siguiente manera:
CREATE OR REPLACE VIEW simple_vu
AS SELECT employee_id, last_name, salary
FROM employees;
Ventajas de Vistas
•Vistas restringen el acceso a los datos, ya que la vista puede mostrar columnas selectivos de
las tablas.
•Las vistas se pueden utilizar para hacer consultas simples para recuperar los resultados de
las consultas complicadas. Por ejemplo, las vistas se pueden utilizar para consultar la
información de varias tablas sin que el usuario saber cómo escribir una declaración unirse.
•Vistas proporcionan independencia de datos para los usuarios especiales y programas de
aplicación. Un punto de vista se puede utilizar para recuperar datos de varias tablas.
•Vistas proporcionan grupos de usuarios el acceso a los datos de acuerdo a sus criterios
particulares.
•Para obtener más información, consulte Oracle9i SQL, "CREATE VIEW“.
Contienen funciones No si
Creando Vistas
Puede crear una vista mediante la incorporación de una subconsulta dentro de la sentencia CREATE
VIEW.
En la sintaxis:
OR REPLACE recrea la vista si ya existe
NOFORCE crea la vista sólo si existen las tablas de base (Este es el valor
predeterminado.)
FORCE crea la vista, independientemente de si existen o no las tablas base
view es el nombre de la vista
alias especifica nombres para las expresiones seleccionados por
la consulta de la vista (El número de alias debe coincidir con el número de expresiones
seleccionadas por la vista.)
subquery es una instrucción SELECT completa (Usted puede usar los alias
de las columnas de la lista SELECT.)
WITH CHECK OPTION especifica que sólo las filas accesibles a la vista pueden ser
insertados o actualizados
constraint es el nombre asignado a la restricción CHECK OPTION
WITH READ ONLY asegura que no hay operaciones DML se pueden realizar en este
Instructor Note
Comunica a los alumnos vistas sobre materializadas o instantáneas. Los términos de instantánea y
vistas materializadas son sinónimos. Ambos se refieren a una tabla que contiene los resultados de una
consulta de una o más tablas, cada una de las cuales pueden estar ubicados en el mismo o en una
base de datos remota. Las tablas en la consulta se denominan tablas maestras o tablas de detalle. Las
bases de datos que contienen las tablas maestras se llaman las bases de datos master. Para obtener
SELECT *
FROM salvu50;
Oracle Server
iSQL*Plus
USER_VIEWS
SELECT * EMPVU80
FROM empvu80; SELECT employee_id,
last_name, salary
FROM employees
WHERE department_id=80;
EMPLOYEES
Instructor Note
The view text is stored in a column of LONG data type. You may need to set ARRAYSIZE to a smaller
value or increase the value of LONG to view the text.
Modificación de un Vista
Con la opción CREATE OR REPLACE , una vista puede ser creado, incluso si es que existe
con este nombre ya sustituye la antigua versión de la vista para su dueño.
Esto significa que la vista puede ser alterada si se tienen los privilegios.
Nota: Al asignar los alias de columna en la cláusula CREATE VIEW, recuerde que los alias se
enumeran en el mismo orden que las columnas de la subconsulta.
Instructor Note
El OR REPLACE comenzó con Oracle7. Con versiones anteriores de Oracle, si la vista necesaria
para ser cambiado, que tuvo que ser reducido y re-creado.
Demo: 11_emp.sql
El ejemplo de la diapositiva crea una vista compleja de los nombres de departamento, los
salarios mínimos, salarios máximos, y los salarios promedio por departamento. Tenga en
cuenta que los nombres alternativos se han especificado para la vista. Este es un requisito si
cualquier columna de la vista se deriva de una función o una expresión.
Usted puede ver la estructura de la vista mediante la iSQL * Plus comando DESCRIBE.
Mostrar el contenido de la vista mediante la emisión de una sentencia SELECT.
SELECT *
FROM dept_sum_vu;
Puede agregar datos a través de una vista a menos que contenga alguno de los elementos
enumerados en la diapositiva o no hay columnas NULL sin valores por defecto en la tabla base
que no están seleccionados por la vista. Todos los valores requeridos deben estar presentes
en la vista. Recuerde que usted está agregando valores directamente en la tabla subyacente a
través de la vista.
Para obtener más información, consulte 0racle9i SQL, "CREATE VIEW".
Nota: No hay filas que actualizar ya que si el número de departamento cambiara a 10, la vista ya no
sería capaz de ver que los empleados. Por lo tanto, con la cláusula CHECK OPTION CON, la vista se
Cualquier intento de eliminar una fila de una visión con los resultados de sólo lectura de
restricción en un error.
Removing a View
Utilice la sentencia DROP VIEW para eliminar una vista. La declaración elimina la definición
de la vista de la base de datos. Borrar la vista no tiene efecto en las tablas en las que se basó
la vista.
Vistas u otras aplicaciones basadas en visitas eliminadas dejan de ser válidas. Sólo el
creador o un usuario con el privilegio DROP ANY VISTA pueden eliminar una vista.
En la sintaxis:
Inline Views
…
Introduction to Oracle9i: SQL 11-21
SELECT a.last_name, a.salary, a.department_id, b.maxsal
FROM employees a, (SELECT department_id, max(salary)
maxsal
FROM employees
GROUP BY department_id) b
WHERE a.department_id = b.department_id
AND a.salary < b.maxsal;
Analisis “Top-N”
Consultas Top-N son útiles en escenarios donde la necesidad es mostrar sólo los top N de
los registros.
Este conjunto de resultados se puede utilizar para su posterior análisis. Por ejemplo,
utilizando el análisis de Top-N puede realizar los siguientes tipos de consultas:
• Los tres que más ganan en la empresa
• Los cuatro reclutas más recientes en la empresa
• Los dos mejores representantes de ventas que han vendido el número máximo de productos
• Los tres principales productos que han tenido las ventas máximas en los últimos seis meses
Instructor Note
La capacidad de incluir la cláusula ORDER BY en una subconsulta hace que el análisis Top-N sea
posible.
Una subconsulta o una vista en línea para generar la lista ordenada de los datos.
Para obtener resultados recuperar los valores más grandes, se necesita un parámetro DESC.
Una consulta externa para limitar el número de filas del conjunto de resultados final.
•El pseudocolumna ROWNUM, que asigna un valor secuencial comenzando con 1 para
cada una de las filas devueltas por la subconsulta.
•Una cláusula WHERE, que especifica las n filas a devolver. El exterior cláusula WHERE
debe utilizar un <o <= operador.
1 2 3
Practice 11 Overview
In this practice, you create simple and complex views and attempt to perform DML statements on the
views.
3. Select the view name and text from the USER_VIEWS data dictionary view.
Note: Another view already exists. The EMP_DETAILS_VIEW was created as part of your
schema.
Note: To see more contents of a LONG column, use the iSQL*Plus command SET LONG n,
where n is the value of the number of characters of the LONG column that you want to see.
4. Using your EMPLOYEES_VU view, enter a query to display all employee names and department
numbers.