Está en la página 1de 2

Curso 20002/2003

DSI

PRCTICA II: ORACLE

ENUNCIADO
La prctica consiste en el desarrollo de un modelo que permita gestionar las reservas y
cancelaciones de una cadena hotelera. Dicha cadena hotelera tiene hoteles de diferentes
categoras repartidos por todo el mundo. El proceso para realizar una reserva consiste en
que la persona, a cuyo nombre est la reserva, aporte los datos necesarios como el
destino, la fecha de entrada, el nmero de das, el tipo de habitacin (sencilla o doble) y
el rgimen (A/D Alojamiento y Desayuno, MP Media Pensin, PC Pensin Completa).
(En caso de que dicha persona nunca haya hecho una reserva con nuestra cadena
hotelera, pasar a ser uno de nuestros clientes)
Un Cliente que tenga una reserva puede cancelarla en cualquier momento, con lo cual la
habitacin quedar libre para nuevas reservas.
Cuando el cliente llegue al hotel, se indicar que la habitacin est ocupada.
SE PIDE
Tablas
Crear la tablas necesarias. En cada tabla hay que definir correctamente las restricciones
oportunas de clave primaria, ajenas y check condition (Al menos 2).
Habr que usar los tipos adecuados en funcin del campo que se defina.
Funciones y Procedimientos
Para poder gestionar todo el proceso habr que implementar al menos:
Un procedimiento para efectuar la reserva, que reciba la informacin necesaria para
ello.
Un procedimiento para realizar cancelaciones
Un procedimiento para poder indicar que una habitacin est ocupada
Implementar una funcin que obtenga las claves primarias adecuadas para poder
insertar nueva informacin en las tablas
Cursores: Se pide la realizacin de una funcin que retorne el nmero de das ocupados
en los hoteles en un intervalo determinado de tiempo para un cliente.(Se pasa como
parmetros el intervalo y el cliente). Se ha de permitir reservar varias habitaciones al
mismo cliente en intervalos de tiempo que se solapen. El tiempo pedido es la duracin
de la unin de estos intervalos y no la suma de las duraciones individuales. Ejemplo:
I1: 2 10
I2: 7 12
I3: 15 20
Duracin total= Duracin (I1 U I2 U I3)= Duracin(2-12 y 15-20)=15

Para realizar esto con cursores, se crear una consulta por la que se obtengan los
intervalos de una persona en el periodo indicado. De una manera iterativa se sumar la
duracin del siguiente intervalo que no coincida con el actual: Ejemplo:
Duracin total {I1,I2,I3}
Paso 1: Total=Duracin(I1)=8
Paso 2: Parcial =Duracin(I2-I1)=12-10=2
Total+=Parcial (8+2=10)
Paso 3 : Parcial = duracion(I3-I2)=duracion(I3)=5
Total+=Parcial (10+5=15)

Curso 20002/2003

Triggers
Cuando se vaya a efectuar una reserva ser necesario que el sistema no permita hacer
una reserva en una fecha y en una habitacin si sta va a estar ocupada en dicha fecha.
Para ello se usarn triggers haciendo que salte un excepcin cada vez que se intente
hacer una reserva en una habitacin que est ocupada o reservada.
Traza
Habr que dejar en la tabla de Traza todos los movimientos efectuados, es decir, si se
ha hecho una reserva, si ha habido una cancelacin o una confirmacin.
Ejemplo
- Un cliente solicita una reserva de 1 habitacin doble para el hotel Juan Carlos I de
Barcelona, para 4 das entrando el da 1 de Junio de 2003.
- Otro cliente decide cancelar la reserva que tena para el 1 de Mayo
- El da 25 de Mayo el cliente efecta la confirmacin.
Resultado en Traza:
Tabla Traza
Fecha
Descripcin
9-04-03 Reserva: Alberto Gmez Hot. Juan Carlos I Barcelona, entrada 1-06-2003
9-04-03 Cancelacin: Susana Vega
25-05-03 Confirmacin: Alberto Gmez
Sofware:
Se entregar un fichero .sql preparado para ejecutar sobre SQL+, y un fichero .bat que
lo lance. El fichero .sql contendr el cdigo para la creacin de la BDR, lo que incluye:
tablas, procedimientos, funciones, triggers, .... . Tambin contendr las llamadas a los
procedimientos necesarios para insertar informacin inicial, as como el clculo, con la
funcin anteriormente pedida, del tiempo de ocupacin de todos los clientes este ao.
Documentacin:
Enunciado provisional: Se entregar un diseo que est en 4 Forma normal, indicando
los pasos necesarios para su consecucin, como se muestra en teora. Se indicar el
enunciado definitivo posteriormente.
Entrega y Evaluacin:
Habr 2 fechas de entrega, en el parcial (25 Mayo) y el final (26 Junio). Para ambas la
prctica es igual en su contenido y evaluacin. Esta prctica cuenta 8/10 de la nota de
prcticas del 2 Parcial.
La prctica podr hacerse en grupos de 2 3 alumnos. La prctica no ser defendida si
no que, tras exponer la nota, habr una revisin. Para que la prctica sea aceptada, es
necesario responder correctamente a unas preguntas sobre la misma que se indicarn en
los exmenes correspondientes de teora. Estas preguntas podrn responderlas los
alumnos que hayan entregado previamente la prctica. Estas preguntas no determinan en
ningn caso la nota de prcticas o de teora, solo tendrn valor de apto o no apto.

También podría gustarte