Contribution System
Original field list for data store:
Element |
Occurrence |
Contributor's Identification Number - KEY |
1 |
Contributor's Name |
1 |
Contributor's Address |
1 |
Contributor's Phone Number |
1 |
Contribution Information: |
1 or many |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Total Amount Donated During This Year |
1 |
Total Amount Donated Last Year |
1 |
Total Amount Donated Two Years Ago |
1 |
On analysis it is determined that to put the store/table/file into first normal form, it will be necessary to develop two data stores - a contributor store and a contribution store. This is because the nature of the data indicates a one to many relationship between contributors and contributions where one contributor can make one or more contributions, but a given contribution has only one contributor. The breakdown is as follows.
Contributor Store:
Element |
Occurrence |
Contributor's Identification Number - KEY |
1 |
Contributor's Name |
1 |
Contributor's Address |
1 |
Contributor's Phone Number |
1 |
Total Amount Donated During This Year |
1 |
Total Amount Donated Last Year |
1 |
Total Amount Donated Two Years Ago |
1 |
Contribution Store:
Element |
Occurrence |
Contributor's Identification Number - 1st Part KEY |
1 |
Drive Number - 2nd Part KEY |
|
Drive Name |
1 |
Drive Chairman |
1 |
Date of Drive |
1 |
Amount of Contribution |
1 |
Date of Contribution |
1 |
Amount of Pledge |
1 |
Date of Pledge |
1 |
Contact Number |
1 |
Contact Name |
1 |
Contact Address |
1 |
Contact Phone |
1 |
Comment on Contact Connection |
1 |
On further analysis, it is clear that the contribution store is not in second normal form because there are parts of the store that are dependent on only one part of the key. The particular, all of the information about the drive itself is depended only upon the drive number. The next step is to separate out the drive information and place it in a third data store.
Contribution Store:
Element |
Occurrence |
Contributor's Identification Number - 1st Part KEY |
1 |
Drive Number - 2nd Part KEY |
|
Amount of Contribution |
1 |
Date of Contribution |
1 |
Amount of Pledge |
1 |
Date of Pledge |
1 |
Contact Number |
1 |
Contact Name |
1 |
Contact Address |
1 |
Contact Phone |
1 |
Comment on Contact Connection |
1 |
Drive Store:
Element |
Occurrence |
Drive Number - KEY |
1 |
Drive Name |
1 |
Drive Chairman |
1 |
Date of Drive |
1 |
There is one more step that must be accomplished to get this file into third normal for. The contact number and the contact name are inter-related. That is if you know the contact number, you know the contact name and unless there are duplicates, if you know the contact name, you know the contact number. Because of the possibility of duplicates, it is clear that the contact name should be the key. This is a one to one relationship. The same inter-related one to one relationship occurs with the contact number and address and the contact number and phone. This indicates that the contact information should be moved to a separate data store. The comment on contact connection should be left behind because it is not just related to the contact, but rather to the contribution to the drive.
Contribution Store:
Element |
Occurrence |
Contributor's Identification Number - 1st Part KEY |
1 |
Drive Number - 2nd Part KEY |
|
Amount of Contribution |
1 |
Date of Contribution |
1 |
Amount of Pledge |
1 |
Date of Pledge |
1 |
Contact Number |
1 |
Comment on Contact Connection |
1 |
Contact Store:
Element |
Occurrence |
Contact Number - KEY |
1 |
Contact Name |
1 |
Contact Address |
1 |
Contact Phone |
1 |
From what started out as a single data element list, we have developed four data stores that make a well organized relational database. In fact these four data stores will evolve into a well-defined set of data files for any type of file setup.
Now that we have determined the data stores used in the system, we can develop entries for the DATA DICTIONARY.