This is a broader issue, requires the following change to the DB schema.
- Contact table broken into:
- Person
- email (fk: personid, address, type [personal, institutional])
- phone (fk: personid, number, type [institutional, fax, home, mobile . . .])
- address (Organisation, Street Address Line(s), Dependent locality (may be an inner-city district or a suburb), City or Locality, Administrative area such as a state, province, island etc, Zip or postal code, Sorting code) - joined using a one to many that includes address type [admin, personal]