Vous êtes sur la page 1sur 7

EXAMEN DE DISEO DE BASES DE DATOS ETSIA, FI

(6 de julio de 2005)
1. Dada la siguiente descripcin de un sistema de informacin, obtener
el esquema conceptual del mismo. Las restricciones de integridad que
no pueda expresar en el diagrama enncielas en lenguaje natural. (25
puntos)
El vicerrectorado de deportes quiere informatizar el club deportivo de la universidad para
mantener la informacin centralizada de todas las secciones deportivas.
El club deportivo esta formado por secciones deportivas de las que hay que almacenar
necesariamente su nombre que es nico, un horario de reunin semanal, un lugar de reunin, y la
direccin URL de su pgina Web. Adems, cada seccin tiene un presidente y un secretario, y
tambin puede tener, aunque no necesariamente, varios vocales. Estos cargos son ocupados por
miembros de cada seccin.
De los miembros de cada seccin se conoce su NIF, nombre, direccin, e-mail, uno o varios
nmeros de telfono y si son alumnos, trabajadores, antiguos alumnos o personas ajenas a la
universidad. De los alumnos siempre se almacenar el centro en el que cursan o han cursado
estudios, y de los trabajadores el centro al que estn adscritos.
El club deportivo dispone de material que se identifica por un nmero interno, tiene una
descripcin y un estado de uso y la seccin a la que pertenece. Este material puede ser comn o
individual. El material individual de las secciones es prestado a sus miembros de manera
individual, de cada prstamo se almacena la fecha de entrega y el plazo de devolucin. En el caso
de que la devolucin se produzca fuera de plazo se almacena una falta que se identifica con la
persona implicada, el material utilizado y la fecha de devolucin; tambin se incluye el nmero de
das de retraso.
El material comn tambin se puede prestar a otras secciones, en este caso se almacena la
fecha del prstamo y una descripcin. En algunos casos se asigna un responsable del material
que tampoco tiene que ser necesariamente miembro de la seccin.
Hay que resaltar que en ningn caso se almacena un histrico de los prstamos realizados.

SOLUCIN:

numero

estado
descrip
material
fecha

T/D
n

descrip
n
res

lugar

Seccin
Hora_r

n
n

URL

Pertenece

vo
ca

NIF

Plazo

E-mail
socio

nombre

preside

direcc
n

S ec r
et

po
ns

fecha

de

ce
di d
o

Es_ de

Nombre

fecha

do
st a
pre

individual

comn

falta

en

telef

n
UPV

centro

Tipo

R.I.:
1. El presidente, secretario y vocales de una seccin pertenecen a la seccin
2. El material individual de una seccin slo se presta a sus socios
3. El material comn de una seccin lo puede ceder a otra seccin

2. Dada la siguiente descripcin de un sistema de informacin, obtener


el esquema conceptual del mismo. Las restricciones de integridad que
no pueda expresar en el diagrama enncielas en lenguaje natural. (25
puntos)
Una asociacin decide vender lotera para ayudar a financiar sus actividades. Para facilitar la
gestin decide llevar un registro de todos los sorteos en los que participa.
De cada sorteo se debe saber la fecha, que es nica, la hora del sorteo y el precio de un
dcimo. Se debe guardar la informacin de la administracin a la que compramos la lotera:
nmero, localidad, direccin y telfono (los nmeros de administracin son nicos dentro de
cada localidad) y del nmero de lotera que se compra para el sorteo (en un sorteo slo se
compra un nmero). Tambin se deben registrar los dcimos que se compran. Cada dcimo se
identifica por el nmero de serie y la fraccin dentro de cada sorteo.
Una vez comprada la lotera de un sorteo, se contacta con una imprenta para que realice los
talonarios de papeletas que se pondrn a la venta. Se debe registrar la informacin de la
imprenta, NIF, que la identifica, nombre comercial, direccin, poblacin y telfono, el nmero de
talonarios confeccionados, el nmero de papeletas por talonario y el precio de la papeleta.

Dias_r

