مراجع UserField custom_field

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 على التوالي كنوع من “العلاقة غير المباشرة”، لكنني كنت فضوليًا من منظور التصميم: لماذا لا يتم ربطها عبر مفتاح أجنبي مباشر؟ أنا متأكد من وجود سبب وجيه، لكنني أحب أن أتعلم تحديدًا ما الذي أُخذ في الاعتبار عند اتخاذ قرار تصميم قاعدة البيانات!

شكرًا لك