a "data pyramid" database
dealing with the upgrading of fund raising
Abstract : This site deals with the upgrading of fund raising by means of
a 3D data base within the context of a plain technology ; In fact
that's a matter of database structure and relevant algorithms.
It simulates the management of the connections between an aid
agency and givers.
The programs can be run by clicking "step 1", "step 2" and "step 3" just below
The processing enables you :
To explore the activity of the agency by means of some geographical maps,
"Overview of the agency activity"
To manage the use of your gift combining
These two criteria can be more or less accurate as you wish.
a regional area,
- a topic (here topics stand for medical fields),
(Technically, this program is the most interesting).
To have a "live" overview of the use made of your gift, i.e how the
agency has distributed the sum among the various projects.
"Overview of the evolution of your donation"
Technical points :
Originally, this site was developed as a requirement (with a thesis) for the
post-graduated French diploma of "engineer" (defended in July 1998
at CNAM). The programs, implemented then
in Visual Basic, ran on a Purveyor WebServer,
using MS Access. It has been translated
in native ASP in 1999 (the IIS server is currently located in Canada).
The database was structured with the 1997 data of "Médecins du Monde", published
with the courtesy of this NGO.
Theoretical points :
The data base is made up with four main tables structured as "trees" :
The challenge was the combinatory point : The response time of a traditional
procedure would have been unacceptable. Another solution was required, especially
concerning the "step 2 ".
- The table of the "locations", (i.e. the tree of the continents, regions, countries where the agency acts),
- The table of the "topics" (i.e. the tree of the medical items handled
by the agency),
- The cross-relations of the various nodes and leaves of these two trees define
the table of the "projects" which are themselves structured as
an irregular pyramid.
- The table of the "sums" issued from
the donations, and broken down between the concerned projetcs.
- The static side of the data base is made up of 688 records :
59 locations, 48 topics, 78 projects
(nodes and leaves) connected with 79 project/location records
and 282 project/topic records. Moreover 78 records concern the cumulated budgets
of the projects and some deal with the geographical maps.
- Its dynamic side involves the tables of the donations,
and of the sums wich vary according to the
traffic, and, on the other hand, the various tables depicting the life stages of each project,
donation and sum.
Some recent programming improvements (by handling the data stream
while processing) have reduced the response time, and allow
the management of larger databases.
This site suggests an alternative solution by means of
This technique consists in lightening the load of the processing by moving
beforehand information on the structure of data.
In fact, if some precise rules are followed while feding the projects' table,
the number of SQL requests (hence response time) is considerably reduced.
The grids depicted in the "step 2" processing display the number of the SQL
requests performed in each case. This number often exceeds 200, up to 676
(in this last case the whole working may last more than 1 minute).
Evolution du site :
L'ensemble du logiciel était, à l'origine, constitué deux groupes de
Development of this site :
In the first version, the whole software consisted of two distinct sets of processings :
In the near future, this site is expected to enable the visitor to play
the two parts :
- The set of the above depicted processings ("stage 1, 2 and 3"),
that aims at making easier the dialog between the agency and the givers,
- The database administration processing enabling the agency to :
- build the kernel of the database : i.e. the trees of the locations,
the topics and the projects (static axis);
- manage the "life" of the projects, the donations,
the sums (dynamic axis);
- break down the sums issued from each donation between
the various nodes of the project' tree, according to the evolution
of the elements and following the requirements of the givers
At first, the server was supposed to be physically located in the premises
of the aid agency. Thus this 2nd set of processings did not require the
use of Internet, and were performed in "usual" Visual Basic.
Currently, this programs are beeing translated in ASP as well.
- The part of the giver (currently run by means of the three
icons if the left frame),
- The part of the agency staff.