Tambin se registran todos los talonarios, stos se identifican por un nmero secuencial nico
dentro de cada sorteo.
Una vez confeccionados los talonarios, se reparten entre los miembros de la asociacin, que
pueden ser socios o colaboradores. De ambos se conoce el DNI, que los identifica, el nombre, la
direccin y el telfono de contacto. Los socios tienen un nmero de socio que es nico y de los
colaboradores se conoce el tipo de colaboracin que pueden prestar.
Los socios estn obligados a vender los talonarios que se les entreguen, por lo que en el momento
de la entrega se anota la fecha de entrega y el importe del talonario que debe abonar el socio en
el momento de la recogida. Los colaboradores no tienen esta obligacin. Cuando se les entrega un
talonario se anota slo la fecha de entrega. Cuando devuelven el talonario se anota el nmero de
papeletas vendidas y el importe de las mismas.

SOLUCIN:
fecha
num

nombre

localidad
1

administracion
tlf

numero

precio

hora

direccion

NIF
n

compra

sorteo

imprime

direccion

imprenta

tlf

pape/tal

poblacion

precio/pape

dec/sor
tal/sor
n
n
num

decimo

fraccion

talonario
talon_socio
P,D

n
entregaS
fecha

talon_externo

direccion

numsoc

DNI
socio
T,D

importe
colaborador

entregaC

miembro

nombre

n
fecha

num_talonarios

serie

importe

papeletas

tipo_colaboracion

Restricciones:
- Las fechas de entrega han de ser anteriores a la del sorteo
Derivados:
- num_talonarios se obtiene de las ocurrencias en talonario para el sorteo
- el importe en entregaS se obtiene multiplicando el precio/pape por el pape/tal.
- el importe en entregaC se obtiene multiplicando papeletas por el precio/pape

tlf

3. A partir del siguiente diagrama Entidad-Relacin, realice el diseo


lgico, obteniendo un conjunto de relaciones en tercera forma normal
incluyendo las restricciones necesarias en SQL.
(2 puntos)

...

a0

an
n

d0

...
n

p1
B

X
x

dn
n

s
b0

d n1

d n2

n
1 1

p2

1
e0

n
G
W

...

1
C

g0

gn
c0

SOLUCIN:
A(a0: dom_a0, ..., an: dom_an)
CP: {a0}
C(c0: dom_c0)
CP: {c0}

E(e0: dom_e0 ,a0: dom_a0, s: dom_s)


CP: {e0}
CAj: {a0} A
VNN: {s, a0 }

G(e0: dom_e0, g0: dom_g0, ...,gn: dom_gn)


X(p1: dom_b0, , p2: dom_b0 ,x:dom_x)
CP: {e0}
CP: {p1}
CAj: {e0} E
CAj: { p1} B
nico: {g0}
CAj: { p2} B
VNN: { p2, x}
R(a0: dom_a0, d0: dom_d0, e0: dom_e0)
CP: {a0, d0, e0}
B(b0: dom_b0, e0: dom_e0,c0: dom_c0 }
CAj: { d0,e0} D
CP: {b0}
CAj: {a0} A
CAj: {e0} E
R(a0: dom_a0, d0: dom_d0, e0: dom_e0 , r: dom_r)
CAj: {c0} C
VNN: { e0 }
CP: {a0, d0, e0,r}
nico: {e0}
CAj: { a0, d0, e0} R

D(d0: dom_d0, ..., dn1: dom_bn1 , dn2: dom_bn2 , e0: dom_e0)


CP: {d0, e0}
CAj: {e0} E
create assertion existencia_D check not exists (select * from D Dx where not exists
(select * from R Rx where (Rx.d0 = Dx.d0 AND Rx.e0 = Dx.e0 ) ))

4. A partir del diagrama Entidad-Relacin presentado en el problema


nmero 3,

a) Analizar, a nivel conceptual, la transaccin que permitira dar de alta


