連関表とは?れんかんひょう
連関表とは、多対多の関連を関係データベースで表現するために設ける表。双方の主キーを外部キーとして持ち、その組合せを主キーにすることで、多対多を1対多の関連2本に分解する。交差実体、対応表とも呼ばれ、関連そのものに付く属性の置き場所にもなる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
関係モデルでは、1つの列に複数の値を詰めることも、行数の決まらない列を横に並べることもできない。多対多をそのまま表にしようとすると必ずこの制約に突き当たるため、関連そのものを実体として独立させる方法が定石になった。実務では「関連に属性が付く」ことに気づけるかが要点で、数量・単価・年度といった属性の置き場所が最初から用意されるという利点もある。
具体例
受注と商品は多対多なので、受注明細という連関表を設け、(受注番号, 明細番号)または(受注番号, 商品コード)を主キーにする。この表には数量や販売単価といった、受注にも商品にも属さない属性を置ける。会員と商品の「お気に入り」も同じ形になる。
試験での引っ掛け
同じ組合せが業務上2回以上発生し得るかを確認せずに、双方のキーの組を主キーにすると詰む。同じ商品を1つの受注で2行に分けたい、同じ講義を年度違いで再履修する、といった業務では、明細番号や年度など識別用の属性を主キーに足す必要がある。「多対多を見たら機械的に組を主キー」は誤り。
関連用語
出た過去問
出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問5(IPA)解説で登場
関係データベースの表を設計する過程で、A表とB表が抽出された。主キーはそれぞれ列aと列bである。この二つの表の対応関係を実装する表の設計に関する記述のうち、適切…
正解:A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよいし、列bをA表に追加して外部キーとしてもよい。
要点:1対1は外部キーの置き方が自由、多対多は連関表が必須
1対1の対応関係は、どちらの表に相手の主キーを外部キーとして持たせても一意性が保てるため、どちら向きの実装も可能である。1対多なら「多」側に「1」側の主キーを外部キーとして持たせ、多対多なら両方の主キーをもつ連関表を新設するのが定石である。
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2(IPA)解説で登場
関係データベースの表を設計する過程で、A表とB表が抽出された。主キーはそれぞれ列aと列bである。この二つの表の対応関係を実装する表の設計に関する記述のうち、適切…
正解:A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよいし、列bをA表に追加して外部キーとしてもよい。
要点:1対1は外部キーの向きが自由、多対多は連関表が必要
1対1の対応関係では、どちらか一方の表に相手の主キーを外部キーとして持たせれば対応関係を表現でき、どちらの向きでも一意性が保たれる。1対多では「多」側に「1」側の主キーを置き、多対多では両方の主キーをもつ連関表を新設するのが基本である。
出典:令和2年度 10月試験 データベーススペシャリスト試験 午前Ⅱ 問6(IPA)解説で登場
関係データベースの表を設計する過程で、A表とB表が抽出された。主キーはそれぞれ列aと列bである。この二つの表の対応関係を実装する表の設計に関する記述のうち、適切…
正解:A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよいし、列bをA表に追加して外部キーとしてもよい。
要点:1対1はどちら側でも可、1対多は多側、多対多は連関表
1対1の対応関係では、どちらの表にも相手の主キーを外部キーとして持たせることができ、どちら側に置くかは検索頻度やNULLの出やすさなどで選べばよい。1対多なら「多」側に「1」側の主キーを外部キーとして置き、多対多なら双方の主キーを外部キーに持つ連関表を新設する。この整理に合致するのはアだけである。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。