M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Exercicis T11-HR
La Parte 1 de la práctica de esta lección ofrece varios ejercicios de creación, uso y eliminación de vistas. Complete las preguntas de la 1 a la 6 de esta lección.
La Parte 2 de la práctica de esta lección ofrece varios ejercicios de creación y uso de una secuencia, un índice y un sinónimo. Complete las preguntas de la 7 a la 10 de esta lección.
1) El personal del departamento de recursos humanos desea ocultar algunos de los datos de la tabla EMPLOYEES. Cree una vista denominada EMPLOYEES_VU basada en los números y los apellidos de los empleados y en los números de departamento de la tabla EMPLOYEES. La cabecera del nombre de empleado debe ser EMPLOYEE.
2) Confirme que la vista funciona. Visualice el contenido de la vista EMPLOYEES_VU .
EMPLOYEE_ID EMPLOYEE DEPARTMENT_ID ----------- -------- ------------- 1 100 King 90 2 101 Kochhar 90 3 102 De Haan 90 4 103 Hunold 60 5 104 Ernst 60 ...
3) Con la vista EMPLOYEES_VU , escriba una consulta para el departamento de recursos humanos para visualizar todos los nombres de empleados y números de departamento.
EMPLOYEE_ID DEPARTMENT_ID ----------- ------------- 1 100 90 2 101 90 3 102 90 4 103 60 5 104 60 ...
4) El departamento 50 necesita acceso a los datos de los empleados. Cree una vista con el nombre DEPT50 que contenga los números y apellidos de los empleados y los números de departamento de todos los empleados del departamento 50. Se le ha solicitado que etiquete las columnas de la vista como EMPNO , EMPLOYEE y DEPTNO.
Por motivos de seguridad, no permita la reasignación de un empleado a otro departamento a través de la vista.
5) Visualice la estructura y el contenido de la vista DEPT50 .
DESCRIBE dept50 Nombre Nulo Tipo -------- -------- ------------ EMPNO NOT NULL NUMBER(6) EMPLOYEE NOT NULL VARCHAR2(25) DEPTNO NUMBER(4)
EMPNO EMPLOYEE DEPTNO ----- -------- ------ 1 120 Weiss 50 2 121 Fripp 50 3 122 Kaufling 50 4 123 Vollman 50 5 124 Mourgos 50 ...
6) Pruebe la vista. Intente reasignar Matos al departamento 80.
7) Necesita una secuencia que se pueda utilizar con la columna de clave primaria de la tabla DEPT. La secuencia debe empezar en 200 y tener un valor máximo de 1.000. Aplique incrementos de 10 a la secuencia. Asigne a la secuencia el nombre DEPT_ID_SEQ.
CREATE SEQUENCE dept_id_seq START WITH 200 INCREMENT BY 10 MAXVALUE 1000;
8) Para probar la secuencia, escriba un script para insertar dos filas en la tabla DEPT.
Asigne al script el nombre lab_11_08.sql . Asegúrese de utilizar la secuencia que ha creado para la columna ID. Agregue dos departamentos: Education y Administration. Confirme las adiciones. Ejecute los comandos del script.
INSERT INTO dept VALUES (dept_id_seq.nextval, 'Education'); INSERT INTO dept VALUES (dept_id_seq.nextval, 'Administration');
9) Cree un índice no único en la columna NAME de la tabla DEPT .
CREATE INDEX dept_name_idx ON dept (name);
10) Cree un sinónimo para la tabla EMPLOYEES . Llámelo EMP .
CREATE SYNONYM emp FOR EMPLOYEES;