Está en la página 1de 2

Aplicativo cliente servidor, que tenia BD departamental.

La estructura de las tablas era igual y


había necesidad de unificar la BD.

Ejemplo:

Tabla empleado con igual estructura en todos los departamentos, en donde podían haber
registros duplicados. Hay necesidad de unificar la BD.

Simulacion. El ejercicio se hace a partir de hr.

1. Se crea una tabla llamada empleado a partir de la table employees.

create table empleado as


select * from employees
where department_id in (80,30);

insert into empleado


select * from employees
where employee_id = 201; -- department 20

2. Desde system se crea el usuario hr2 y se otorgan privilegios


 Créate user hr2 identified by hr2;
 Grant connect,resource to hr2;
 Grant select any
 table to hr2;
 Grant insert any table to hr2;

3. Se crea la tabla empleado en hr2 a partir del usuario hr

create table empleado as


select * from employees
where department_id in (50,30);

4. Crear usuario hr_nacional y asignar privilegios


5. Crear tabla empleado con algunos registros

create table empleado as


select * from hr.empleado
where department_id = 20;

6. Adicionar un una pk a la tabla empleado de hr_nacional

alter table empleado add constraint pk_empleado primary key(employee_id);


7. Consolidar en la taba empleado de hr_nacional todos los registros de la tabla empleado de
hr y hr2. No debe haber duplicados.

Solucion:

 Vamos a insertar los registros de la taba empleado del esquema hr:

select employee_id,last_name,department_id from empleado;

La anterior instrucción falla debido a que se encuentran registros duplicados

Implementa la solución haciendo uso de PL/SQL.

También podría gustarte