Вам нужно иметь таблицу товаров, таблицу операций и таблицу связей товар-операции (1-*), в которой так же будет присутствовать версия связки и текущая цена. В таблице товаров при этом будет записываться версия текущей связки. При изменении связки просто увеличивается на 1 и в таблицу связей заносится набор изменившихся связей. Например из вашей схемы будут такие связки:
т - товар, оп - операция, в - версия
т1-оп1 (в1,5р), т1-оп2 (в1,2р), т1-оп3 (в1,1р), т1-оп4(в1,8р)
Если цена не меняется, то она просто копируется в новую версию:
т1-оп1 (в2,10р), т1-оп2 (в2,2р), т1-оп3 (в2,4р)
В итоге вы всегда можете проследить изменения назад и высчитать ваши себестоимости.