0% encontró este documento útil (0 votos)
778 vistas15 páginas

PIZZERIA

Este documento detalla la creación de una base de datos para una pizzería que permitiría al dueño tomar mejores decisiones. Se describe el modelo de negocio, situación problemática, objetivos, diagramas entidad-relación, tablas, vistas, procedimientos almacenados, funciones y triggers. La base de datos fue creada en MySQL para almacenar y analizar datos.

Cargado por

magogaro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
778 vistas15 páginas

PIZZERIA

Este documento detalla la creación de una base de datos para una pizzería que permitiría al dueño tomar mejores decisiones. Se describe el modelo de negocio, situación problemática, objetivos, diagramas entidad-relación, tablas, vistas, procedimientos almacenados, funciones y triggers. La base de datos fue creada en MySQL para almacenar y analizar datos.

Cargado por

magogaro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

BASE DE DATOS PIZZERIA

DOCUMENTACIÓN TÉCNICA

AUTOR: CÉSAR ARACENA

Documentación del Desarrollo de la base de datos

“pizzeria” creada como ejemplo para la clase de SQL

De Coderhouse.

REVISIÓN 3 | 30 DE ABRIL DE 2023


RESÚMEN

En este documento se detalla el modelo de negocio, situación problemática, el objetivo de


este trabajo, así como también referente a la parte técnica, los Diagramas de Entidad-
Relación, estructura de tablas, funciones, procedimientos, vistas y triggers creados/utilizados
para solucionar los problemas listados.

INTRODUCCIÓN

En el mundo existen innumerables modelos de negocios que cada día generan y obtienen
infinidad de datos que, almacenados de manera ordenada, permiten realizar análisis y tomar
decisiones basadas en datos para permitir operar cada vez mejor.

El siguiente documento detalla técnicamente el proceso de creación de una base de datos


para una pizzería imaginaria que le permitiría a su dueño tomar mejores decisiones a la hora de
realizar nuevas inversiones o simplemente llevar mejor su negocio día a día.

OBJETIVO

Intentar demostrar una manera ordenada, relacional y digital de almacenar los datos
generados u obtenidos día a día para lograr obtener mejores indicadores de rendimiento clave
(KPIs por sus siglas en inglés).

Una vez creado el sistema empleando un sistema de bases de datos popular y gratuito como
es MySQL, se podrán obtener resúmenes objetivos de las métricas que sean útiles para la toma
de decisiones.

SITUACIÓN PROBLEMÁTICA

Basándome en la manera tradicional de llevar un pequeño comercio como lo puede ser una
pizzería, pude listar los siguientes problemas:

- Sobreabastecimiento
- Subabastecimiento
- Falta de ofertas correctas según ganancia o abastecimiento

Página 2
- Falta de seguimiento de pagos impositivos
- Ofertas de productos sin stock

MODELO DE NEGOCIO

Como se mencionó previamente, el modelo de negocio elegido para este trabajo es una
pizzería tradicional que consta de la siguiente estructura:

- Un (1) propietario único


- Cuatro (1) empleados en local
- Capacidad de entrega en sitio
- Capacidad de delivery

En este ejemplo nuestra pizzería trabaja 6 días a la semana (de martes a domingo) y solo por las
noches (de 19hr a 24hr).

Página 3
DIAGRAMA ENTIDAD-RELACIÓN (CONECPTUAL)

Se adjunta el DER conceptual para entender/visualizar rápidamente las entidades y sus


relaciones:

Página 4
DIAGRAMA ENTIDAD-RELACIÓN (ESQUEMÁTICO)

Se adjunta DER esquemático (de ingeniería) con las relaciones entre tablas. El mismo está
dividido en tres partes para facilitar su lectura:

Ilustración 1 - Tablas de auditoría

Página 5
Ilustración 2 - Tablas principales

Página 6
Ilustración 3 - Tablas de asistencia (temporales)

Página 7
LISTADO DE TABLAS

A continuación, se incluye el listado de las tablas creadas con sus atributos:

Página 8
Página 9
Página 10
FUNCIONALIDAD

A continuación, se describen los elementos creados a partir de la estructura de la base de


datos para asistir en el trabajo con la misma:

VISTAS

Se crearon las siguientes vistas:

