zim_ulator
Registered User.
- Local time
- Today, 08:34
- Joined
- Dec 7, 2004
- Messages
- 12
For some months now, I've been working on a redesign of a system for a Non-Profit needing to track donors and donations. About two months have been devoted to spelunking, carefully exploring the labyrinthine artifacts, efforts of previous consultants, trying to make some sense of strangely "normalized" tables and relationships. Considering that the last labor of love for this beast of a database was a donation of six hours time from a supposed IT professional, I am not perplexed by my clients' confusion, frustration, and inability to use their data for anything useful.
Right, that's enough of that.
So, now I'm considering the entities Donor, Person, Organization. I spent some time on the net looking for material to help me in the process, and I came upon somthing called "Universal Data Modeling".
http://www.univdata.com/pubs.htm
was a good place to look for some articles about it. In my understanding, it's a set of
, you guessed it... "universal data model" templates, and some conceptsthat go along with them. Apparently, the most effective way to learn about them and how to use them for your own applications as a wau to jump start development, is to spend around $300.00US for a book and a CD; or you can get a two book set with CDs for aboyt $500.00US. Since this is not a plug for anyone I will not mention the name of the vendor. In fact, since I'm not getting paid and my client can ill afford the expense, I decided to squeeze as much free info from the web as possible.
The thing that grabbed me was that there is a special way of thinking about people and organizations using this technique. If I understand correctly, Persons and Organizations will get their own tables, as would Donor. For purposes of my example, Person and Organization can be considered special cases of Donor. Donor is a kind of Party. A Party is an entity which has attributes of both a Person and an Organization.
Since both Person and Organization relate to Party similarly, we create a Party_ID which is the primary key for the Donor table, and matching Party IDs in Persons and Organizations. We also relate Persons and Organizations to one another with a compound key (Person ID and Organization ID).
Now we can say, "A Person and / or Organization becomes a Donor when a Donation (a new donation record is created) is made."
If this confuses you, you will understand how tenuous is my own grasp at this point. The reason I posted this was to ask:
1. Does anyone care to contribute to this thread who knows more about Universal Data Models?
2. To invite you to check it out for yourselves.
3. I found a truly awesome open source data modeling tool here: http://www.univdata.com/pubs.htm
I'm just starting to implement a new design, so I'll post more as things come together. Thanks to all of you great folks who've helped me learn so much.
Denis
Right, that's enough of that.
So, now I'm considering the entities Donor, Person, Organization. I spent some time on the net looking for material to help me in the process, and I came upon somthing called "Universal Data Modeling".
http://www.univdata.com/pubs.htm
was a good place to look for some articles about it. In my understanding, it's a set of

The thing that grabbed me was that there is a special way of thinking about people and organizations using this technique. If I understand correctly, Persons and Organizations will get their own tables, as would Donor. For purposes of my example, Person and Organization can be considered special cases of Donor. Donor is a kind of Party. A Party is an entity which has attributes of both a Person and an Organization.
Since both Person and Organization relate to Party similarly, we create a Party_ID which is the primary key for the Donor table, and matching Party IDs in Persons and Organizations. We also relate Persons and Organizations to one another with a compound key (Person ID and Organization ID).
Now we can say, "A Person and / or Organization becomes a Donor when a Donation (a new donation record is created) is made."
If this confuses you, you will understand how tenuous is my own grasp at this point. The reason I posted this was to ask:
1. Does anyone care to contribute to this thread who knows more about Universal Data Models?
2. To invite you to check it out for yourselves.
3. I found a truly awesome open source data modeling tool here: http://www.univdata.com/pubs.htm
I'm just starting to implement a new design, so I'll post more as things come together. Thanks to all of you great folks who've helped me learn so much.
Denis