sebelum menjawab pertanyaan Anda... saya pikir user_id tidak boleh ada di tabel Talents... ide utamanya di sini adalah bahwa "untuk 1 talenta Anda memiliki banyak pengguna, dan untuk satu pengguna Anda memiliki beberapa talenta".. jadi hubungannya seharusnya NxN, Anda memerlukan tabel perantara
lihat:banyak ke banyak
sekarang
jika Anda ingin melakukan sesuatu yang dinamis (menambah atau menghapus subtalenta), Anda dapat menggunakan hubungan rekursif. Itu adalah tabel yang berhubungan dengan dirinya sendiri
TABLE TALENT
-------------
id PK
label
parent_id PK FK (a foreign key to table Talent)
lihat :asosiasi rekursif
jika Anda menggunakan model sebelumnya, itu bisa menjadi mimpi buruk untuk membuat kueri, karena Talent tabel Anda sekarang menjadi POHON yang dapat berisi beberapa level.. Anda mungkin ingin membatasi diri Anda ke sejumlah level tertentu yang Anda inginkan di Tabel Talent saya kira cukup dua.. dengan begitu pertanyaan Anda akan lebih mudah
saat menggunakan hubungan rekursif... kunci asing harus membiarkan nol karena talenta tingkat atas tidak akan memiliki parent_id...
Semoga berhasil! :)
EDIT: ok.. saya sudah membuat modelnya.. untuk menjelaskannya dengan lebih baik
Sunting Model kedua (berbentuk pohon natal =D ) Perhatikan bahwa relasi antara Model &Talent dan Actor &Talent adalah relasi 1x1, ada beberapa cara untuk melakukannya (tautan yang sama di komentar )
untuk mengetahui apakah pengguna memiliki bakat.. gabungkan tiga tabel pada kueri =)semoga membantu