Tenemos un proyecto relacionado con ventas.¿Diseño de base de datos?
Ahora mantenemos el stock de los productos en una tabla separada llamada Stock
. En el momento de las ventas, el retorno de las ventas, la compra y el retorno de la compra, se actualizará la tabla de existencias. Funciona bien, pero mientras eliminamos o modificamos una de las ventas o compras, es más difícil mantener las existencias.
Le dije a mi jefe, que no queremos mantener el stock en una tabla separada, sino que escribimos una función para calcular el stock de tablas relacionadas (sales
, purchase
, ...). Cuando el usuario desea conocer el stock, llama a la función para obtener el stock con mucha facilidad. Por lo tanto, no necesitamos pensar en el mantenimiento del stock. Creo que es una buena idea
Pero me dijo que, si vienen muchos registros, la función tardará más tiempo en ejecutarse y reducirá la eficacia del software. No sé si eso es correcto o no. Una cosa que sé es que va en contra de la normalización de DB. No necesitamos mantener los valores calculados dentro o fuera de la tabla.
¿Cómo podría diseñar esta base de datos? ¿Es una tabla separada Stock
mejor o no?