Vous êtes sur la page 1sur 3

Bases de Datos Ejercicios de Integridad Referencial

EJERCICIOS DE INTEGRIDAD REFERENCIAL

EJERCICIO 1.- Sea la siguiente Base de Datos Relacional:

• CIUDAD (C#, NOMBRE, HABITANTES)


• CARRETERA (A#, DESCRIPCION, CATEGORIA)
• RUTA (C1#, C2#, A#, KILOMETROS)
• ENLACE (C1#, C2#, A#)

donde C1# y C2# son códigos de ciudad. ¿Se podría poner como restricción de integridad referencial
entre la relación CIUDAD y la relación RUTA para C1# DELETE CASCADE y para C2# DELETE
RESTRICT?. ¿Y entre la relación CIUDAD y la relación ENLACE?. ¿En ambos casos sería relevante la
restricción de integridad referencial entre la relación CARRETERA y las relaciones RUTA y ENLACE?.
Justificar las respuestas.

SOLUCIÓN

La estructura referencial que representaría la Base de Datos Relacional propuesta sería el siguiente:

RUTA

CIUDAD CARRETERA

ENLACE

Por tanto, hay dos caminos desde la relación CIUDAD a la relación RUTA, consecuentemente por ambos
las opciones de integridad deben ser iguales. Luego la contestación es negativa.

Para el caso de CIUDAD y ENLACE, el razonamiento sería idéntico.

Las restricciones de integridad referencial entre la relación CARRETERA y las relaciones RUTA y
ENLACE no influyen en el carácter correcto o incorrecto de la estructura referencial.

Pág. - 1
Bases de Datos Ejercicios de Integridad Referencial

EJERCICIO 2.- Sea la Base de Datos Relacional siguiente:

• PROFESOR (P#, NOMBRE, A#)


• ASIGNATURA (A#, TITULO, D#)
• DEPARTAMENTO (D#, NOMBRE, CENTRO)
• ESTUDIANTE (E#, NOMBRE, CURSO)
• ESTUDIA (E#, A#, P#)

se pide contestar justificadamente a las siguientes cuestiones:

a) ¿Que tipo de estructura referencial tenemos?.


b) ¿Se podría poner como restricción de integridad referencial entre la relación ESTUDIA y la relación
ASIGNATURA: DELETE CASCADE, sabiendo que entre la relación ESTUDIA y la relación
PROFESOR la restricción establecida es DELETE RESTRICT?.
c) ¿Y si entre la relación ESTUDIA y la relación PROFESOR la restricción es DELETE CASCADE,
siendo la restricción referencial entre PROFESOR y ASIGNATURA DELETE SET NULL?.
d) ¿En ambos casos sería relevante la restricción de integridad referencial entre la relación ESTUDIANTE
y la relación ESTUDIA?.

SOLUCIÓN

La estructura referencial que representaría la Base de Datos Relacional propuesta sería la siguiente:

DEPARTAMENTO ESTUDIANTE

ASIGNATURA
ESTUDIA

PROFESOR

a) No existen ciclos: Por tanto, la estructura referencial es LINEAL.

b) Hay dos caminos desde la relación ASIGNATURA a la relación ESTUDIA, consecuentemente por
ambos las opciones de integridad deben ser iguales. Luego la contestación es negativa.

c) Para este caso el razonamiento sería similar. Si se borra una asignatura se borrarían directamente todas
las tuplas de la relación ESTUDIA cuyo valor de código de asignatura coincida con el valor borrado. Sin
embargo, por el otro camino el código de asignatura en la relación PROFESOR se pondría a valor NULL,
no borrándose tupla alguna y, consecuentemente, no se propaga ningún borrado a la relación ESTUDIA.

d) La restricción de integridad referencial entre la relación ESTUDIANTE y la relación ESTUDIA no


influye en el carácter correcto o incorrecto de la estructura referencial.

Pág. - 2
Bases de Datos Ejercicios de Integridad Referencial

EJERCICIO 3.- Sea la Base de Datos Relacional siguiente:

• DEPARTAMENTO (D#, DNOMBRE)


• EMPLEADO (E#, ENOMBRE, D#)
• PROYECTO (P#, DESCRIPCION, D#)
• PARTICIPA (E#, P#, FECHA_INICIO)

se pide contestar justificadamente a las siguientes cuestiones:

a) ¿Que tipo de estructura referencial tenemos?.


b) ¿Se podría poner como restricción de integridad referencial entre la relación PARTICIPA y la relación
PROYECTO: DELETE CASCADE, sabiendo que entre la relación PARTICIPA y la relación
EMPLEADO la restricción establecida es DELETE RESTRICT?.
c) ¿Sería correcta la secuencia de restricciones siguiente: entre las relaciones PARTICIPA y EMPLEADO
DELETE CASCADE, entre las relaciones DEPARTAMENTO y EMPLEADO DELETE SET NULL,
entre las relaciones PARTICIPA y PROYECTO DELETE CASCADE y entre las relaciones
DEPARTAMENTO y PROYECTO DELETE SET NULL?.

SOLUCIÓN

La estructura referencial que representaría la Base de Datos Relacional propuesta sería la siguiente:

DEPARTAMENTO

EMPLEADO PROYECTO

PARTICIPA

a) No existen ciclos: Por tanto, la estructura referencial es LINEAL.

b) En principio no hay problema pues no existen dos caminos diferentes para llegar a la relación
PARTICIPA, consecuentemente las opciones de integridad pueden ser distintas. Luego la contestación es
afirmativa. Sin embargo, para contestar adecuadamente deberíamos conocer las restricciones referenciales
existentes entre DEPARTAMENTO y EMPLEADO, y entre DEPARTAMENTO y PROYECTO, pues
desde DEPARTAMENTO si hay dos caminos referenciales diferentes hasta PARTICIPA y la
propagación por ambos debería ser la misma.

c) Para este caso el razonamiento sería el siguiente: En la estructura referencial lineal del problema no
existen realmente dos caminos diferentes por los que propagar la misma regla de integridad referencial, por
tanto, las reglas que se establezcan son a priori correctas. Sin embargo, siendo un poco más estrictos el
conjunto de reglas de integridad que se aplique debe ser coherente. En el caso concreto que nos ocupa las
reglas de integridad respetan dicho principio, luego serían correctas.

Pág. - 3

Vous aimerez peut-être aussi