I’ve put together a database model for a rental association’s online annual membership registration. There are 2 types of memberships - the first is managers of rental buildings and the other is service providers.
The managers pay different fees based on the number of units they manage / own (eg: 1-10: $150, 11-20: $200). The service providers pay one flat fee.
I’m stuck on / keep coming back to having a direct relationship between the member and their fee.
The relevant tables of the model I’ve come up with is below. I would appreciate any constructive input or suggestions on whether or not this is practical, and if I’m unnecessarily hung up on the member / fee relationship.
I am using a PHP framework (Yii) for the first time, and would like to have as good of a database model as possible before taking the next step.
member
member_id
first_name
last_name
address
etc…
company
company_id
company_name
rel_title_id
rel_member_id
manager_fee
manager_fee_id
min_num_units
max_num_units
manager_fee_amt
begin_date (effective start date)
end_date (effective end date)
service_fee
service_fee_id
service_fee_amt
begin_date (effective start date)
end_date (effective end date)
membership
membership_id
rel_member_id
rel_membership_type_id
membership_type
membership_type_id
membership_type_name
member_num_units_rel
member_num_units_rel_id
rel_membership_id
num_units_manage
member_payment_rel
member_payment_rel_id
rel_membership_id
payment_amount
rel_payment_method_id
payment_date_time