innan jag svarar på dina frågor... jag tycker att user_id inte ska finnas i talangtabellen... huvudtanken här är att "för 1 talang har du många användare, och för en användare har du flera talang".. så relationen ska vara NxN, du behöver en mellanliggande tabell
nu
om du vill göra något dynamiskt (lägga till eller ta bort subtalanger) kan du använda ett rekursivt förhållande. Det är en tabell som är relaterad till sig själv
TABLE TALENT
-------------
id PK
label
parent_id PK FK (a foreign key to table Talent)
om du använder modellen tidigare kan det vara en mardröm att göra frågor, eftersom dina bordstalanger nu är ett TRÄD som kan innehålla flera nivåer.. du kanske vill begränsa dig till ett visst antal nivåer som du vill ha i din Talent's table, jag antar att två är tillräckligt... på så sätt blir dina frågor lättare
när du använder rekursiva relationer... bör den främmande nyckeln tillåta nollvärden eftersom talangerna på toppnivåerna inte kommer att ha ett parent_id...
Lycka till! :)
EDIT: ok .. jag har skapat modellen .. för att förklara den bättre
Redigera Andra modellen (i form av en julgran =D ) Observera att relationen mellan Model &Talent och Actor &Talent är en 1x1-relation, det finns olika sätt att göra det (samma länk i kommentarerna )
för att ta reda på om användaren har talanger.. gå med i de tre tabellerna på frågan =)hoppas detta hjälper