I was watching "Housesitter" the other day, a
wonderful movie with a funny story. A great part of the movie is set in a
small town. A certain detail got my attention for a database used by a
convenience store. The fact is that the movie is an Americano-American
story but the detail that interested me was universal because it
applies also to an African village with exact certainty.
In some villages in Africa, which in American is called
a town, there is a convenience store where people buy food items and other
things that can be easily used. The items include kitchen utilities (paper
towels, hand soap, disposable utensils, garbage bags, ice bags, etc),
house items (toilet paper, cleaners, dog food, etc), cigarette, etc.
Sometimes a person needs something but doesn't have money. He can simply
come to the store, gets what he wants, and let the store owner know. The
store owner can just shout in a soft and gentle voice, "Should I put
it in your account?". As in the Housesitter movie, the customer would
just respond, "Oh, Alright", and leave. Because in this village
or town everybody knows everybody and certainly the store owner knows
everybody by name, almost everybody, at least as reliable as a person can
an account. The contrasting aspect of this scenario is that it happens
exactly like that in a village in Africa or another country, as well as in
a town in America.
To keep track of what everyone owes, the store owner
has a way to register the items that the customers take (or borrow, or
request, however you want to qualify it). When a customer is ready, she
can go to the store any time and pay. This is not like a credit card
where you pay a minimum at the end of the month. There are no fees. Only
the balance applies.
Payments are made in two main ways. Imagine a customer
has taken items for $54.75. One day, the customer comes to the store and
pays $22.68. The store owner applies this amount, subtracts it from
$54.75. Now the customer owes $54.75 - $22.68 = $32.07. This is considered
as the customer's balance. Although the customer still owes money to the
store, he can still take other items. The customer may also decide to pay
the full amount, which would bring his balance to $0.00.
As nature wants humans to be, there are disputes. For
example, a customer may keep taking items, which would make her balance
grow so much that at one time she may be overwhelmed. In this case the
store owner may tell the customer that she can't take any more items until
either she has paid a good part of her balance or she has completely paid
what she owes. In the same way, even if the store owner knows a person, he may
decide that, for any reason at his discretion, that particular person
would not be allowed to "borrow" anything.
We are going to create a database that can help a store
owner keep track of the items that the customers take and their