Diseño de Base de Datos - Biblioteca
Descripción del problema
La biblioteca se encuentra en la carretera balnearios Catavi dentro del Área Tecnología
debajo del Bloque “A” de la Carrera de Ingeniería Informática. Actualmente, la biblioteca
solo gestiona libros físicos y todo el proceso lo realiza de forma manual. La encargada de la
biblioteca es la única responsable de gestionar los préstamos, reservas y multas.
Los usuarios pueden pedir prestado hasta un número determinado de libros y, si están
prestados, pueden realizar una reserva para obtenerlos más tarde.
La encargada lleva un registro manual de los libros prestados, reservas, los datos de los
usuarios y las fechas de devolución.
Cuando los libros no son devueltos a tiempo, la encargada de la biblioteca registra la ficha
de atraso correspondiente. Debido al sistema manual, que depende de registros escritos, es
difícil gestionar de manera eficiente y precisa las operaciones diarias de la biblioteca. Por
esta razón, se requiere un diseño de Base de Datos que facilite la gestión de los libros físicos,
las reservas, los préstamos y el control de las multas de manera más organizada.
Identificación de Entidades
Usuario = { Num_usuario, nombre, paterno, dirección, teléfono }
Encargada = { Num_encargada, nombre, correo, fecha_ingreso }
Libro = { Cod_libro, título, autor, categoría, fecha_ingreso }
Préstamo = { Num_prestamo, fecha_prestamo, hora_prestamo, fecha_devolución,
hora_devolución, num_usuario, num_encargada, cod_libro }
Reserva = { Num_reserva, fecha_reserva, num_usuario, cod_libro }
Multa = { Num_multa, fecha_multa, monto, estado, num_usuario }
Tipo de Relación
Solicita = Usuario - Reserva
Efectúa = Usuario - Préstamo
Registra = Encargada - Préstamo
Genera = Encargada - Multa
Corresponde = implícita por la FK cod_libro en Reserva
Diagrama Entidad – Relación (descriptivo)
USUARIO ---< RESERVA >--- LIBRO
| |
| |
| |
>---< PRÉSTAMO >--- ENCARGADA
|
>---< MULTA >--- ENCARGADA
Diagrama de Tablas
USUARIO
Num_usuario (PK)
Nombre
Paterno
Dirección
Teléfono
ENCARGADA
Num_encargada (PK)
Nombre
Correo
Fecha_ingreso
LIBRO
Cod_libro (PK)
Título
Autor
Categoría
Fecha_ingreso
PRÉSTAMO
Num_prestamo (PK)
Fecha_prestamo
Hora_prestamo
Fecha_devolución
Hora_devolución
Num_usuario (FK → USUARIO)
Num_encargada (FK → ENCARGADA)
Cod_libro (FK → LIBRO)
RESERVA
Num_reserva (PK)
Fecha_reserva
Num_usuario (FK → USUARIO)
Cod_libro (FK → LIBRO)
MULTA
Num_multa (PK)
Fecha_multa
Monto
Estado (pagada / pendiente)
Num_usuario (FK → USUARIO)