In the past price changes have been pretty easy; new order new price... change in order new price based on the pricing table. I have been asked to create a method that will allow for older orders to be re-priced with the old logic while new orders could be done with new or older pricing. Since the price increase only changes a few items at a time I am thinking of building the pictured type of relationship to avoid having to make unnecessary records. The sort will be by versionID in descending order. My thought is this will ensure the item table is always able to find the most recent price for an object depending on the version of the pricing they intend to use. Is this sort costly at the relationship level? Have others faced a similar request? If so how did you deal with it? The itemPrice table only has around 3000 records in it at the moment.