CREATE OR REPLACE TYPE telefono_t AS VARRAY(10) OF varchar2(10) / CREATE OR REPLACE TYPE direccion_t AS OBJECT ( calle varchar2(20), numero varchar2(5), ciudad varchar2(10)) / -- 3. Crear un tipo de objeto ‘departamentoo_t’ con los siguientes atributos (id_depto number(5), nombre_depto varchar2(15), direccion_depto direccion_t). CREATE OR REPLACE TYPE departamento_t AS OBJECT ( id_depto number(5), nombre_depto varchar2(15), direccion_depto direccion_t) / -- 4. Crear un tipo colección tabla ‘deparrtamento_tab_t’ como tabla de ‘departamento_t’ para después anidarla. CREATE OR REPLACE TYPE departamento_tab_t AS TABLE OF departamento_t / -- 5. Crear un tipo de objeto ‘cargas_t’ coon los siguientes atributos(rut_c varchar2(10), nombre_c varchar2(20), fecha_nac_c date) CREATE OR REPLACE TYPE cargas_t AS OBJECT ( rut_c varchar2(10), nombre_c varchar2(20), fecha_nac_c date) / -- 6. Crear un tipo colección tabla ‘cargaas_tab_t’ como tabla de ‘cargas_t’ para después anidarla CREATE OR REPLACE TYPE cargas_tab_t AS TABLE OF cargas_t / -- 7.Crear un tipo de objeto ‘empleado_tt’ con los siguientes atributos rut_e, nombre_emp, fecha_nac, telefono (de tipo telefono_t), direccion de tipo direccion_t, departamento (como tabla anidada de tipo departamento_t), -- cargas (como tabla anidada de tipo cargaas_t). CREATE OR REPLACE TYPE empleado_t AS OBJECT ( rut_e varchar2(10), nombre_emp varchar2(20), fecha_nac date, telefono telefono_t, direccion direccion_t, departamento departamento_tab_t, cargas cargas_tab_t) / -- 8. Crear una tabla ‘empleado_tab’ de tippo empleado_t (con tablas anidadas ‘departamento,cargas)) DROP TABLE empleado_tab; CREATE TABLE empleado_tab OF empleado_t ( primary key(rut_e)) NESTED TABLE departamento STORE AS departamento_tab NESTED TABLE cargas STORE AS cargas_tab / -- **** INSERCIONES ***** -- Inserción en la tabla EMPLEADO_TAB -- 9. insertar en la tabla empeado_tab la ssiguiente tupla. (11235657-9,Luis Lillo,24/09/1980,072-658768,29sur 555 curico) INSERT INTO empleado_tab VALUES ('11235657-9', 'Luis Lilli, to_date('24/09/1980', 'dd/mm/yyyy'), telefono_t('072-658768'), direccion_t('29 sur', '555', 'Curicó'), departamento_tab_t(), cargas_tab_t()) / -- 10. insertar la siguiente tupla en la taabla empleado_tab (10235811-4,Gustavo Muñoz,10/03/1978,071-244436 INSERT INTO empleado_tab VALUES ( '10235811-4', 'Gustavo Muñoz', to_date('10/03/1978', 'dd/mm/yyyy'), telefono_t('071-244436'), direccion_t('13 1/2 poniente', '0840', 'Talca'), departamento_tab_t(), cargas_tab_t()); --11. insertar al empleado 11235657-9 el deepartamento donde trabaja (200,Finanzas,15 oriente 767 Talca) INSERT INTO THE ( SELECT D.departamento FROM empleado_tab D WHERE D.rut_e = '11235657-9') VALUES ( departamento_t(200, 'Finanzas', direccion_t('15 oriente','767','Talca'))); -- 12. insertar el empleado 10235811-4 el ddepartamento en que trabaja (100,Contabailidad,12 poniente 629 Talca) INSERT INTO THE ( 2 SELECT D.departamento 3 FROM empleado_tab D 4 WHERE D.rut_e = '11235657-9') 5 VALUES ( departamento_t(100, 'Contabilidad', direccion_t('12 poniente','629','Talca'))) -- Inserción en la tabla anidada CARGAS_TABB_T -- 13. insertar al empleado '11235657-9' laa siguiente carga (14597657-4,Paz Lillo Miranda,10/07/1990) INSERT INTO THE ( SELECT C.cargas FROM empleado_tab C WHERE C.rut_e = '11235657-9') VALUES (cargas_t('14597657-4', 'Paz Lillo Miranda', to_date('10/07/1990', 'dd/mm/yyyy'))); -- 14.Insertar el emplaedo '11235657-9’ la siguiente carga(t(15570057-6, Jose Lillo Miranda,24/09/1993) INSERT INTO THE ( SELECT C.cargas FROM empleado_tab C WHERE C.rut_e = '11235657-9') VALUES (cargas_t('15570057-6', ‘Jose Lillo Miranda', to_date('24/09/1993', 'dd/mm/yyyy'))); -- 15. Insertar al empleado 10235811-4 la ssiguiente carga(16459658-7, Carolina Muñoz Ritz, 31/07/2001) INSERT INTO THE ( SELECT C.cargas FROM empleado_tab C WHERE C.rut_e = '10235811-4') VALUES (cargas_t('16459658-7', 'Carolina Muñoz Ritz', to_date('31/07/2001', 'dd/mm/yyyy'))); -- Consultas -- 16. describir la tabla empleado_tab describe empleado_tab --17. Consultar el rut y el nombre de todoss los empleados select rut_e RUT, nombre_emp NOMBRE from empleado_tab order by nombre_emp; -- 18. Consultar todos los datos del empleaado con rut = '10235811-4’ select * from empleado_tab where rut_e = '10235811-4'; -- 19. Añadir un nuevo teléfono a la lista de teléfonos de ‘Luis Lillo’ select telefono from empleado_tab where nombre_emp = 'Luis Lillo; update empleado_tab set telefono = telefono_t('072-658768', '09-7768987') where nombre_emp = 'Luis Lillo; select telefono from empleado_tab where nombre_emp = 'Luis Lillo; -- 20. Consultar a todos los empleados y ssus cargas familiares select nombre_emp NOMBRE, cargas from empleado_tab; -- 21. Consultar los departamentos a los quue pertenecen los empleados select rut_e RUT, departamento DEPARTAMENTO from empleado_tab;