データベース ダイアグラムに多対多リレーションシップをマップする
多対多リレーションシップを作成すると、テーブルの複数の行をほかのテーブルの複数の行に関連付けることができます。たとえば、authors テーブルと titles テーブルの間で著者と書籍を正しく対応させるには、一対多リレーションシップではなく、多対多リレーションシップを作成する必要があります。書籍の著者は 1 人とは限らず、複数の著者による共著の場合もあるからです。
データベース ダイアグラムで多対多リレーションシップを作成するには、交差テーブルと呼ばれる第 3 のテーブルを使います。関連付ける 2 つのテーブルの主キー列を交差テーブルに格納し、各テーブルの主キー列から、交差テーブル内の対応する列の間にリレーションシップを作成します。
2 つのテーブルの間に多対多リレーションシップを作成するには
- 多対多リレーションシップで関連付ける 2 つのテーブルをデータベース ダイアグラムに追加します。
- ダイアグラムをマウスの右ボタンでクリックし、[新しいテーブル] を選択して、3 つ目のテーブルを作成します。このテーブルが交差テーブルになります。詳細については、「データベース ダイアグラムにテーブルを追加する」を参照してください。
- [名前の選択] ダイアログ ボックスで、自動的に割り当てられたテーブル名を変更します。たとえば、titles テーブルと authors テーブルの間のリレーションシップに使用する交差テーブルには、titleauthors という名前がシステムによって割り当てられます。詳細については、「テーブル名を変更する」を参照してください。
- 関連付ける 2 つのテーブルからそれぞれ主キー列を交差テーブルにコピーします。交差テーブルには、通常のテーブルと同じように、その他の列を追加することができます。詳細については、「テーブル間での列をコピーする」を参照してください。
- 関連付ける 2 つのテーブルの主キー列を交差テーブルに格納できるように、交差テーブルの主キーを設定します。詳細については、「主キーを定義する」を参照してください。
- 関連付ける 2 つのテーブルと交差テーブルの間に、それぞれ一対多リレーションシップを定義します。詳細については、「テーブル間にリレーションシップを作成する」を参照してください。
メモ データベース ダイアグラム内で作成した交差テーブルには、関連付けるテーブルのデータは自動的には挿入されません。