02. Ejercicio de Sistema de Ventas

El primer ejercicio que vamos a crear es una base de datos de ventas, para lo que vamos a utilizar una base de datos relacional, ya que vamos a tener que hacer mucho cálculo, vamos a tener relaciones. Vamos a crear nuestro primer archivo en formato markdown llamado Ventas_LogicaNegocio.md, que tendrá la siguiente sintaxis.

# Ventas

## Listado de Entidades

### clientes

- cliente_id **(PK)**
- nombre
- apellidos
- telefono **(UQ)**
- email **(UQ)**
- direccion
- cp
- ciudad
- pais **(FK)**

### productos **(ED)**

- producto_id **(PK)**
- nombre
- descripcion
- foto
- precio
- cantidad

### ventas

- venta_id **(PK)**
- cliente_id **(FK)**
- fecha
- monto

### articulos_x_venta **(EP)**

- articulo_id **(PK)**
- venta_id **(FK)**
- producto_id **(FK)**
- cantidad

### paises **(EC)**

- pais_id **(PK)**
- nombre
- dominio **(UQ)**

## Relaciones

1. Un **cliente** tiene **pais** (_1 a 1_)
1. Un **cliente** genera **venta** (_1 a M_)
1. Una **venta** tiene **articulo** (_1 a M_)
1. Un **articulo** es **producto** (_1 a 1_)

## Diagramas

### Modelo Relacional de la BD

## Reglas de negocio

### clientes

1. Crear un cliente
1. Leer todos los clientes
1. Leer un cliente en particular
1. Actualizar un cliente
1. Eliminar un cliente

### productos

1. Crear un producto
1. Leer todos los productos
1. Leer un producto en particular
1. Actualizar un producto
1. Eliminar un producto
1. Cuando haya una venta, restar el producto a la cantidad de productos disponibles

### ventas

1. Crear una venta
1. Leer todas las ventas
1. Leer una venta en particular
1. Leer todas las ventas de un cliente
1. Leer todas las ventas de un producto
1. Actualizar una venta
1. Eliminar una venta

### articulos_x_venta

1. Crear un artículo
1. Leer todos los artículos
1. Leer un artículo en particular
1. Leer todos los artículos de una venta
1. Leer todos los artículos de un producto
1. Leer todos los artículos de un cliente
1. Actualizar un artículo
1. Eliminar un artículo

### paises

1. Crear un país
1. Leer todos los países
1. Leer un país en particular
1. Actualizar un país
1. Eliminar un país

Veamos la sintaxis del archivo ModeladoDatos.md.

# Modelado de datos

## Pasos a seguir

1. Identificar las entidades del sistema
1. Identificar los atributos de las entidades
1. Identificar las llaves primarias y foráneas
1. Asignar una nomenclatura adecuada a las entidades y sus atributos
1. Identificar las entidades pivote del sistema
1. Identificar los catálogos del sistema
1. Identificar los tipos de relaciones del sistema
1. Crear el Modelo Entidad-Relación del sistema
1. Crear el Modelo Relacional de la BD del sistema
1. Identificar los tipos de dato de los atributos de las entidades del sistema
1. identificar los atributos que puedan ser únicos en el sistema
1. Identificar las reglas de negocio (Operaciones _CRUD_) del sistema

## Glosario

**PK**: Primary Key
**FK**: Foreign Key
**UQ**: Unique Attribute
**ED**: Entidad de datos
**EP**: Entidad Pivote
**EC**: Entidad Catálogo
Scroll al inicio