パーツとオブジェクト間の多対多の関係を実装する次のテーブルがあるとします。ここで、リンク テーブルには重複する行がないように一意のキー ペア (object_id、part_id) があります。
部品表:
part_id | パーツ名 | part_zone --------+-----------+---------- 0 | part1.0 | 上 1 | パート2 | 下 2 | パート1.1 | 上 3 | パート3 | 上
オブジェクト テーブル:
object_id | object_name ---- ----+------------- 0 | オブジェクト1 1 | object2 2 | object3 3 | object4
リンク テーブル:
object_id | part_id ------ --+--------- 0 | 0 0 | 1 1 | 1 1 | 2
オブジェクト内の各 part_zone は 1 つだけであるべきであるというさらなる制約があります。そのため、part_zone 列をリンク テーブルに移動し、キーを一意のペア (object_id、part_zone) に変更した場合、これは満たされます。ただし、part_zone は part テーブルにある必要があるため、これは行いたくありません。私の頭の中では、テーブルをそのまま維持しようとしていますが、(object_id,part_zone) 一意のキーを使用して、part_id の結合を介して part_zone を part テーブルから取得します。
私の意図が明確であることを願っていますが、これが必ずしも最良の実装であるか、または私が求めているものに対して正しい用語を使用しているかについてはあまり確信が持てません。
洞察を提供できる人に事前に感謝します。