I'm designing a database to hold our students and their parents/guardians. Heres what I have so far:
Conditions
- I need to identify student siblings (ie; brothers/sisters that are part of the same family)
- A family can have an unlimited number of guardians
- Brothers/Sisters always have the same set of guardians
- Guardians may share the same address
- Guardians may have no address, could just be an email or phone number
My joining table [families] seems a little redundant to me. Is this the best way to do it? Even though its sparse now I can see us having to add family level information in the future. For example invoices are sent out on the family level, not per student or guardian.
Should I store email/phone numbers in a seperate table?