REQUISITOS DEL SISTEMA
1. El sistema debe permitir la toma de pedidos de manera rápida y eficiente,
registrando detalles como el número de mesa, platos seleccionados, y hora de la
orden
2. El sistema debe permitir la actualización y consulta del menú, incluyendo precios,
descripciones, y disponibilidad de los platos.
3. El sistema debe almacenar información de los clientes para facilitar la
personalización del servicio y promociones.
4. El sistema debe registrar la información de los empleados, como horarios, roles, y
permisos.
5. El sistema debe mantener un registro de los ingredientes disponibles y actualizar
automáticamente el inventario después de cada pedido.
ENTIDADES
● Menú
● Pedidos
● Clientes
● Empleados
● Inventario
● Detalles del pedido
● Ingredientes del menú
● Mesas
RELACIONES
● Menú ↔ Detalles del pedido
Un menú puede estar en muchos pedidos // 1 a muchos
● Pedido ↔ Detalles del pedido
Un pedido puede tener varios detalles de pedido // 1 a muchos
● Clientes ↔ Pedidos
Un cliente puede realizar múltiples pedidos // 1 a muchos
● Empleados ↔ Mesas
Un empleado puede estar asignado a múltiples mesas y una mesa puede ser
atendida por múltiples empleados // muchos a muchos
● Inventario ↔ Ingredientes del menú
El inventario incluye múltiples ingredientes, cada uno asociado a un registro
específico para gestionar su disponibilidad // 1 a muchos
● Menú ↔ Ingredientes del menú
Un menú puede tener múltiples ingredientes // 1 a muchos.
● Pedidos ↔ Mesas
Una mesa puede tener varios pedidos, cada pedido está asociado a una mesa //
muchos a 1.
Preguntas:
● ¿Cómo podría optimizarse el diseño de la base de datos para gestionar
eficientemente la información de pedidos y facilitar la rápida identificación de pedidos
pendientes y entregados?
Para optimizar el diseño de la base de datos y agilizar la identificación de los
pedidos pendientes y entregados se requiere crear índices de columnas ‘estado de
pedido’ y ‘fecha-hora’ en una tabla de pedidos. Esto nos permitirá realizar revisiones
y consultas oportunas para filtrar y ordenar los pedidos según su estado y tiempo.
Además se podría implementar una cola de pedidos que visualice los pedidos en
preparación y pendientes, priorizando la atención de los pedidos más antiguos. De
esta forma se podría reducir el tiempo de espera de los clientes y mejorar la
eficiencia en el restaurante.
● Considerando la relación entre la tabla de Menús y la de Pedidos, ¿cómo podríamos
extender el sistema para incluir un módulo de gestión de inventarios que actualice
automáticamente la disponibilidad de ingredientes después de realizar un pedido?
Para integrar un módulo de gestión de inventario que actualice automáticamente la
disponibilidad de ingredientes tras un pedido, es necesario vincular la tabla del menú
con la de ingredientes y conectar el inventario con estos ingredientes. El sistema
debe registrar los pedidos, calcular las cantidades de ingredientes necesarios y
actualizar el inventario en tiempo real. Además, debe enviar alertas automáticas
cuando los niveles de ingredientes sean bajos y generar informes periódicos sobre el
estado del inventario, manteniendo un historial de actualizaciones para su
seguimiento y auditoría.
● En el contexto de la información de clientes almacenada en la tabla correspondiente,
¿qué seguridad podría implementarse para proteger la privacidad de los clientes y
garantizar el cumplimiento de las medidas reglamentarias de protección de datos?
Para proteger la privacidad de los clientes y garantizar el cumplimiento de las
normativas de protección de datos, se deben implementar varias medidas de
seguridad. Estas incluyen el cifrado de datos tanto en tránsito como en reposo
utilizando estándares robustos, controles de acceso basados en roles con
autenticación multifactorial, y la anonimización o seudonimización de datos cuando
sea posible. Además, es esencial mantener registros detallados de accesos y
modificaciones para auditorías, y asegurar el cumplimiento de leyes de protección de
datos como el GDPR. Se debe también proporcionar formación continua al personal
sobre prácticas de seguridad y realizar evaluaciones periódicas de vulnerabilidades
para identificar y mitigar riesgos potenciales.