SelCtlDB

NW Data Centric home   home   [about]   downloads  

Current loctn: about > devel motivation

Development Motivation

Content for this page is still being edited.

The motivation for the development of the SelCtlDB is derived from experiences of several year’s work with a wide variety of non-profit databases. This page outlines the problems we have seen fairly frequently.

Data Model Deficiencies

We have frequently encountered the following deficiencies with the data structures implemented in non-profit databases:

It is common for these situations to present real problems as the amount of stored data increases, or as the organization's data needs change. These problems often arise from efforts to save money and time under a small development budget. Alternatively, they may arise because a relatively inexperienced employee or volunteer developer does not understand the potential problems that may arise.

Constantly Recreating the Wheel

Nearly every non-profit database tracks a similar set of core data:

Yet most non-profits start from scratch in developing data structures to cover these needs. An expensive and time-consuming process is undertaken to build a set of structures that has already been constructed many times previously.

Many of these projects then seek short-cuts or other economy measures to stay within budget. Rigorous coverage of the basics is often sacrificed in order to preserve funds for more idiosyncratic needs. However, short-cuts on the basics often manifest in predictable problems as an organization's data needs increase over time. As a result, few of the non-profit databases now being used employ a rigorous, complete data model that would save money in the long run.

If a freely shared, rigorous, comprehensive data model were available for reuse by a large number of developers, this frequent process of introducing shortcuts might be eliminated. The availability of a reuseable data model could allow a project to start with a substantial amount of the data modelling work already completed in a rigorous fashion - allowing each project to focus more funds on customizations required for truly unique organizational needs.

The amount of time this might save is substantial: over 500 hours were spent developing V1 of the SelCtlDB, and over 900 hours were spent on continuing development leading to V2. There is a potential major savings to be realized by adopting an existing, rigorously designed system such as the SelCtlDB as the basis for a development effort, then focusing funds on essential customizations.

Redesign is Harder Than Initial Construction

Redesign of an existing database is often more expensive than the initial effort to design and implement a more comphrehensive application. A substantial effort may be required to simply understand the current application and it's data contents. This is is common if:

Poor Database Conventions

Naming Conventions

Because most nonprofit database are each a unique creation, it is typical that each implemented database applies a different set of database naming conventions. It is also relatively common for naming approaches to be inconsistent within the same application. For instance, the name NameFirst may be used in one place, while the same information is represented as FirstName or fname in other locations.

Table/Relationship Structures

It is quite common for tables in non-profit databases to have poor construction. For instance, tables are often defined with key structures likely to cause problems, or with no keys defined at all.

Motivation - Filling the Data Model Gap

The data model for the SelCtlDB was developed as an attempt to fill the needs outlined above: To provide a complete, rigorous, flexible, general data model that is managed in a way that allows very clear documentation and understanding to facilitate reuse by a variety of developers working in a variety of DBMS systems.