una ocurrencia de la entidad D. (0,5 puntos)
b) Analizar, a nivel conceptual, la transaccin que permitira dar de baja
una ocurrencia de la entidad A. Considerar un borrado de E restrictivo
respecto a la relacin U y propagado o en cascada respecto al resto.
(0,5 puntos)
c) Disear, a nivel lgico, la transaccin que permitira dar de baja una
ocurrencia de la entidad E. Considerar un borrado restrictivo respecto
a las relaciones U y T, y propagado o en cascada respecto al resto.
(0,5 puntos)
SOLUCIN:

a)

TRANSACCIN ALTA D
Insertar en D
Insertar en T
Insertar en R

b)

TRANSACCIN BAJA A
Borrar en A
Borrar en R
Borrar en D, si D no est en R
Borrar en T, si se ha borrado en D
Borrar en S
Borrar en E (se borra G)
Borrar en T
Borrar en D
Borrar en R

c)

TRANSACCIN BAJA E (e0x: dom_e0)


DELETE FROM E WHERE e0 = e0x
DELETE FROM G WHERE e0 = e0x
COMMIT;

5. Dada las siguientes definiciones de dominios y el conjunto de


restricciones que la acompaan, transforme la relacin CURSO a un
conjunto de relaciones en tercera forma normal.
(15 puntos)

dom_cdigo: cadena(20);
dom_fa : cadena (50)
dom_descripcin: cadena(200);
dom_lugar: cadena(9):
dom_fecha: cadena(10);
dom_participantes: conjunto de participante:dom_participante;
dom_participante: registro de
(DNI: cadena (10),
nombre: cadena (50),
direccin: cadena (50),
restriciones: cadena (50))
dom_monitores: conjunto de monitor: dom_monitor;
dom_monitor: registro de
(DNI: cadena (10),
nombre: cadena (50),
direccin: cadena (5o))

Y sea la siguiente relacin:


CURSO( cdigo: dom_codigo,
fecha: dom_fecha,
descripcin: dom_descrip,
lugar: dom_lugar,
forma_de_acceso: dom_fa,
participantes: dom_participantes,
monitores: dom_monitores)
CP: {cdigo, fecha}
Normalizar la relacin anterior, sabiendo que:
Todos los atributos tienen restriccin de valor no nulo
La descripcin depende del cdigo
Cada participante pueden tener diferentes restricciones en cada
curso que participa
Un DNI es nico y determina el nombre y la direccin.
No hay dos lugares iguales
La forma_de_acesso depende de lugar

SOLUCIN:
CURSO ( cdigo: dom_codigo, fecha: com_fecha, lugar: dom lugar )
CP: {cdigo, fecha}
CA: {lugar} LUGARES
CA: {cdigo} CURSO_GENRICO
VNN: { lugar }
LUGARES (lugar: dom_lugar, forma_de_acceso: dom_fa);
CP: { lugar}
VNN: { forma_de_acceso }
CURSO_GENRICO (cdigo: dom_codigo, descripcin: dom_descrip)
CP: { cdigo}
VNN: { descripcin }
MONITOR_CURSO(cdigo: dom_codigo, fecha: com_fecha, DNI: dom _DNI);
CP: { cdigo, fecha, DNI }
CA: { cdigo, fecha } CURSO
CA: {DNI} MONITOR
MONITOR( DNI: dom_DNI, nombre: cadena; direccin: cadena)
CP: { DNI}
VNN: { nombre, direccin }
PARTICIPA_CURSO(cdigo: dom_codigo, fecha: com_fecha, DNI: dom _DNI, restricciones:
cadena);
CP: { cdigo, fecha, DNI }
CA: { cdigo, fecha } CURSO
CA: {DNI} PARTICIPANTE
VNN: { restricciones }
PARTICIPANTE( DNI: dom_DNI, nombre: cadena; direccin: cadena)
CP: { DNI}
VNN: { nombre, direccin }
Restricciones:
- Todo curso tiene participantes y monitores
- En todo lugar hay algn curso
- De todo curso genrico hay algn curso
- Todo monitor es de algn curso
- Todo participante es de algn curso

Vous aimerez peut-être aussi