多対多リレーションシップを割り当てる方法 (Visual Database Tools)
多対多リレーションシップを使用すると、テーブルの各行を他のテーブルの複数の行と関連付けることができます。たとえば、authors
テーブルと titles
テーブルとの間に多対多リレーションシップを作成し、各著者をその全著作に対応付け、各著作をすべての著者に対応付けることができます。一方のテーブルから一対多リレーションシップを作成すると、各著作には著者が 1 人しか存在しない、または各著者には 1 冊の著作しかないという情報が誤って示されることになります。
テーブル間の多対多リレーションシップは、それぞれのデータベースで結合テーブルによって実現できます。結合テーブルには、関連付ける 2 つのテーブルの各主キー列が格納されます。これを使用して、2 つのテーブルの各主キー列から、結合テーブル内の対応する列へのリレーションシップを作成します。pubs データベースでは、titleauthor
テーブルが結合テーブルです。
テーブル間で多対多リレーションシップを作成するには
データベース ダイアグラムで、多対多リレーションシップを作成する各テーブルを追加します。
ダイアグラムを右クリックし、ショートカット メニューの [新しいテーブル] をクリックして 3 つ目のテーブルを作成します。これが結合テーブルになります。
[名前の選択] ダイアログ ボックスで、システムによって割り当てられたテーブル名を変更します。たとえば、
titles
テーブルとauthors
テーブルとの間の結合テーブルは、現在titleauthors
という名前です。2 つのテーブルの各主キー列を結合テーブルにコピーします。他の列も、他のテーブルに追加するのと同様に結合テーブルに追加できます。
結合テーブルで、他の 2 つのテーブルの主キーをすべて含めて主キーを設定します。詳細については、「主キーを作成する方法 (Visual Database Tools)」を参照してください。
2 つの各主テーブルと結合テーブルとの間に一対多リレーションシップを定義します。結合テーブルは、作成するリレーションシップの "多" 側に配置します。詳細については、「テーブル間にリレーションシップを作成する方法 (Visual Database Tools)」を参照してください。
メモ : データベース ダイアグラムで結合テーブルを作成しても、関連テーブルから結合テーブルにデータは挿入されません。テーブルへのデータの挿入については、「結果の挿入クエリを作成する方法 (Visual Database Tools)」を参照してください。
参照
その他の技術情報
リレーションシップの使用 (Visual Database Tools)
データベース ダイアグラムの使用 (Visual Database Tools)