あなたが作成したいくつかのコメントに基づいて、より多くの正規化が必要だと思います。ロールテーブルを作成し、それに従ってルックアップテーブルを調整する
movie
+----+------------+
| id | title |
+----+------------+
| 1 | Braveheart |
+----+------------+
person
+----+------------+
| id | name |
+----+------------+
| 4 | Mel Gibson |
+----+------------+
role
+----+------------+
| id | title |
+----+------------+
| 1 | Director |
| 2 | Actor |
+----+------------+
movie2person
+---------+----------+--------+
| movieID | personID | roleID |
+---------+----------+--------+
| 1 | 4 | 1 |
| 1 | 4 | 2 |
+---------+----------+--------+
この設定では、movie2personに3列の複合主キーがあります。
プライマリキーとして多くの情報(ロール)を持つ3つの列を持つことは、パフォーマンスに影響しませんか? – Jonathan
ロールが大きな列の場合は、代わりに人工キーを使用します。自動増分された整数である必要があります。次に、一意性が必要な場合は、残りの列に制約を定義できます。 – Welbog
roleはVARCHAR 80ですが、私はmovieIDとpersonIDがプライマリである必要がありますので、別のテーブルから参照することができます。 – Jonathan