P
pv
Hello All,
I am in real need of suggestions for best approach. The database I am
re-designing tracks donations which can be 1x donations related to
fundraising activities (annual fund, capital campaign), events, memberships,
or recurring donations as related to memberships, pledges (resulting from
camp fundraising activities or multi year membership), grants. I am
specifically concerned with fields common in each of the donations, pledges
and memberships and grants tables
Data flow - 1 time donations, with the exception of a grant donation is
entered directly in Donations with the associated fundraising activity if
appropriate.
Grants are entered in to grants table and then amount received is entered in
Donations table.
Memberships are entered in Membership table. 1 yr donations are entered in
donations. If it is a multi yr membership the additional membership dues are
tracked as a pledge with pledge payment schedule. When dues are received the
amount is entered into the donation table. Partial payments for dues are
accepted for both 1st year and additional year(s). Not all memberships are
paid memberships with related donation record.
Grants are entered into Grants table amount received is entered in donations
table.
Pledges (related to fundraising activity) Pledge entry and pledge payment
schedule records entered. Payments are entered in Donations table. Table
structure is listed below
In each of the tables are fields common to all (a one time donation will
have same related information as pledge, etc):
MatchedBy- appears in Membership, Pledge, Donation,
AppliedTo - appears in Pledges, donations, Grants
PaidThru Pledges, donations, Grants, and similar to field "GiftFrom" in
Membership.
I am struggling with the best way to set up the table structure, and how to
avoid redundant data entry in the donations table where and donation entry
is related to a pledge, or membership v.s. a one time donation where
MatchedBy, AppliedTo or Paid Thru information is collected. Or conversely
should the information be brought forward into the donation table from
membership or pledge or grants table. I am also concerned with queries but
assume that I could use a sql join between all table to query on MatchedBy,
AppliedTo or PaidThru. Add guess I would have to do the same thing if I
want to see all donors who have made one time donations and also have
pledged to make a donation. Is there an easier more efficient way?
Any suggestions as to how to resolve the above or to set me on a better path
is greatly appreciated.
Memberships (0,1 membership to many donation payments)
MemberID
Memberlevel
StartDate
EndDate
Upgrade
Comp
GiftFrom
MatchedBy
Pledges (1 pledge 1 to many donation payments, 1 donation can be related to
many scheduled payments)
PledgeID
PledgeType (can be multiyear membership or Fundraising Campaign)
CampFundID (ie Annual Fund & Date of Capital Campaign
AppliedTo
PaidThru
MatchedBy
PldgDate
PldgSched
PayableOver
SendStatement
AuthName
PublicRec
PldgPmtNote
CampFundID (fk to campfund lookup table with camp name and date)
MemberID (fk to Member table with membership details)
PledgePaymentSchedule (1pledge 1 to many payments scheduled)
PledgePaymentId
PldgSchedDate
PldgAmount (amount of individual payments)
PmtRecd
PmtNote
PldgID
Grants: (1 grant 1 to many donations)
GrantID
GrantName
GrantDate
Multi (# of payments to be made 1+)
Frequency
AppliedTo
TotalAmount (Total Amount of Multipayment grants)
DonorID
Donations
DonationID
DonorID
DatePaid
Amount
DonType
DonNote
GiftTo (Id of person who was receiptiant of donation, ie membership)
MatchedBy
AppliedTo
PaidThru
PldgID (FK Pledge)
MembershipID (FK Membership
EventID (FK Events)
GrantID (FK Grants)
I am in real need of suggestions for best approach. The database I am
re-designing tracks donations which can be 1x donations related to
fundraising activities (annual fund, capital campaign), events, memberships,
or recurring donations as related to memberships, pledges (resulting from
camp fundraising activities or multi year membership), grants. I am
specifically concerned with fields common in each of the donations, pledges
and memberships and grants tables
Data flow - 1 time donations, with the exception of a grant donation is
entered directly in Donations with the associated fundraising activity if
appropriate.
Grants are entered in to grants table and then amount received is entered in
Donations table.
Memberships are entered in Membership table. 1 yr donations are entered in
donations. If it is a multi yr membership the additional membership dues are
tracked as a pledge with pledge payment schedule. When dues are received the
amount is entered into the donation table. Partial payments for dues are
accepted for both 1st year and additional year(s). Not all memberships are
paid memberships with related donation record.
Grants are entered into Grants table amount received is entered in donations
table.
Pledges (related to fundraising activity) Pledge entry and pledge payment
schedule records entered. Payments are entered in Donations table. Table
structure is listed below
In each of the tables are fields common to all (a one time donation will
have same related information as pledge, etc):
MatchedBy- appears in Membership, Pledge, Donation,
AppliedTo - appears in Pledges, donations, Grants
PaidThru Pledges, donations, Grants, and similar to field "GiftFrom" in
Membership.
I am struggling with the best way to set up the table structure, and how to
avoid redundant data entry in the donations table where and donation entry
is related to a pledge, or membership v.s. a one time donation where
MatchedBy, AppliedTo or Paid Thru information is collected. Or conversely
should the information be brought forward into the donation table from
membership or pledge or grants table. I am also concerned with queries but
assume that I could use a sql join between all table to query on MatchedBy,
AppliedTo or PaidThru. Add guess I would have to do the same thing if I
want to see all donors who have made one time donations and also have
pledged to make a donation. Is there an easier more efficient way?
Any suggestions as to how to resolve the above or to set me on a better path
is greatly appreciated.
Memberships (0,1 membership to many donation payments)
MemberID
Memberlevel
StartDate
EndDate
Upgrade
Comp
GiftFrom
MatchedBy
Pledges (1 pledge 1 to many donation payments, 1 donation can be related to
many scheduled payments)
PledgeID
PledgeType (can be multiyear membership or Fundraising Campaign)
CampFundID (ie Annual Fund & Date of Capital Campaign
AppliedTo
PaidThru
MatchedBy
PldgDate
PldgSched
PayableOver
SendStatement
AuthName
PublicRec
PldgPmtNote
CampFundID (fk to campfund lookup table with camp name and date)
MemberID (fk to Member table with membership details)
PledgePaymentSchedule (1pledge 1 to many payments scheduled)
PledgePaymentId
PldgSchedDate
PldgAmount (amount of individual payments)
PmtRecd
PmtNote
PldgID
Grants: (1 grant 1 to many donations)
GrantID
GrantName
GrantDate
Multi (# of payments to be made 1+)
Frequency
AppliedTo
TotalAmount (Total Amount of Multipayment grants)
DonorID
Donations
DonationID
DonorID
DatePaid
Amount
DonType
DonNote
GiftTo (Id of person who was receiptiant of donation, ie membership)
MatchedBy
AppliedTo
PaidThru
PldgID (FK Pledge)
MembershipID (FK Membership
EventID (FK Events)
GrantID (FK Grants)