Diagrama Entidad-Relación (ER)
El Diagrama ER muestra las entidades, atributos y relaciones de la base de datos de TECOCINAMOS. Incluye llaves primarias (PK), foráneas (FK) y listas de atributos.
Entidades y Atributos
| Entidad | Atributos Principales | Relaciones |
|---|---|---|
| rol | rol_id (PK), nombre_rol | 1:N con usuario.rol_id |
| usuario | usuario_id (PK), rol_id (FK), nombre, email (UNIQUE), contrasena, telefono, direccion, eliminado, fecha_eliminado | 1:N con pedido.usuario_id1:N con log_auditoria.usuario_admin_id |
| estado | estado_id (PK), nombre_estado | 1:N con pedido.estado_id |
| pedido | pedido_id (PK), usuario_id (FK), estado_id (FK), fecha_creado, fecha_entrega, direccion_entrega, fecha_actualizacion | 1:N con detalles_pedido.pedido_id |
| detalles_pedido | detalles_pedido_id (PK), pedido_id (FK), plato_id (FK), cantidad_plato, descuento | N:1 con pedido.pedido_idN:1 con plato.plato_id |
| categoria | categoria_id (PK), nombre | 1:N con plato.categoria_id |
| plato | plato_id (PK), nombre_plato, cantidad, precio, stock, preparacion_casa, recomendaciones, fecha_actualizacion, categoria_id (FK), image_base_name | 1:N con plato_ingrediente.plato_id1:N con detalles_pedido.plato_id |
| plato_ingrediente | id (PK), plato_id (FK), ingrediente_id (FK), cantidad_usada, unidad | N:1 con plato.plato_idN:1 con ingrediente.ingrediente_id |
| ingrediente | ingrediente_id (PK), nombre, categoria, proveedor_id (FK), cantidad_envase, unidad_envase, precio_envase, precio_unitario, unidad, stock | 1:N con plato_ingrediente.ingrediente_id1:N con ingrediente_alergeno.ingrediente_id |
| proveedor | proveedor_id (PK), nombre, contacto, telefono, email | 1:N con ingrediente.proveedor_id |
| alergenos | alergeno_id (PK), nombre | 1:N con ingrediente_alergeno.alergeno_id |
| ingrediente_alergeno | id (PK), ingrediente_id (FK), alergeno_id (FK) | N:1 con ingrediente.ingrediente_idN:1 con alergenos.alergeno_id |
| log_auditoria | log_id (PK), entidad, campo_modificado, valor_anterior, valor_nuevo, fecha, accion, usuario_admin_id (FK) | N:1 con usuario.usuario_id |