Bevor ich Ihre Fragen beantworte ... ich denke, dass user_id nicht in der Talenttabelle stehen sollte ... die Hauptidee hier ist, dass "für 1 Talent Sie viele Benutzer haben und für einen Benutzer mehrere Talente".. also die Beziehung sollte NxN sein, benötigen Sie eine Zwischentabelle
siehe:viele zu vielen
jetzt
Wenn Sie etwas Dynamisches tun möchten (Subtalente hinzufügen oder entfernen), können Sie eine rekursive Beziehung verwenden. Das ist eine Tabelle, die mit sich selbst in Beziehung steht
TABLE TALENT
-------------
id PK
label
parent_id PK FK (a foreign key to table Talent)
siehe:rekursive Assoziationen
Wenn Sie das Modell zuvor verwendet haben, könnte es ein Albtraum sein, Abfragen durchzuführen, da Ihre Talenttabelle jetzt ein BAUM ist, der mehrere Ebenen enthalten kann. Möglicherweise möchten Sie sich auf eine bestimmte Anzahl von Ebenen beschränken, die Sie in Ihrer möchten Talenttabelle, ich schätze, zwei reichen aus. Auf diese Weise werden Ihre Abfragen einfacher sein
wenn rekursive Beziehungen verwendet werden ... sollte der Fremdschlüssel Nullen zulassen, da die Talente der obersten Ebene keine parent_id haben ...
Viel Glück! :)
BEARBEITEN: ok.. ich habe das Modell erstellt.. um es besser zu erklären
Bearbeiten Zweites Modell (in Form eines Weihnachtsbaums =D ) Beachten Sie, dass die Beziehung zwischen Model &Talent und Actor &Talent eine 1x1-Beziehung ist, es gibt verschiedene Möglichkeiten, dies zu tun (der gleiche Link zu den Kommentaren )
um herauszufinden, ob der Benutzer Talente hat. Verbinden Sie die drei Tabellen mit der Abfrage =) Ich hoffe, das hilft