Este es mi Diagrama Entidad-Relación (DER) del proyecto. Definí las entidades Cliente, Editorial, Libro, Pedido, Inventario e Items con sus atributos clave (PK) y foráneos (FK). Las cardinalidades están representadas así: Cliente 1:N Pedido, Pedido 1:N Items, Libro 1:N Items (lo que resuelve la relación N:M entre Pedido y Libro), Libro N:1 Editorial y Libro 1:1 Inventario (o 1:N si se modelan múltiples ubicaciones). También incluí identificadores como DNI/RUT para persona natural y NIT/RUES para jurídica. Este modelo garantiza integridad, evita duplicados y refleja el flujo real de ventas y stock.
Modelo_EntidadRelacion_Floristeria.png
Explicación completa del diagrama entidad-relación
Entidades y atributos
CLIENTE:
Atributos: CodigoCliente (PK), Nombre, Dirección, Teléfono, Email, Tipo (Natural/Jurídica), RUT_DNI, NIT_RUES.
PK: CodigoCliente identifica de forma única a cada cliente.
EDITORIAL:
Atributos: CodigoEditorial (PK), NombreContacto, Teléfono1, Teléfono2, Email.
PK: CodigoEditorial identifica la editorial y se referencia desde LIBRO.
LIBRO:
Atributos: CodigoLibro (PK), Título, Categoría, ISBN, AñoPublicacion, Valor, Autor, CodigoEditorial (FK).
FK: CodigoEditorial conecta el libro con su editorial.
PEDIDO:
Atributos: CodigoPedido (PK), Fecha, Valor, CodigoCliente (FK).
FK: CodigoCliente conecta el pedido con el cliente que lo realizó.
INVENTARIO:
Atributos: CodigoLibro (PK), Cantidad.
Representa el stock por libro; se vincula con LIBRO por CodigoLibro.
ITEMS (entidad asociativa):
Atributos: CodigoPedido (FK), CodigoLibro (FK), Cantidad, Valor.
Une PEDIDO y LIBRO para resolver la relación N:M (varios libros en un pedido y un libro puede estar en muchos pedidos).
Cardinalidades y flechas del erDiagram
Los símbolos en las flechas indican la cardinalidad en cada extremo:
* ||: lado “uno” (participación única)
* o{: lado “muchos” (cero o más).
* }|: “uno y solo uno” con participación total (Se usa ||, la participación se comenta).
* o|: “cero o uno”.
* }{: “muchos a muchos”.
Relaciones del modelo:
CLIENTE ||--o{ PEDIDO : realiza
- Significado: Un cliente puede realizar muchos pedidos (1:N). Un pedido pertenece a un único cliente.
PEDIDO ||--o{ ITEMS : contiene
- Significado: Un pedido contiene muchos ítems (1:N). Cada ítem pertenece a un único pedido.
LIBRO ||--o{ ITEMS : incluido
Significado: Un ítem referencia un único libro, pero un libro aparece en muchos ítems (1:N).
Con PEDIDO y LIBRO unidos por ITEMS se logra la relación N:M.
LIBRO }o--|| EDITORIAL : pertenece
- Significado: Muchos libros pertenecen a una sola editorial (N:1). El símbolo }o del lado de LIBRO indica “muchos”; || del lado de EDITORIAL indica “uno”.
LIBRO ||--o{ INVENTARIO : registrado
- Significado: Un libro puede tener múltiples registros de inventario si manejas ubicaciones/depósitos diferentes; en tu diagrama actual INVENTARIO usa CodigoLibro como PK, lo que implica un registro por libro (efectivamente 1:1). Si quieres modelar varios depósitos, INVENTARIO debería tener una PK compuesta (p. ej., CodigoLibro + CodigoDeposito) y la relación sería 1:N.
Significado de siglas y etiquetas
* PK: Primary Key (clave principal). Identifica de forma única a cada registro de la entidad. No se repite y no puede ser nula.
* FK: Foreign Key (clave foránea). Atributo que referencia la PK de otra entidad para crear la relación.
* DNI: Documento Nacional de Identidad (persona natural).
* RUT: Registro Único Tributario (identificador fiscal de persona natural, según país).
* NIT: Número de Identificación Tributaria (persona jurídica).
* RUES: Registro Único Empresarial y Social (persona jurídica, según país).
* Tipo: Clasifica al cliente como persona natural o jurídica.
* ISBN: Identificador internacional del libro.
* AñoPublicacion: Año en que se publicó el libro.
* Valor/Precio: Monto monetario (usa uno solo para consistencia, “Precio” en LIBRO y “Valor” del PEDIDO/ITEMS están bien).
Muchas gracias Alura Latam y Oracle next Education