Bases de Datos II
Examen
Fecha: 28 de Noviembre de 2008
Carreras: Licenciatura en Informática
Ingeniería en Informática
Duración: 3 horas
Ejercicio 1- Empresa de Mudanzas (40 puntos)
Sea el siguiente esquema parcial de tablas utilizadas para mantener la información relativa a las
mudanzas realizadas por una empresa de mudanzas:
VIAJES (Fecha, Hora, #camión, Destino, km-recorridos, m3)
• Registra todos los viajes de mudanzas, con qué destino, la distancia realizada,
por cuál camión de la empresa y qué cantidad de m3 a transportar, la hora es
un valor de 0 a 23. El costo de un viaje es la suma de los km-recorridos por su
cotización más los m3 por su cotización.
CAMIONES (#camion, matricula, capacidad, fecha_ult_mantenimiento)
• Es el registro de todos los camiones de la empresa, con su correspondiente
matricula, la capacidad en m3 que el mismo puede transportar en un viaje y la
fecha en que se le realizo el último servicio técnico.
COSTOS (Fecha, cotización-x-Km, cotización-x-m3)
• Dada una fecha, indica cuando cuánto cuesta la mudanza por kilometro y por
m3.
Se solicita lo siguiente:
1. (15 puntos) La empresa necesita controlar que cuando se asigne y/o modifique un
viaje, el camión asignado soporte los m3 que se desean transportar. Para ello el grupo
de Desarrollo ha pensado realizar un trigger (gatillo ó disparador) para dar solución a
este requerimiento.
a. ¿Existen otras soluciones? Justifique su respuesta.
b. Escriba el código correspondiente al trigger (gatillo o disparador) que llevaría a
cabo el control.
2. (10 puntos) Los camiones necesitan un mantenimiento (aceite, filtros, amortiguadores,
neumáticos, etc) periódicamente. Este mantenimiento no solo depende del tiempo
transcurrido desde la última vez que se hizo, sino además de la cantidad de carga (m3)
que ha transportado el camión desde esa fecha. La empresa necesita un listado de los
camiones que necesitan mantenimiento ese día, indicando para cada camión el tiempo
transcurrido desde el último mantenimiento y la carga total transportada desde esa
fecha, así como el resto de los datos de los camiones. Diseñe y desarrolle la solución.
3. (15 puntos) Luego de un tiempo de funcionamiento, la empresa se dio cuenta que los
camiones que necesitan mantenimiento deben de ser, de alguna forma, desafectados de
los viajes, debido a que se han dado caso de camiones a los que no se le realizaron los
mantenimientos y se rompieron, perdiendo mucho dinero. Como norma cada 3 meses se
debe de realizar el mantenimiento.
Se solicita diseñar y desarrollar una solución que permita dar solución a lo requerido.
NOTA: la solución puede utilizar tablas nuevas, modificaciones a las tablas existentes,
etc.
Este material es para uso exclusivo en los cursos impartidos por el Instituto Universitario Autónomo del Sur y asociados
1
Examen Bases de Datos II – Noviembre 2008
Ejercicio 2 – Teórico (20 puntos)
1. (15 puntos) Existen varias formas de restringir los registros y/o columnas que
determinados usuarios pueden consultar. Explique dos de estas formas y como
funcionan.
2. (5 puntos) Explique y ejemplifique como funciona en una restricción de integridad
referencial las sentencias ON DELETE/UPDATE CASCADE.
Ejercicio 3 – Lista de Amenazas y Herramientas de Protección (40 puntos).
Una empresa mantiene actualizada su lista de amenazas de seguridad, las herramientas que
posee para defenderse de las mismas y de que amenazas protegen las diferentes herramientas;
para ello cuenta con las siguientes tablas:
AMENAZAS (Nro, Nombre, Clasificaciòn, Costo, Fecha_Conocida)
Registra todas las amenazas que se conocen, donde Clasificación varia de 1 a 5, siendo 5 la
más grave y el costo se refiere a el costo que le genera a la empresa un caso de ataque por esa
amenaza. La fecha_conocida es desde cuando se conoce esa amenaza.
HERRAMIENTAS (Nro, Nombre, Fabricante, Costo)
Registra todas las herramientas que dispone la empresa para hacer frente a las amenazas, el
nombre, el fabricante y el costo que tiene la herramienta.
DEFENSAS (#Amenaza, #Herramienta, Fecha_Comienzo_Proteccion)
Indica para cada amenaza conocida, que herramienta permite su defensa y viceversa. Una
amenaza puede ser protegida con n herramientas y una herramienta puede proteger de n
amenazas. La fecha_comienzo_proteccion indica desde cuando esa herramienta protege de esa
amenaza.
Teniendo en cuenta lo anterior, se solicita:
1. (5 puntos) Asumiendo que la definición de las tablas ya se encuentra realizada, definir
todas las restricciones de integridad necesarias (PK, FK, valores nulos y no nulos,
defaults y chequeos).
2. (10 puntos) Se desea conocer un listado de todas las amenazas que no estuvieron
protegidas por herramientas desde su fecha_conocida, indicando, además de los datos
de la amenaza, la cantidad de días que pasaron hasta que existió la primera herramienta
que permite su defensa.
3. (10 puntos) Se desea conocer todas las amenazas con Clasificación = 5 y para cada
una de ellas, las herramientas que las protegen, indicando para cada herramienta la
diferencia (a favor o en contra) de costo entre la herramienta y el costo que genera la
amenaza en caso de un ataque.
Este material es para uso exclusivo en los cursos impartidos por el Instituto Universitario Autónomo del Sur y asociados
2
Examen Bases de Datos II – Noviembre 2008
4. (15 puntos) Explique claramente qué sucede con las siguientes transacciones
descriptas a continuación, en qué estado y como terminan ambas transacciones.
PASO T1 T2
1 SET TRANSACTION ISOLATION LEVEL SET ISOLATION LEVEL TO
TO SERIALIZABLE REPEATABLE READ
2 BEGIN BEGIN
3 SELECT * FROM DEFENSAS
4 INSERT INTO DEFENSAS VALUES SELECT * FROM HERRAMIENTAS
(5007, 32, 16/10/2008) WHERE #Amenaza = 5008
5 SELECT * FROM DEFENSAS
6 INSERT into DEFENSAS
VALUES
(5008, 54, 17/10/2008)
7 COMMIT COMMIT
Este material es para uso exclusivo en los cursos impartidos por el Instituto Universitario Autónomo del Sur y asociados
3