Ayuda con Base de Datos

Kr4n3oK

Hola, me han mandado un ejercicio en clases de BBDD que trata sobre un videoclub.
El tema está en que no consigo diseñar bien una relación, que me parecía bastante obvia pero a la hora de la verdad me está dando quebraderos de cabeza por que no logro darle fin.

A ver si me podéis guiar un poco:

Resulta que tenemos Videos, cada video tiene ejemplares, esto seria una relación 1:N
donde Videos 1:N Ejemplares
Obviamente cada una de estas entidades tiene sus PK.

Un socio del videoclub puede tomar préstamos de muchos, aquí el problema, que tomaría de préstamo, a simple vista lo que toma como préstamos es un ejemplar de un video.
Socio N:N Ejemplares, pero claro, el problema está en que debo usar por cojones una tabla PRESTAMOS, osea, que me esta liando eso bastante, si no fuese así esto sería fácil y además que esos préstamo se guarden en otra tabla como HistorialPrestamos.

Que puedo hacer ahí para solucionar esto?

Un saludo y gracias.

PD: Supongo que el tema será lo siguiente, pero ya digo que me está volviendo loco y no sé porqué, quizás me esté ahogando en un vaso de agua xd, expongo:

Video 1:N Ejemplares
Socio N:N Ejemplares
De esta relación saldría la tabla préstamos , y ahora como meto la de historial xd

PD2: Ah, se me olvidaba, todo esto es en el MERX, lo que se supone que las relaciones N:N ya pasan a ser tablas directamente en el diagrama.

neil90

Buen título para un post, sí señor.

La tabla de prestamos es la tabla de historial en sí, con:

id_cliente (fk refs cliente.id); id_ejemplar (fk refs ejemplar.id); fecha_prestamo; fecha_devolucion

Y ejemplar seria algo como:

id; id_pelicula (fk refs pelicula.id); ...

2 respuestas
Kr4n3oK

#2 Jajaja, ostia no me dado cuenta, con las prisas de dios, lo siento, que algún mod lo cambie xDDDDDDDD

Kr4n3oK

#2 Voy a ver lo que me comentas.

eXtreM3

Un cliente coge un ejemplar. 1:N
Un ejemplar pertenece únicamente a un vídeo. 1:1

Cuando se hace un préstamo, relacionas la tabla clientes con videos con ejemplares y todo eso lo guardas en historiales (idHistorial, idEjemplar, idCliente)

Y pista, solved!

Usuarios habituales

  • eXtreM3
  • Kr4n3oK
  • neil90