{"id":1073,"date":"2024-07-31T11:01:36","date_gmt":"2024-07-31T09:01:36","guid":{"rendered":"https:\/\/blog.sutilweb.eu\/?page_id=1073"},"modified":"2024-07-31T11:01:36","modified_gmt":"2024-07-31T09:01:36","slug":"09-evento-de-actividades","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/databases\/modelado-de-bases-de-datos\/09-evento-de-actividades\/","title":{"rendered":"09. Evento de actividades"},"content":{"rendered":"\n<p>En este ejercicio vamos a crear una aplicaci\u00f3n 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:<\/p>\n\n\n\n<!--more-->\n\n\n\n<ul class=\"wp-block-list\">\n<li>El evento tendr\u00e1 3 disciplinas: Pilates, Yoga y Zumba.<\/li>\n\n\n\n<li>Cada disciplina tendr\u00e1 3 bloques de horarios.\n<ul class=\"wp-block-list\">\n<li>Bloque 1 de 9 a 12.<\/li>\n\n\n\n<li>Bloque 2 de 14 a 17.<\/li>\n\n\n\n<li>Bloque 3 de 18 a 21.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Cada actividad tendr\u00e1 un m\u00e1ximo de 15 participantes, excepto Yoga, que tiene un m\u00e1ximo de 20.<\/li>\n\n\n\n<li>Cada participante s\u00f3lo se podr\u00e1 apuntar a una actividad.<\/li>\n<\/ul>\n\n\n\n<p>Vamos a crear un archivo <strong>markdown,<\/strong> denominado <em>Actividades_LogicaNegocio.md,<\/em> que contendr\u00e1 la siguiente sintaxis:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">## Requisitos del Sistema\n\n- Registrar participantes para el evento\n- El evento tendr\u00e1 3 disciplinas: Pilates, Yoga y Zumba\n- Cada disciplina tendr\u00e1 3 bloques de horarios\n&nbsp; - Bloque 1 de 9 a 12\n&nbsp; - Bloque 2 de 14 a 17\n&nbsp; - Bloque 3 de 18 a 21\n- Cada actividad tendr\u00e1 un m\u00e1ximo de 15 participantes, excepto Yoga que tendr\u00e1 20\n- Cada participante s\u00f3lo se puede registrar a una s\u00f3la actividad\n\n## Listado de Entidades\n\n### actividades **(EC)**\n\n- actividad_id **(PK)**\n- bloque\n- disciplina\n- horario\n- cupo\n\n### participantes **(ED)**\n\n- email **(PK)**\n- nombre\n- apellidos\n- nacimiento\n\n### registros **(ED | EP)**\n\n- registro_id **(PK)**\n- email **(FK)**\n- actividad **(FK)**\n- fecha\n\n## Relaciones\n\n1. Un **participante** crea un **registro** (_1 - 1_)\n1. Una **actividad** se asigna a un **registro** (_1 - M_)\n\n## Diagramas\n\n### Modelo Relacional de la BD\n\n## Reglas de Negocio\n\n### actividades\n\n1. Crear una actividad\n1. Leer todas las actividades\n1. Leer una actividad en particular\n1. Actualizar una actividad\n1. Eliminar una actividad\n\n### participantes\n\n1. Crear un participante\n1. Leer todos los participantes\n1. Leer un participante en particular\n1. Actualizar un participante\n1. Eliminar un participante\n\n### registros\n\n1. Crear un registro\n1. Leer todos los registros\n1. Leer un registro en particular\n1. Actualizar un registro\n1. Eliminar un registro\n\n### l\u00f3gica y validaciones de requisitos\n\n- Registrar un participante implica:\n&nbsp; - Validar cupo de la actividad\n&nbsp; - Insertar datos a las entidades participantes y registros\n&nbsp; - Restarle uno al atributo cupo de la entidad actividades\n- Listar registros\n- Eliminar participante implica:\n&nbsp; - Eliminar datos a las entidades participantes y registros\n  - Sumarle uno al atributo cupo de la entidad actividades<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En este ejercicio vamos a crear una aplicaci\u00f3n acerca de un evento que se va a realizar, en el cual [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1050,"menu_order":8,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1073","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"En este ejercicio vamos a crear una aplicaci\u00f3n acerca de un evento que se va a realizar, en el cual [&hellip;]","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1073"}],"version-history":[{"count":2,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1073\/revisions"}],"predecessor-version":[{"id":1075,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1073\/revisions\/1075"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1050"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}