Bases de Datos - Sistema para llevar el control de libros y prestamos en una biblioteca Modelo ER.

 
Vista:
sin imagen de perfil

Sistema para llevar el control de libros y prestamos en una biblioteca Modelo ER.

Publicado por Francisco (1 intervención) el 09/03/2023 22:39:58
Buen día, tengo el siguiente ejercicio:

Se desea realizar un sistema para llevar el control de libros y prestamos en la biblioteca central, que permita a una Persona realizar un Préstamo y que los Libros estén categorizados por Autor.

Se pide:

- Identificar las entidades.
- Indicar los atributos correspondientes a cada entidad.
- Identificar las relaciones entre las entidades.
- Realizar el diagrama entidad-relación.


Hasta ahora tengo identificado esto:

- Identificar las entidades.


Persona
Libro
Préstamo
Autor

- Indicar los atributos correspondientes a cada entidad.

Persona:
ID de persona
Nombre completo
Dirección
Teléfono
Correo electrónico

Libro:
ID de libro
Título
Categoría
Fecha de publicación

Préstamo:
ID de préstamo
Fecha de préstamo
Fecha de devolución

Autor:
ID de autor
Nombre completo
Fecha de nacimiento
País de origen


- Identificar las relaciones entre las entidades.
• Un libro puede ser escrito por uno o varios autores. (Relación uno a muchos)
• Una persona puede realizar uno o varios préstamos. (Relación uno a muchos)
• Un préstamo puede estar asociado a uno y sólo un libro. (Relación uno a uno)
• Un préstamo puede ser realizado por una y sólo una persona. (Relación uno a uno)

Podría alguien indicarme si está bien el análisis o hay algo que no haya comprendido bien.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Sistema para llevar el control de libros y prestamos en una biblioteca Modelo ER.

Publicado por el duro (5 intervenciones) el 19/03/2023 21:02:27
Francisco, tu análisis quedó “cojo”

Identificaste el atributo categoría en Libro, pero que sucede que esa categoría es un FK que debe venir de otra entidad que te quedó faltando, llamada Categorías (Género Literario), fíjate que cuando el enunciado te dice y que los Libros estén categorizados por Autor, lo que te está diciendo es que tiene que haber forma de establecer los géneros literarios para los libros (Poesía, Ficción, Drama, etc.) y desde luego saber que autor lo escribió, por lo que en Libro te faltó relacionar el FK del Autor_id, para saber quien escribe ese libro.

Si bien en la entidad Prestamo, asociaste los atributos: ID de préstamo, Fecha de préstamo y Fecha de devolución, te faltaron dos FK importantísimas el persona_id que presta ese libro y el libro_id para saber que libro está en pŕestamo, pues así como está no se sabe quien prestó (Persona prestamista) y que libro prestaron.

También conveniente es crear una entidad de paises para relacionar luego ese país al autor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sistema para llevar el control de libros y prestamos en una biblioteca Modelo ER.

Publicado por anonymous (2 intervenciones) el 20/03/2023 17:37:35
Obviamente un sistema bibliotecario maneja muchas más estructuras, esto es apenas una parte que cumple con lo que requieres.

Unos scripts tentativos de ese MER implementados en MariaDB son los siguientes:

CREATE TABLE Persona(
persona_id int (6) NOT NULL PRIMARY KEY AUTO_INCREMENT,
nombres varchar (25) NOT NULL,
apellidos varchar (25) NOT NULL,
telefono varchar (11),
direccion varchar (50) NOT NULL,
correo varchar(25) NOT NULL UNIQUE);

CREATE TABLE Pais(
pais_id int (3) NOT NULL PRIMARY KEY AUTO_INCREMENT,
nombre varchar (50) NOT NULL);

CREATE TABLE Editorial(
editorial_id int (4) NOT NULL PRIMARY KEY AUTO_INCREMENT,
nombre varchar (50) NOT NULL);

CREATE TABLE Genero(
genero_id int (2) NOT NULL PRIMARY KEY AUTO_INCREMENT,
nombre varchar (50) NOT NULL);

CREATE TABLE Autor(
autor_id int (4) NULL PRIMARY KEY AUTO_INCREMENT,
nombres varchar (25) NOT NULL,
apellidos varchar (25) NOT NULL,
fecha_nacimiento date,
pais_id int (3) NOT NULL,
CONSTRAINT FK_Pais FOREIGN KEY (pais_id) REFERENCES Pais (pais_id));

CREATE TABLE Libro(
libro_id int (10) NULL PRIMARY KEY AUTO_INCREMENT,
titulo varchar (50) NOT NULL,
genero_id int (2) NOT NULL,
editorial_id int (4),
autor_id int (4) NULL,
CONSTRAINT FK_Genero FOREIGN KEY (genero_id) REFERENCES Genero (genero_id),
CONSTRAINT FK_Editorial FOREIGN KEY (editorial_id) REFERENCES Editorial (editorial_id),
CONSTRAINT FK_Autor FOREIGN KEY (autor_id) REFERENCES Autor (autor_id));

CREATE TABLE Prestamo(
prestamo_id int (10) NULL PRIMARY KEY AUTO_INCREMENT,
libro_id int (10) NOT NULL UNIQUE,
persona_id int (6) NOT NULL,
fecha_prestamo timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
fecha_devolucion date NOT NULL,
CONSTRAINT FK_Persona FOREIGN KEY (persona_id) REFERENCES Persona (persona_id),
CONSTRAINT FK_Libro FOREIGN KEY (libro_id) REFERENCES Libro (libro_id),
CONSTRAINT UQ_Prestamo UNIQUE (persona_id, libro_id));

Y que te debería dar un MER similar a este.
MER-5
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sistema para llevar el control de libros y prestamos en una biblioteca Modelo ER.

Publicado por evelyn castillo (1 intervención) el 31/03/2023 22:02:03
¿como seria para convertir el diagrama en tercera forma normal?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sistema para llevar el control de libros y prestamos en una biblioteca Modelo ER.

Publicado por El Duro (1 intervención) el 01/04/2023 21:45:36
Así como está, está en 3NF

Se puede llevar a 4NF e incluso 5NF, pero para estas entidades en concreto, no es del todo necesario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar