次の方法で共有


方法 : 多対多リレーションシップを割り当てる

更新 : 2007 年 11 月

多対多リレーションシップを使用すると、テーブルの各行をほかのテーブルの複数の行と関連付けることができます。たとえば、authors テーブルと titles テーブルとの間に多対多リレーションシップを作成し、各著者をその全著作に対応付け、各著作をすべての著者に対応付けることができます。一方のテーブルから一対多リレーションシップを作成すると、各著作には著者が 1 人しか存在しないこと、または各著者には 1 冊の著作しかないことを誤って示すことになります。

テーブル間の多対多リレーションシップは、データベースで結合テーブルによって実現されています。結合テーブルには、関連付ける 2 つのテーブルの主キー列があります。2 つのテーブルの各主キー列から、結合テーブル内の対応する列にリレーションシップを作成します。pubs データベースでは、titleauthor テーブルが結合テーブルです。

d8b1fb61.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに表示されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

テーブル間で多対多リレーションシップを作成するには

  1. データベース ダイアグラムで、多対多リレーションシップを作成するテーブルを追加します。

  2. ダイアグラムを右クリックし、ショートカット メニューの [新しいテーブル] をクリックして 3 つ目のテーブルを作成します。これが結合テーブルになります。

  3. [名前の選択] ダイアログ ボックスで、システムによって割り当てられたテーブル名を変更します。たとえば、titles テーブルと authors テーブルとの間の結合テーブルは、現在 titleauthors という名前です。

  4. ほかの 2 つのテーブルの各主キー列を結合テーブルにコピーします。ほかの列も、ほかのテーブルに追加するのと同様に結合テーブルに追加できます。

  5. 結合テーブルで、ほかの 2 つのテーブルの主キーを含む主キーを設定します。詳細については、「方法 : 主キーを作成する」を参照してください。

  6. 2 つの各主テーブルと結合テーブルとの間に一対多リレーションシップを定義します。結合テーブルは、作成するリレーションシップの "多" 側に配置します。詳細については、「方法 : テーブル間にリレーションシップを作成する」を参照してください。

    d8b1fb61.alert_note(ja-jp,VS.90).gifメモ :

    データベース ダイアグラムで結合テーブルを作成しても、関連テーブルから結合テーブルにデータは挿入されません。テーブルへのデータの挿入については、「方法 : 複製挿入クエリを作成する」を参照してください。

参照

その他の技術情報

リレーションシップの使用

データベース ダイアグラムの使用