I took your advice and changed my table setup to consolidate data. You're
right that many tables had unique personal data. So now I have 8 tables (some
improvement).
1 personal info table
2 confirmation table
3 received as Episcopalian table
4 marriage table
5 Vestry table (church council)
6 organization table
7 org member
I also tried to implement your suggestion about organizations. I created the
org table and the org member table. the organization table has a primary key
(organizationKEY), a link to the personal info table (nameSubKEY), a link to
the Org Member table (orgMemberSubKEY) and a text field to hold the
organization name this person is a member of. I know this must not be
correct, because Icannot get it to work. I can work with one relationship,
but I have never understood how to do it with more than 1. This is a perfect
example.
I connected the personal table with the OrgMember table with the primary key
of the personal table and the personal table sub key in the org member table.
I also connected the org member table to the organization table with the org
member primary key and the orgmemberSubKEY.
So now I am lost as to what to do with these connections. I think the
personal table to org member table is a one to many relationship and the org
member to organization is one to many relationship. If so, I still cannot
figure out how to enter data for these tables.
You're on the right path, but you still have some misconceptions!
Organization membership is a classic "many to many" relationship. There are
three tables involved: a table of People (with *NO* membership or organization
information); a table of Organizations (with *NO* information about people);
and a third table of Memberships, which contains a link to the other two
tables. The foreign key goes in the "many" side table - that is, you would not
have the orgMemberSubKEY in the Organization table, but rather the
OrganizationKey in the org member table!
Also, I'm not clear why you need separate tables for confirmation and for
received as an Episcopalian. As I understand it, those events can happen only
once for a person; why not just have fields in the Person table for
ConfirmationDate and ReceivedDate? Is there more info that you record for
those events?
And again... isn't the Vestry just another organization?
I'd suggest the following structure:
PersonalInfo
MemberKey <primary key>
LastName
FirstName
MiddleName
DOB
<perhaps baptism date, confirmation date, other one-value personal info>
Organizations
OrganizationKey <Primary Key>
Organization <e.g. Choir, Vestry, etc.>
<any other info about the organization as a whole>
Memberships
MemberKey <link to PersonalInfo, who's a member of this org>
OrganizationKey <link to Organizations, what are they a member of>
Role <e.g. Chairman, Baritone, ...>
DateJoined
DateEnd <e.g. if someone is on the vestry for a three year term put the end
date of their term>
Marriages
<not sure what you want to track here; you'll need to have either a
MemberKey or other way to identify both the bride and the groom, marriage
date, marriage location, perhaps other info - what about a non-church
wedding?)
I'm a Presbyterian myself so I may not be up to speed on all the governance
issues, but I hope you'll forgive me my trespasses (and I'll agree to forgive
your debts!)