{"id":1058,"date":"2024-07-31T10:29:27","date_gmt":"2024-07-31T08:29:27","guid":{"rendered":"https:\/\/blog.sutilweb.eu\/?page_id=1058"},"modified":"2024-07-31T10:29:27","modified_gmt":"2024-07-31T08:29:27","slug":"02-ejercicio-de-sistema-de-ventas","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/databases\/modelado-de-bases-de-datos\/02-ejercicio-de-sistema-de-ventas\/","title":{"rendered":"02. Ejercicio de Sistema de Ventas"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">El primer ejercicio que vamos a crear es una <strong>base de datos<\/strong> de ventas, para lo que vamos a utilizar una <strong>base de datos relacional<\/strong>, ya que vamos a tener que hacer mucho c\u00e1lculo, vamos a tener <strong>relaciones. <\/strong>Vamos a crear nuestro primer archivo en formato <strong>markdown<\/strong> llamado <em>Ventas_LogicaNegocio.md,<\/em> que tendr\u00e1 la siguiente sintaxis.<\/p>\n\n\n\n<!--more-->\n\n\n\n<pre class=\"wp-block-preformatted\"># Ventas\n\n## Listado de Entidades\n\n### clientes\n\n- cliente_id **(PK)**\n- nombre\n- apellidos\n- telefono **(UQ)**\n- email **(UQ)**\n- direccion\n- cp\n- ciudad\n- pais **(FK)**\n\n### productos **(ED)**\n\n- producto_id **(PK)**\n- nombre\n- descripcion\n- foto\n- precio\n- cantidad\n\n### ventas\n\n- venta_id **(PK)**\n- cliente_id **(FK)**\n- fecha\n- monto\n\n### articulos_x_venta **(EP)**\n\n- articulo_id **(PK)**\n- venta_id **(FK)**\n- producto_id **(FK)**\n- cantidad\n\n### paises **(EC)**\n\n- pais_id **(PK)**\n- nombre\n- dominio **(UQ)**\n\n## Relaciones\n\n1. Un **cliente** tiene **pais** (_1 a 1_)\n1. Un **cliente** genera **venta** (_1 a M_)\n1. Una **venta** tiene **articulo** (_1 a M_)\n1. Un **articulo** es **producto** (_1 a 1_)\n\n## Diagramas\n\n### Modelo Relacional de la BD\n\n## Reglas de negocio\n\n### clientes\n\n1. Crear un cliente\n1. Leer todos los clientes\n1. Leer un cliente en particular\n1. Actualizar un cliente\n1. Eliminar un cliente\n\n### productos\n\n1. Crear un producto\n1. Leer todos los productos\n1. Leer un producto en particular\n1. Actualizar un producto\n1. Eliminar un producto\n1. Cuando haya una venta, restar el producto a la cantidad de productos disponibles\n\n### ventas\n\n1. Crear una venta\n1. Leer todas las ventas\n1. Leer una venta en particular\n1. Leer todas las ventas de un cliente\n1. Leer todas las ventas de un producto\n1. Actualizar una venta\n1. Eliminar una venta\n\n### articulos_x_venta\n\n1. Crear un art\u00edculo\n1. Leer todos los art\u00edculos\n1. Leer un art\u00edculo en particular\n1. Leer todos los art\u00edculos de una venta\n1. Leer todos los art\u00edculos de un producto\n1. Leer todos los art\u00edculos de un cliente\n1. Actualizar un art\u00edculo\n1. Eliminar un art\u00edculo\n\n### paises\n\n1. Crear un pa\u00eds\n1. Leer todos los pa\u00edses\n1. Leer un pa\u00eds en particular\n1. Actualizar un pa\u00eds\n1. Eliminar un pa\u00eds<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos la sintaxis del archivo <em>ModeladoDatos.md.<\/em><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Modelado de datos\n\n## Pasos a seguir\n\n1. Identificar las entidades del sistema\n1. Identificar los atributos de las entidades\n1. Identificar las llaves primarias y for\u00e1neas\n1. Asignar una nomenclatura adecuada a las entidades y sus atributos\n1. Identificar las entidades pivote del sistema\n1. Identificar los cat\u00e1logos del sistema\n1. Identificar los tipos de relaciones del sistema\n1. Crear el Modelo Entidad-Relaci\u00f3n del sistema\n1. Crear el Modelo Relacional de la BD del sistema\n1. Identificar los tipos de dato de los atributos de las entidades del sistema\n1. identificar los atributos que puedan ser \u00fanicos en el sistema\n1. Identificar las reglas de negocio (Operaciones _CRUD_) del sistema\n\n## Glosario\n\n**PK**: Primary Key\n**FK**: Foreign Key\n**UQ**: Unique Attribute\n**ED**: Entidad de datos\n**EP**: Entidad Pivote\n**EC**: Entidad Cat\u00e1logo<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>El primer ejercicio que vamos a crear es una base de datos de ventas, para lo que vamos a utilizar una base&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1050,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-1058","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":"El primer ejercicio que vamos a crear es una base de datos de ventas, para lo que vamos a utilizar una base...","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1058","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=1058"}],"version-history":[{"count":2,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1058\/revisions"}],"predecessor-version":[{"id":1060,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1058\/revisions\/1060"}],"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=1058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}