Russ, one of the basic rules of data normalization is not to store dependent
data. The tax *rate* is independent of the value of the order, but the tax
amount is not. Therefore, storing the rate as Duane suggested is the correct
approach.
You also asked whether the rate should be stored in the order header table
or in the detail table. In some places, there are items that are tax exempt.
In my country, for example, unprocessed food is tax exempt, where as
pre-processed food is taxable. If you thought your database might ever have
to cope with that situation, you would need to store the tax rate in the
detail table. If you are sure that situation will never arise, you could
choose to store the tax rate in the header table.
I would not store both the rate and the amount.
[quoted text clipped - 15 lines]