Está en la página 1de 5

1.

A continuación se muestran ejemplos de relaciones de distintas


bases de datos. Señala en cada una las claves candidatas,
primarias y alternativas según las suposiciones que creas
convenientes:

a. Base de datos de un torneo de póquer


partida (ganador, nºjugador, nºpartida, cod_partida, fecha, hora)
carta (palo, valor, numero)

b. Base de datos de apuestas


apuesta (apostante, cantidad, fecha, hora)

c. Base de datos de una inmobiliaria


alquiler (fecha, hora, cliente, nºdias, cod_alquiler, cod_producto)

d. Base de datos de un banco


préstamo (n_cuenta, cantidad, cliente, interés, fecha)

2. Señala las distintas claves (primarias, alternativas y ajenas) en


las siguientes bases de datos. Para las ajenas indica además las
opciones de borrado que consideres más apropiada.

a. Base de datos de una biblioteca


usuario (dni, edad, cuota)
libro (isbn, título, autor, editorial)
préstamo (isbn, dni-usuario, fecha, periodo)

Nota: el isbn es el identificador de cada título, distinto para


cada uno.

b. Base de datos de una compañía de vuelos


vuelo (avión, n_pasajeros, fecha_ida, fecha_vuelta)
avión (matricula, capacidad, n_alas, combustible)

c. Base de datos de una empresa de autobuses


ruta (id_ruta, origen, destino, distancia)
trayecto (origen, destino, fecha, incidencia)
Definición: Grafo Relacional

Es una forma de representar gráficamente el esquema relacional de


una manera sencilla y completa. También llamado modelo relacional
lógico. Es un grafo compuesto de un conjunto de nodos
multiparticionados, donde cada nodo representa un esquema de
relación, es decir una tabla o entidad de la Base de Datos. Viene a
ser la representación de un sistema mediante un conjunto de
relaciones vinculadas entre sí por una o varias claves ajenas.

Tomemos el siguiente ejemplo para ver cómo funciona:


En este caso las reglas de borrado y de modificación han sido
elegidas según un criterio lógico, pero podrían haber sido elegidas de
otra forma. A partir de aquí se proponen los siguientes ejercicios:

3. Desarrolla un modelo relacional mediante un grafo para el


siguiente supuesto:
Se desea implementar un banco por Internet para lo cual debe
diseñarse una base de datos. El banco maneja información de
las relaciones clientes (nombre, DNI, apellidos, dirección, correo
electrónico), cuentas (número, saldo, último movimiento, fecha
de creación) y créditos (fecha de concesión, cantidad, interés,
plazos, amortización).
Se deben tener en cuenta además los siguientes requisitos:
a. Cada cliente puede tener varios créditos que son
unipersonales.
b. Cada crédito se concede a un solo cliente.
c. Una misma cuenta puede ser compartida por más de un
cliente.
Aplica las restricciones que consideres más apropiadas en
cada caso.
4. Crea un modelo relacional mediante un grafo para reflejar la
información de las líneas de metro de una ciudad con los
siguientes requisitos:

a. Una línea está compuesta por una serie de estaciones en


un orden determinado.
b. Cada estación pertenece al menos a una línea.
c. Cada estación puede tener varios accesos, pero un acceso
solo puede pertenecer a una estación.
d. Un acceso nunca puede cambiar de estación.
e. Cada línea tienes asignados una serie de trenes, no
pudiendo suceder que un tren esté asociado a más de una
línea, pero sí que no esté asignado a ninguna.
f. Algunas estaciones tienen asignadas cocheras y cada tren
tiene asignada una cochera.
g. Un tren puede cambiar de cochera pero no puede
quedarse sin ella.
h. Interesa conocer todos los accesos de cada línea.
No hace falta que apliques ninguna restricción de borrado ni
modificación.

5. Realiza el diseño y grafo relacional para representar la


información de un blog. Para ello, crea las relaciones (tablas)
usuario, noticia y comentario. Indica para cada relación al
menos 4 atributos teniendo en cuenta que se cumplan las
relaciones inherentes (si es necesario, consulta blogs reales
para coger ideas). Ten en cuenta además que las noticias y
comentarios no pueden tener más de un autor. Tendrás que
incorporar las restricciones de borrado y/o modificación que
consideres oportunas justificando tu elección.

6. El departamento de formación de una empresa desea construir


una base de datos para planificar y gestionar la formación de
sus empleados.
 La empresa organiza cursos internos de formación de los
que se desea conocer el código de curso, el nombre, una
descripción, el número de horas de duración y el coste
del curso.
 Un curso puede tener como prerrequisito haber realizado
otro(s) previamente, y, a su vez la realización de un curso
puede ser prerrequisito de otros. Un curso que es un
prerrequisito de otro puede serlo de forma obligatoria o
sólo recomendable.
 Un mismo curso tiene diferentes ediciones, es decir, se
imparte en diferentes lugares, fechas y con diferentes
horarios (intensivo, de mañana o de tarde). En una misma
fecha de inicio sólo puede impartirse una edición de un
curso.
 Los cursos se imparten por personal de la propia
empresa.
 De los empleados se desea almacenar su código de
empleado, nombre y apellidos, dirección, teléfono, NIF,
fecha de nacimiento, nacionalidad, sexo, firma y salario,
así como si está o no capacitado para impartir cursos.
 Un mismo empleado puede ser docente en una edición
de un curso y alumno en otra edición, pero nunca puede
ser ambas cosas a la vez (en una misma edición de curso
o lo imparte o lo recibe).

Deberás indicar las restricciones de borrado y/o modificación


que creas explicando el porqué de tu elección.

También podría gustarte