List:General Discussion« Previous MessageNext Message »
From:Mark Goodge Date:September 3 2010 3:55pm
Subject:Re: Best method to keep totals
View as plain text  
On 03/09/2010 16:32, Arthur Fuller wrote:
> While I agree with the general take on this subject ("Never store totals
> without a good reason" and "where there is duplication there is the
> opportunity for skew"), I must say that there are exceptions. A couple of
> years ago I worked on an inherited database in which the operant principle
> was "sum don't store"; the problem was that many of the rows summed dated
> back a year or two or more, and as an accountant friend of mine loved to
> say, "A paid transaction is history; an unpaid transaction is fiction."

The other exception is also where financial data is being stored. If you 
have, say, a database containing sales order records, then as well as 
storing the individual values of each item in each order, you also need 
to store the total value of the order, the total price charged to the 
customer and the total paid by the customer. These three should, of 
course, be not only identical to each other but also to the sum of the 
individual items, so there is not only duplication but the potential for 
skew. But that, of course, is precisely *why* you store them, as any 
discrepancy indicates an error which needs to be investigated.

Mark
-- 
http://mark.goodge.co.uk
Thread
Best method to keep totalsTompkins Neil1 Sep
  • RE: Best method to keep totalsJerry Schwartz1 Sep
    • Re: Best method to keep totalsTompkins Neil1 Sep
  • Re: Best method to keep totalsJangita3 Sep
    • Re: Best method to keep totalsArthur Fuller3 Sep
      • Re: Best method to keep totalsMark Goodge3 Sep
        • Re: Best method to keep totalsArthur Fuller4 Sep
          • Re: Best method to keep totalsNeil Tompkins5 Sep
            • Re: Best method to keep totalsTompkins Neil6 Sep
RE: Best method to keep totalsJan Steinman2 Sep
  • RE: Best method to keep totalsJerry Schwartz2 Sep
    • Re: Best method to keep totalsJan Steinman3 Sep