- facturación_mensual: Genera un simple output que muestra el total facturado durante


el mes en curso
- facturación_trimestral: Muestra 3 campos donde se encuentra la facturación del mes en
curso, más la facturación total de los dos meses anteriores
- menu: Genera una vista simplificada donde solo muestra los productos que se pueden
fabricar según el stock de los componentes necesarios para cada uno
- productos_a_pedir: Genera un listado de los productos cuyo stock es menor al mínimo
deseado
- productos_mas_vendidos: Muestra un listado en orden de los productos más vendidos
históricamente

STORED PROCEDURES

Los siguientes son procedimientos almacenados que se crearon para simular la operación
diaria con la base de datos, ya que no cuenta con un programa externo que realice las
consultas necesarias:

- sp_generar_venta: Simula la creación de una venta a un cliente aleatorio, donde la


cantidad de productos y número de cada producto vendido son aleatorios
- sp_venta_completo: Realiza los movimientos en la base de datos, dictados por el
procedimiento anterior
- sp_venta_extra: Es un procedimiento auxiliar que realiza tareas de mantenimiento en la
base de datos

Nota: Para simular una venta, solo debe ejecutar/llamar al procedimiento


“sp_generar_venta” y, siempre y cuando esté disponible un repartidor o,
aleatoriamente se realice una venta en el local, se generará una nueva
venta

FUNCIONES

Las siguientes funciones ayudan con cálculos preestablecidos y de uso frecuente:

- calcular_provision: Devuelve la cantidad a pedir de un producto o ingrediente,


basándose en el 110% de la diferencia entre la cantidad ideal y la cantidad actual

Página 11
- f_generar_cliente: Genera un cliente aleatorio tomando un nombre y un apellido de
una tabla auxiliar
- f_rand_entrega: Genera un valor aleatorio entre 1 y 2 para determinar si un pedido es
para retirar en el local o para ser enviado
- f_random: Genera un número aleatorio entre 100 y 999999 para utilizar como valor
provisional de venta en cada transacción
- fventas: Calcula el total a facturar de una venta
- iva: Calcula el impuesto al valor agregado de cada venta

TRIGGERS

Los siguientes triggers fueron creados para llevar una auditoría de algunos eventos:

Trigger Tabla que Acción que Tabla donde Descripción


monitorea monitores registra
Registra la creación
clientes_AFTER_INSERT clientes AFTER INSERT logs de cada cliente
nuevo
Registra cada
tr_logs facturas AFTER INSERT logs
factura generada
Registra el alta de
tr_clientes_alta clientes AFTER INSERT log_clientes
cada cliente
Registra cuando un
tr_clientes_eliminacion clientes AFTER DELETE log_clientes
cliente es eliminado
Registra cada venta
tr_nueva_venta ventas AFTER INSERT log_ventas
nueva
Registra cada
tr_agregar_producto productos AFTER INSERT log_productos producto que se
añade al menú
Registra la
modificación o
tr_modificar_producto productos AFTER UPDATE log_productos
edición de cada
producto
Registra la
tr_eliminar_producto productos AFTER DELETE log_productos eliminación de un
producto

Página 12
BUSINESS ANALYSIS

Con las vistas creadas es simple obtener los siguientes resúmenes para su posterior análisis:

PRODUCTOS MÁS VENDIDOS

Nos permite saber cuales son los productos más vendidos para así poder coordinar ofertas en
días y horarios calculados:

Página 13
PRODUCTOS PARA PEDIR

Esta otra vista nos permite saber rápidamente que productos están bajo el mínimo de stock y
nos provee datos sobre donde pedir cada uno:

Página 14
TECNOLOGÍAS UTILIZADAS

Para la creación y desarrollo de esta base de datos se utilizaron las siguientes herramientas:

Herramienta Versión Utilidad

Servidor para ejecutar y desarrollar el


Servidor Windows 11 64-bit
motor de la base de datos

Base de Datos MySQL CE 8.0.33 Sistema de DB de uso gratuito

Draw.io 21.1.2 Diagramación de DERs

MS Excel Excel for Microsoft 365 Estructura de tablas y Data Analysis

MySQL Workbench CE 8.0.33 Interacción con DB

Página 15

También podría gustarte