Consulta base de datos biblioteca pequeña

0 votos
preguntado por galazzaroni (120 puntos) Ago 4, 2016 en SQL
reetiquetada por victor Ago 12, 2016
Hola a todos, estoy haciendo un proyecto para el instituto en Java. Elegí diseñar un pequeño modelo para una biblioteca chica y debo mostrarlo usando jtables.
La idea es mostrar en el primer jtable los clientes, en el segundo jtable los libros y en el tercer jtable los préstamos. Y en el otro tabs usando jtextfields, manejo lo que son las altas y modificaciones.
Adjunto imagen y a continuación les dejo las tablas.

https://i.imgur.com/gsjQUmG.jpg

LIBROS
isbn
nombre
editorial
estado

CLIENTES
id_cli
nombre
ciudad
estado

PRESTAMO
id_prestamo
id_lib (FK isbn)
id_cliente (FK id_cli)
fecha_salida
fecha_max_dev
fecha_devolucion

El problema que tengo es que asi como esta planteado, puedo prestar solo un libro por prestamo, cuando el cliente podria llevarse mas de un libro por prestamo. Tambien tenia "cantidad" en libros porque por ejemplo tenia 5 libros de El Principito pero al hacer el prestamo (cantidad quedaba en 4), no sabia que ejemplar estaba prestando.

Espero puedan ayudarme en dejar el modelo de base de datos lo mejor posible.

Muchas gracias, saludos a todos.

1 Respuesta

0 votos
respondido por Blanca Monroy (340 puntos) Ago 5, 2016

Hola, 

puedes hacer una tabla de prestamo detalle. En el prestamo el problema que presentas es que solo pueden llevarse un libro por cada registro, con la tabla prestamoDetalle puedes guardar el registro por cada libro pero será un mismo id del prestamo.

Prestamos:

id_prestamo
id_lib (FK isbn)
id_cliente (FK id_cli)
fecha_salida
fecha_max_dev
fecha_devolucion

PrestamoDetalle

idPrestamoDetalle

idPrestamo

idLibro

Con esto estas guardando varios prestamos de diferentes libros, pero dentro de un mismo folio del prestamo.

Espero que me haya explicado bien, cualquier duda o comentario estoy para ayudarte

Gracias 

Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código
...