Está en la página 1de 6

Universidad Autónoma de Querétaro

Facultad de Informática

Diplomado de Oracle 11g

Práctica 11

Instrucciones: Cree las siguientes consultas.

1. Cree una vista llamada EMPLOYEES_VU que muestre el número de empleado, apellido del
empleado y los números de departamento de los empleados de la tabla EMPLOYEES.
Cambie el nombre de la columna para el apellido del empleado a “EMPLOYEE”.

CREATE OR REPLACE VIEW employees_vu AS


SELECT employee_id, last_name employee, department_id
FROM employees;

2. Visualice el contenido de la vista EMPLOYEES_VU.

SELECT *
FROM employees_vu;
3. Visualice la estructura del objeto USER_VIEWS. Seleccione el nombre de la vista y el texto
de la vista de la tabla USER_VIEWS del diccionario de datos.

SELECT view_name
FROM user_views;

4. Utilizando la vista EMPLOYEES_VU, cree una consulta para mostrar todos los nombres de
empleado y los números de departamento.

SELECT employee, department_id


FROM employees_vu;
5. Cree una vista llamada DEPT50 que contenga los números y los apellidos de los empleados
y los números de departamento para todos los empleados del departamento 50. Etiquete
las columnas de la vista como EMPNO, EMPLOYEE y DEPTNO. No permita que se reasigne a
un empleado a otro departamento a través de la vista.

CREATE VIEW dept50


AS SELECT employee_id empno, last_name employee, department_id deptno
FROM employees
WHERE department_id = 50
WITH CHECK OPTION CONSTRAINT emp_dept_50;

6. Visualice la estructura y contenidos de la vista DEPT50.


SELECT * FROM dept50;
7. Intente reasignar al empleado “Matos” al departamento 80 a través de la vista.
UPDATE dept50
SET deptno = 80
WHERE employee = 'Matos';

8. Cree una vista llamada SALARY_VU basándose en el apellido del empleado, nombre del
departamento, salario y cargo de todos los empleados. Utilice las tablas EMPLOYEES y
DEPARTMENTS. Etiquete a las columnas “Employee”, “Department”, “Salary” y “Job”,
respectivamente.

CREATE VIEW salary_vu (Employee, Department, Salary, Job)


AS SELECT e.last_name, d.department_name, e.salary, e.job_id
FROM employees e, departments d
WHERE e.department_id = d.department_id;
9. Cree la tabla DEPAS, en base a la tabla DEPARTMENTS. Permita aplicar todos los DML
(SELECT, INSERT, UPDATE y DELETE) por medio de una vista nueva llamada V_DEPAS.

CREATE VIEW v_depas AS SELECT * FROM depas;


CREATE TABLE depas AS (SELECT * FROM departments);

10. Elimine la tabla DEPAS y seleccione los datos de la vista V_DEPAS. ¿Cuál es el resultado?

También podría gustarte