Está en la página 1de 4

Suscríbete a DeepL Pro para poder editar este documento.

Entra en www.DeepL.com/pro para más información.

Semestre 2 Instrucciones del


proyecto para los estudiantes

Configuración del proyecto: Los datos


En este proyecto se utilizará un caso de estudio llamado TRAVELER ASSISTANCE. Se utiliza un conjunto
de tablas de la base de datos para proporcionar información y gestionar las solicitudes de los viajeros del
mundo. Se almacena información sobre todos los países del mundo y sus idiomas, monedas, datos
demográficos y la región en la que se encuentran. Esta base de datos ayudará a los viajeros a obtener
información específica sobre los países a los que desean viajar.

Los objetos de la base de datos para este proyecto necesitarán ser creados ejecutando el script
PLSQL_Schema.sql localizado en esta interacción del proyecto - y son los siguientes:

Tablas COUNTOS, REGIONES, CURRENCIAS, IDIOMAS HABLADOS y IDIOMAS.

Directrices generales de programación:


 Codifique sus sentencias SQL para consultar los datos independientemente de si están
almacenados en mayúsculas o minúsculas (utilice las funciones LOWER y/o UPPER).
 Incluya un manejador de excepciones para manejar NO_DATA_FOUND y otras excepciones
relevantes en todos sus procedimientos.

La asignación y los resultados:


Crea los siguientes programas:
 Parte 1: paquete de asistencia al viajero
 Parte 2: paquete_administrativo_del_viajero

Parte 1: Proporcionar información básica a los viajeros


Crea un paquete llamado paquete_asistencia_viajero que contendrá los siguientes seis procedimientos. Haga públicos
todos los procedimientos. Comente sus procedimientos para explicar su propósito y funcionalidad.

Dos procedimientos de este paquete (countries_in_same_region y country_languages) devuelven los datos


obtenidos al entorno de la llamada como un parámetro OUT que es un array asociativo (es decir, una tabla
INDEX BY de registros). Los dos últimos procedimientos (print_region_array y print_language_array)
aceptan y muestran las matrices devueltas.

1. Cree un procedimiento llamado country_demographics para mostrar información específica sobre un país.
 Pase el NOMBRE DEL PAÍS como parámetro IN. Mostrar COUNTRY_NAME, LOCATION,
CAPITOL, POPULATION, AIRPORTS, CLIMATE. Utilice una estructura de registro definida por
el usuario para la cláusula INTO de su sentencia select. Lanza una excepción si el país no existe.

Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas registradas de Oracle y/o sus filiales. Otros nombres pueden ser marcas comerciales de sus
respectivos propietarios.
Pistas:
 Para rellenar el registro en la sentencia select sin especificar los componentes del registro, la
estructura del registro debe ser idéntica a la lista de columnas de la sentencia select.

Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas registradas de Oracle y/o sus filiales. Otros nombres pueden ser marcas comerciales de sus
respectivos propietarios.
2. Cree un procedimiento llamado find_region_and_currency para obtener y devolver la moneda y
la región en la que se encuentra un país.
 Pase COUNTRY_NAME como parámetro IN y utilice un registro definido por el usuario como
parámetro OUT que devuelva el nombre del país, su región y su moneda.

Pistas:
 Declare un TIPO de registro definido por el usuario en la especificación del paquete con los
componentes adecuados. Utiliza este tipo de registro para declarar variables de registro en tu
procedimiento.

3. Cree un procedimiento countries_in_same_region para obtener y devolver todos los países


de la misma región.
 Pase REGION_NAME como parámetro IN y una matriz asociativa PLSQL de registros (una tabla
INDEX BY) como parámetro OUT. Devuelve REGION_NAME, COUNTRY_NAME y
CURRENCY_NAME a través del parámetro OUT para todos los países de la región solicitada.

Pistas:
 El parámetro OUT debe ser una matriz asociativa de registros.
 Declarar un array asociativo de registros TYPE en la especificación del paquete y utilizar esta
declaración de tipo para declarar el parámetro OUT.
 El procedimiento print_region_array mostrará el contenido del array devuelto por el
parámetro OUT.

4. Crear un procedimiento print_region_array para mostrar el contenido de un array de


registros que se le pasa.
 Pasar un array asociativo de registros que fue declarado en el procedimiento
countries_in_same_region, como parámetro IN. El procedimiento debe mostrar su contenido.

5. Cree un procedimiento country_languages para obtener y devolver todos los idiomas hablados y
los idiomas oficiales de un país.
 Pase COUNTRY_NAME como parámetro IN. El parámetro OUT es una matriz asociativa que
devolverá COUNTRY_NAME, LANGUAGE_NAME y OFFICIAL.
Nota: Un país puede tener varias lenguas habladas. Un país también puede tener más de un idioma
oficial. Compruebe el campo OFICIAL en la tabla SPOKEN_LANGUAGES para obtener las
lenguas oficiales de un país.
Pistas:
 Cree una matriz asociativa PLSQL de tipo de registro en la especificación del paquete. Puede
utilizar este tipo de datos para declarar el parámetro OUT en el procedimiento.
 El procedimiento print_language_array mostrará el contenido del array devuelto por el
parámetro OUT.

6. Crea un procedimiento print_language_array para mostrar el contenido de un array de


registros que se le pasa.
 Pase un array asociativo de registros que fue declarado en el procedimiento
countries_languages, como parámetro IN. El procedimiento debe mostrar su contenido.

Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas registradas de Oracle y/o sus filiales. Otros nombres pueden ser marcas comerciales de sus
respectivos propietarios.
2
Parte 2: Administración del sistema Traveler
Crear un paquete llamado traveler_admin_package, que se puede utilizar para mantener el sistema.

1. Cree un procedimiento display_disabled_triggers que muestre una lista de todos los triggers
deshabilitados en su esquema.

2. Crear una función all_dependent_objects que devuelva todos los objetos dependientes de un objeto concreto.
 Pasa OBJECT_NAME como parámetro IN y devuelve un array que contiene los valores
NAME , TYPE, REFERENCED_NAME Y REFERENCED_TYPE.

Pistas:
 Consultar el diccionario de datos y DEVOLVER un array asociativo de registros desde el
cuerpo de la función.
 Si una función devuelve una matriz vacía, se lanzará una excepción ORA-06502. Incluya código
para comprobar si la matriz asociativa contiene al menos un registro; si no es así, rellene el
primer campo del primer registro con un mensaje adecuado.

3. Cree un procedimiento print_dependent_objects que muestre la matriz de objetos dependientes devuelta por el
función all_dependent_objects.

También podría gustarte