|
Here is my explanation for "software people who understand databases". The structure of the explanation will be as follows: 1. Explain how you would do simple accounting with a database
2. Point out which indices you'd create for performance
3. Show how the "double entry" part of double entry accounting is about the indices
1. The way you'd do accounting in a database is with two tables: One table for accounts (e.g. your checking account, or the supermarket account, which you don't own) and another table for transactions. The transactions move an amount of money from one account to another, e.g. from your checking account to the supermarket account. Or if you use it for budgeting, you might split your checking account into a groceries account, a rent account etc. (think "categories").2. For performance, you would create indices based on the accounts in the transaction table, so you could easily check what's going on e.g. in your groceries account or how much you spent at the supermarket. 3. Double entry accounting was formalized in the 15th century, way before computers became a thing, but bound paper books were already somewhat affordable. The way you'd do accounting is like this: During the business day, you would write down your transactions as they happen, into a scrapbook, similar to the transactions table mentioned above. At the end of the day, you'd do the "double entry" part, which means you take your "index" books where each book is about one account and you transcribe each transaction from your scrap book into the two books of the two accounts that are mentioned in the transaction, e.g. if you spent $10 from your groceries account into the supermarket account, you'd double enter that transaction both into your "groceries" book and into your "supermarket" book. Then, when you want to check on how much you spent at the supermarket in a particular month, you could easily look it up in the supermarket book (this would be very tedious when using the scrap book). These account centered books are like the indices in the database mentioned above. So the double entry part is about clever index building for making it easier and faster to understand what's going on in your accounting system. |