Separe a necessidade de dados históricos da necessidade de preço atual. Isso significa:
1) Mantenha o preço atual na tabela de produtos.
2) Quando o preço mudar, insira o novo preço na tabela de histórico apenas com a data de início. Você realmente não precisa da data de término porque pode obtê-la na linha anterior. (Você ainda pode colocá-lo, torna a consulta mais fácil)
Lembre-se também de que seu histórico de pedidos fornece outro tipo de histórico, as compras reais a um determinado preço ao longo do tempo.