En este ejercicio vamos a crear una aplicación acerca de un evento que se va a realizar, en el cual hay un listado de actividades a las que una persona se puede apuntar, dichas actividades son apuntarse a clases de Yoga, Zumba y Pilates en unos horarios determinados. Y las reglas que se han de cumplir para apuntarse a dichas actividades son:
- El evento tendrá 3 disciplinas: Pilates, Yoga y Zumba.
- Cada disciplina tendrá 3 bloques de horarios.
- Bloque 1 de 9 a 12.
- Bloque 2 de 14 a 17.
- Bloque 3 de 18 a 21.
- Cada actividad tendrá un máximo de 15 participantes, excepto Yoga, que tiene un máximo de 20.
- Cada participante sólo se podrá apuntar a una actividad.
Vamos a crear un archivo markdown, denominado Actividades_LogicaNegocio.md, que contendrá la siguiente sintaxis:
## Requisitos del Sistema - Registrar participantes para el evento - El evento tendrá 3 disciplinas: Pilates, Yoga y Zumba - Cada disciplina tendrá 3 bloques de horarios - Bloque 1 de 9 a 12 - Bloque 2 de 14 a 17 - Bloque 3 de 18 a 21 - Cada actividad tendrá un máximo de 15 participantes, excepto Yoga que tendrá 20 - Cada participante sólo se puede registrar a una sóla actividad ## Listado de Entidades ### actividades **(EC)** - actividad_id **(PK)** - bloque - disciplina - horario - cupo ### participantes **(ED)** - email **(PK)** - nombre - apellidos - nacimiento ### registros **(ED | EP)** - registro_id **(PK)** - email **(FK)** - actividad **(FK)** - fecha ## Relaciones 1. Un **participante** crea un **registro** (_1 - 1_) 1. Una **actividad** se asigna a un **registro** (_1 - M_) ## Diagramas ### Modelo Relacional de la BD ## Reglas de Negocio ### actividades 1. Crear una actividad 1. Leer todas las actividades 1. Leer una actividad en particular 1. Actualizar una actividad 1. Eliminar una actividad ### participantes 1. Crear un participante 1. Leer todos los participantes 1. Leer un participante en particular 1. Actualizar un participante 1. Eliminar un participante ### registros 1. Crear un registro 1. Leer todos los registros 1. Leer un registro en particular 1. Actualizar un registro 1. Eliminar un registro ### lógica y validaciones de requisitos - Registrar un participante implica: - Validar cupo de la actividad - Insertar datos a las entidades participantes y registros - Restarle uno al atributo cupo de la entidad actividades - Listar registros - Eliminar participante implica: - Eliminar datos a las entidades participantes y registros - Sumarle uno al atributo cupo de la entidad actividades