como modelar descontos em itens de um banco de dado

Estou criando um site de comércio eletrônico e gostaria de oferecer descontos em determinados itens por tempo limitado.

tabela @My Product (MySQL) é assim:

Product
    - productId
    - Name
    - Weight
    - Price (price as on the cover of the item)

Devo criar outra tabela para negócios:

Deals
 - dealID
 - productID (Foreign Key)
 - discount (fractional value: percentage)
 - description

Para recuperar itens:

q1: encontre todos os produtos em produtos com productID = todos os productIDs na tabela de transações q2: atualize o preço com desconto na tabela de transações q3: devolve todos os produtos

Existe uma maneira melhor de fazer isso ? Além disso, como faço para lidar com o caso de negócio existente por um período limitado?

EDIT: Gostaria de mostrar quanto de desconto estamos oferecendo por produto. Portanto, preciso de dois valores por produto, preço original e preço com desconto para a duração especificad

Publiquei um acompanhamento da solução proposta por crontabaqu

questionAnswers(4)

yourAnswerToTheQuestion