Separe la necesidad de datos históricos de la necesidad de precio actual. Esto significa:
1) Mantener el precio actual en la tabla de productos.
2) Cuando cambie el precio, inserte el nuevo precio en la tabla de historial con solo la fecha de inicio. Realmente no necesita la fecha de finalización porque puede obtenerla de la fila anterior. (Todavía puede ponerlo, facilita la consulta)
Recuerde también que su historial de pedidos proporciona otro tipo de historial, las compras reales a un precio determinado a lo largo del tiempo.