# data[].attributes.attachment_caption
📌 Justificación de la Normalización – AgroConecta

El diseño propuesto de la base de datos de AgroConecta cumple con las tres primeras formas normales, garantizando así un modelo eficiente, sin redundancias innecesarias y con integridad de los datos.

# data[].attributes.body
✅ Primera Forma Normal (1FN)

Un esquema está en 1FN cuando cada campo almacena un valor atómico (no multivaluado) y no existen repeticiones de grupos de atributos.

Ejemplo: En la tabla Cliente, cada registro tiene un solo dni, email y celular, evitando listas o múltiples valores en un mismo campo.

En la tabla Detalle_Pedido, cada fila almacena únicamente un producto solicitado, con su cantidad y precio unitario. Si un cliente pide 3 productos distintos, se registran 3 filas separadas, en lugar de agruparlos en un solo campo.

👉 Con esto aseguramos que todos los atributos son indivisibles y se evita la duplicación de columnas.

✅ Segunda Forma Normal (2FN)

Un esquema está en 2FN cuando cumple 1FN y todos los atributos dependen por completo de la clave primaria (no de una parte de ella en caso de claves compuestas).

Ejemplo: La tabla Proveedor_Producto tiene una clave compuesta lógica (id_proveedor, id_producto), pero la implementamos con un id_proveedor_producto como PK. En ella, el atributo precio depende de ambos identificadores (el producto y el proveedor), ya que el precio varía según quién lo ofrezca.

En la tabla Pedido, atributos como fecha_hora y estado dependen del id_pedido, y no de otro campo.

👉 Con esto se evita la dependencia parcial y se asegura que cada campo describe únicamente a la entidad identificada por la clave.

✅ Tercera Forma Normal (3FN)

Un esquema está en 3FN cuando cumple 2FN y no existen dependencias transitivas (es decir, que un atributo dependa de otro atributo no clave).

Ejemplo: En la tabla Cliente, el codigo_cliente, dni, email y celular dependen directamente de la clave primaria (id_cliente) y no de otros atributos.

En la tabla Pedido, el campo estado depende únicamente del id_pedido, y no del cliente.

En la tabla Detalle_Pedido, precio_unitario está ligado al producto en ese pedido y no depende del cliente ni de otros atributos.

👉 Con esto se eliminan redundancias, se evitan inconsistencias y se mantiene la independencia entre las tablas.

📌 Conclusión

El modelo cumple con las tres primeras formas normales (1FN, 2FN, 3FN):

Los datos son atómicos y no multivaluados.

No existen dependencias parciales en claves compuestas.

No existen dependencias transitivas entre atributos no clave.

De esta manera, la base de datos de AgroConecta queda preparada para gestionar de forma eficiente proveedores, productos, clientes y pedidos, asegurando integridad,

consistencia y escalabilidad para la plataforma digital.

# data[].attributes.body
📌 Ejemplo:
En la tabla Pedido, el atributo estado (que puede ser Recibido, En preparación, En ruta, Entregado) no depende de otro atributo no clave (como fecha_hora), sino únicamente de la clave primaria id_pedido.

Esto cumple con la 3FN, ya que cada atributo de la tabla depende directamente de la clave primaria y no existen dependencias transitivas.