Caso completo: sistema de préstamos de una biblioteca
En este caso recorreremos el proceso completo de modelado conceptual: requisitos, vocabulario, reglas de negocio, modelo E/R, casos límite y documentación. No transformaremos el resultado en tablas ni elegiremos un SGBD.
1. Alcance del caso #
La biblioteca necesita gestionar socios, libros, ejemplares físicos, autores y préstamos. Quedan fuera del alcance las compras, las sanciones económicas y la gestión del personal.
El sistema debe responder preguntas como:
- ¿Qué ejemplares existen de cada libro?
- ¿Qué socio tiene prestado un ejemplar actualmente?
- ¿Qué préstamos ha realizado un socio?
- ¿Qué autores corresponden a cada libro?
- ¿Qué préstamos están fuera de plazo?
2. Requisitos iniciales #
- Cada socio posee un número de socio único, nombre, correo electrónico y fecha de alta.
- Cada libro se identifica mediante su ISBN y tiene título y año de publicación.
- Un libro debe tener al menos un autor y todo autor registrado debe estar asociado con uno o varios libros.
- La biblioteca puede disponer de varias copias físicas del mismo libro.
- El número de ejemplar solo es único dentro de un libro.
- Cada préstamo corresponde a un único socio y a un único ejemplar.
- De cada préstamo se conoce un código único, la fecha de préstamo, la fecha prevista de devolución y, cuando se devuelve, la fecha de devolución real.
- Un socio puede mantener como máximo cinco préstamos activos.
- Un ejemplar no puede estar incluido en dos préstamos activos simultáneamente.
- Debe conservarse el historial, por lo que un mismo ejemplar puede aparecer en muchos préstamos a lo largo del tiempo.
3. Vocabulario acordado #
| Término | Significado en este caso |
|---|---|
| Libro | Obra catalogada; no representa una copia física |
| Ejemplar | Copia física concreta de un libro |
| Socio | Persona autorizada para utilizar el servicio de préstamo |
| Préstamo | Acontecimiento que registra la entrega temporal de un ejemplar a un socio |
| Préstamo activo | Préstamo que todavía no tiene fecha de devolución real |
| Autor | Persona reconocida como autora de uno o varios libros |
Se descartan «lector» y «usuario» como sinónimos para evitar que aparezcan conceptos duplicados.
4. Reglas de negocio normalizadas #
- RN-01: Todo Libro debe estar relacionado con uno o más autores.
- RN-02: Todo Autor registrado participa en uno o varios libros catalogados.
- RN-03: Todo Ejemplar pertenece exactamente a un Libro.
- RN-04: El número de ejemplar es único únicamente dentro de su Libro.
- RN-05: Todo Préstamo corresponde exactamente a un Socio y a un Ejemplar.
- RN-06: Un Socio puede tener entre cero y cinco préstamos activos.
- RN-07: Un Ejemplar puede participar en muchos préstamos históricos, pero como máximo en uno activo.
- RN-08: La fecha prevista de devolución no puede ser anterior a la fecha de préstamo.
- RN-09: La fecha de devolución real es opcional y, cuando exista, no puede ser anterior a la fecha de préstamo.
5. Entidades y atributos #
Socio #
- Identificador: numero_socio.
- Atributos: nombre, correo_electronico y fecha_alta.
Libro #
- Identificador: ISBN.
- Atributos: titulo y anio_publicacion.
Autor #
- Identificador: codigo_autor.
- Atributos: nombre y apellidos.
Ejemplar #
- Clave parcial: numero_ejemplar.
- Atributos: fecha_adquisicion y estado_conservacion.
- Es una entidad débil: numero_ejemplar solo identifica una copia cuando se combina con el identificador ISBN del Libro propietario.
Préstamo #
- Identificador: codigo_prestamo.
- Atributos: fecha_prestamo, fecha_prevista_devolucion y fecha_devolucion_real, que es opcional.
- Se modela como entidad porque tiene identidad, atributos, historial y un ciclo de vida propio. No es una simple propiedad de Socio ni de Ejemplar.
6. Relaciones y participación #
Escribe — Autor y Libro #
- Autor participa con (1,N).
- Libro participa con (1,N).
- La relación es N:M.
Tiene — Libro y Ejemplar #
- Libro participa con (0,N).
- Ejemplar participa con (1,1).
- Es una relación de identificación: Ejemplar necesita a Libro para completar su identificador.
Realiza — Socio y Préstamo #
- Socio participa con (0,N) si consideramos todo el historial.
- Préstamo participa con (1,1).
- El máximo de cinco solo se aplica a préstamos activos y debe documentarse como restricción adicional.
Corresponde a — Préstamo y Ejemplar #
- Préstamo participa con (1,1).
- Ejemplar participa con (0,N) a lo largo del tiempo.
- La regla «como máximo un préstamo activo por ejemplar» es temporal y se documenta aparte.
7. Representación textual del modelo #
1AUTOR (1,N) ── ESCRIBE ── (1,N) LIBRO 2LIBRO (0,N) ── TIENE ──── (1,1) EJEMPLAR [débil] 3SOCIO (0,N) ── REALIZA ─── (1,1) PRÉSTAMO 4PRÉSTAMO (1,1) ─ CORRESPONDE A ─ (0,N) EJEMPLAR
Esta representación resume las relaciones, pero no sustituye la documentación de RN-06 a RN-09.
8. Revisión mediante casos concretos #
Caso normal #
Ana, socia S-104, recibe el ejemplar 2 del libro con ISBN 978-1. Se crea el préstamo P-900 con fecha prevista de devolución. El modelo permite asociar el préstamo exactamente con Ana y con ese ejemplar.
Caso histórico válido #
El mismo ejemplar fue prestado a otra persona el año anterior. Puede existir otro Préstamo relacionado con el ejemplar porque la participación (0,N) representa el historial.
Caso límite válido #
Un socio tiene exactamente cinco préstamos activos. Cumple RN-06, pero no puede iniciar un sexto hasta devolver alguno.
Caso inválido por simultaneidad #
Se intenta crear un préstamo activo para un ejemplar que ya está prestado. Las cardinalidades históricas no lo impiden por sí solas, por lo que RN-07 debe conservarse explícitamente en la documentación.
Caso inválido por identificación #
Existen dos ejemplares con numero_ejemplar 3 para el mismo ISBN. Esto infringe RN-04. Sí puede existir otro ejemplar número 3 para un Libro diferente.
Caso inválido por fechas #
La fecha de devolución real es anterior a la fecha del préstamo. El caso infringe RN-09 aunque el diagrama gráfico no pueda mostrar completamente esa comparación.
9. Decisiones documentadas #
- Se separan Libro y Ejemplar porque una obra puede disponer de varias copias físicas con estados e historiales diferentes.
- Ejemplar es débil porque su número solo es único dentro de Libro, no simplemente porque no pueda existir sin él.
- Préstamo se modela como entidad para conservar múltiples préstamos históricos entre un Socio y un Ejemplar.
- Los límites sobre préstamos activos y las comparaciones entre fechas son restricciones semánticas textuales.
- No se incluye Reserva porque está fuera del alcance acordado. Si se incorporase, habría que revisar las reglas y el modelo.
10. Resultado de la validación #
El modelo representa los conceptos del alcance, identifica sus ocurrencias, expresa las relaciones estructurales y documenta las reglas temporales que el diagrama no puede mostrar. Los casos válidos pueden representarse y los casos inválidos quedan asociados a una regla de negocio concreta.