UserField custom_field reference

I have determined that user_field_15 implicitly maps to UserField(id:15)
and user_field_1 implicitly maps to UserField(id:1)

Is there any explicit mapping for UserField or is it explicitly user_field_n where n is the id for the UserField record?

Context

[79] pry(main)> user.custom_fields
=> {"user_field_2"=>"xxxx",
 "user_field_1"=>"xxxx-xxx-xxx",
 "user_field_4"=>"Fulltime",
 "user_field_8"=>"true",
 "user_field_9"=>"false",
 "user_field_13"=>"true",
 "user_field_15"=>"true"}

user_field = UserField.find_by_name("Mobile")
=> #<UserField:0x00005635bff79158
 id: 1,
 name: "Mobile",
 field_type: "text",
 created_at: Fri, 01 Feb 2019 23:05:43 UTC +00:00,
 updated_at: Mon, 08 Apr 2019 04:50:11 UTC +00:00,
 editable: true,
 description: "Your Mobile Number",
 required: false,
 show_on_profile: false,
 position: 1,
 show_on_user_card: false,
 external_name: nil,
 external_type: nil>
[81] pry(main)> 

방금 이 글을 다시 올린 점 죄송합니다. user_fields와 user_custom_fields 테이블이 각각 id와 name 컬럼을 일종의 "소프트 관계"로 사용하고 있다는 점은 알고 있습니다. 다만, 디자인 관점에서 왜 직접적인 외래 키로 연결하지 않았는지 궁금해서요. 분명 좋은 이유가 있을 거라고 생각하지만, 데이터베이스 설계 결정에 어떤 요소들이 반영되었는지 구체적으로 알고 싶습니다!

감사합니다