🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #1004

Re: MySQL y actualizacion dependiente de un campo

#1004
From: Jos� Miguel Santib��ez
Date: Thu, 03 May 2007 01:18
55 lines
3602 bytes
En el cap�tulo anterior (news:f1avpb$3kv$1@news.nivel5.cl),
gato2006chile <gato2006chileSINESTO@gmail.com> dijo: 

> En esencia es un problema de Insumo e insumosVendidos.
> Cada insumo tiene un costo que puede variar y un insumo vendido tiene
> un registro que incluye el numero de unidades vendidas y el costo
> total de dichas unidades.
> 
> Si se tienen por ejemplo 5 unidades vendidas y se aumentan a 7 basta 
> solo multiplicar 2 * costoactual y agregarselo al costo de insumo
> vendido. 
> 
> El problema esta cuando se tiene 5 unidades y se reduce a 3.
> Si la actualizaci�n es de inmediato no habr�a problema, pero que
> sucede si se produce despu�s de una actualizaci�n del precio de un
> producto, existir�an inconsistencias de precios, por lo cual se usa el
> costo por unidad igual a el "valor pagado/unidades vendidas" al
> momento de la actualizaci�n.
> 
> En mysql si actualizo en este orden
> 
> Unidades=Nuevo valor
> CostoTotal=(Costo total previo/Unidades previas)*(Nuevo valor de
> unidades)) 
> 
> Unidades previas toma el nuevo valor, siendo que debiera tener el
> valor previo.
> 
> Si actualizo CostoTotal y despues Unidades, el valor por unidad es el 
> correcto.
> 
> Mi problema es como lo haria si fueran dos o mas valores de los cuales
> dependen un conjunto de campos.

Hmmm.. ley�ndolo, creo que la normalizaci�n no es tan mala idea...

En ese caso, habr�a bastado tener: costo_unitario al momento de la venta y 
cantidad... Si cambia la cantidad da lo mismo... si cambia el costo 
unitario posteriormente, tambi�n...
Y si se quiere sacar un total vendido: select sum(costo_unitario*cantidad) 
resuelve todo el problema...

O incluso, para una desnormalizaci�n consistente, creas un tercer campo: 
costo_total que se actualiza con un "update tabla set costo_total = 
costo_unitario*cantidad"...

O, en el peor de los casos y siguiendo la idea anterior, creas un nuevo 
campo: costo_unitario y lo calculas con "update tabla set costo_unitario = 
costo_total / cantidad" y eso te va a solucionar todos los problemas 
posteriores...

-- 
Apoye a la campa�a de alfabetizaci�n y  |       Jose M. Santiba�ez A.
ordenaci�n de las news, cada post en su |          <jms@nivel5.cl>
lugar y el lugar exacto para cada post  |        <http://caos.cl/jms>
Technical Details
Message-ID: <Xns9924DF618EBAjmsnews@200.27.221.71>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!feeder3.cambrium.nl!feed.tweaknews.nl!newsfeed0.kamp.net!newsfeed.kamp.net!fu-berlin.de!news.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mail
References: <f1asdt$2gt$1@news.nivel5.cl> <Xns9924D79D2904Bjmsnews@200.27.221.71> <f1avpb$3kv$1@news.nivel5.cl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,849d401a7cebc7b1
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Newsgroups: chile.comp.programacion
Subject: Re: MySQL y actualizacion dependiente de un campo
From: "Jos� Miguel Santib��ez" <jms.nospam@nivel5.cl>
References: <f1asdt$2gt$1@news.nivel5.cl> <Xns9924D79D2904Bjmsnews@200.27.221.71> <f1avpb$3kv$1@news.nivel5.cl>
Organization: Caos Consultores
Message-ID: <Xns9924DF618EBAjmsnews@200.27.221.71>
User-Agent: Xnews/5.04.25
X-Face: +|NgjgFM{<rs%\Q|vUu16]a6,}?MJTA<!PEEI+x&Gw-Gyq+?$}fvo+.(,-r;)~Qzn)#{{nxU,OT?w^s<7m4ckCJ*L$c#I)yHL7b)GdU*#l
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: 104-38-246-201.adsl.terra.cl
X-Original-NNTP-Posting-Host: 104-38-246-201.adsl.terra.cl
Date: 2 May 2007 21:18:18 -0400
X-Trace: news.vcd.cl!not-for-mail 1178155098 201.246.38.104 (2 May 2007 21:18:18 -0400)
X-Original-Trace: 2 May 2007 21:18:18 -0400, 104-38-246-201.adsl.terra.cl
Lines: 55
X-Authenticated-User: jms
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!feeder3.cambrium.nl!feed.tweaknews.nl!newsfeed0.kamp.net!newsfeed.kamp.net!fu-berlin.de!news.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mail