J'aime suggérer le design suivant (un peu comme le vôtre) :
Tout d'abord, nous aurons trois tableaux
USER -- UserId, other fields
COMPANY -- CompanyId, other fields
PHONE -- PhoneId, PhoneNumber
Avoir ensuite deux tables pour stocker la relation
COMPANY_PHONE -- CompanyId, PhoneId
USER_PHONE -- UserId, PhoneId