I have 2 tables Product
Product
--------
ProductID
ProductName
and SalesTransaction.
SalesTransaction
--------
TransactionID
ProductID
ProductName
User's requirement state that "Product's name can change over time but this modification must not have any effect on already exist transaction". I want to know, is my design good for this kind of requirement? If not, how to improve my design?