関係モデルとは?かんけいモデル
関係モデルとは、データを、属性名と定義域の対応(見出し)と、そこから取った値の組(タプル)の集合として定義する数学的なデータモデル。関係が集合であるという一点が、午前I(令和8年度から科目A-1)で問われる設問のほぼすべての根になっている。集合なので同じ組は2つ存在せず、組の順序も無い。関係データベースとSQLはこのモデルの実装だが、実装の側は集合ではなく重複を許す多重集合として動く。
最終更新:2026-10-07
この語が出る過去問を解く →背景
午前I(科目A-1)でデータベース分野に割かれるのは2問前後で、受験者の多くにとっては専門外にあたる。そのため出題は、正規化の手順やSQLの複雑な構文ではなく、理論と実装のどこがずれているかという一点に集約されやすい。関係モデルを土台に据えると、この分野の設問は「集合として扱うならどうなるはずか」と「実際のSQLはどう動くか」の差分を確かめる形に統一して読める。近年はここに、関係モデルの表形式に載らないデータの持ち方(NoSQL)を対比させる設問が加わっている。
具体例
関係R(ID, A, B, C)のA, Cへの射影を考えると、結果は集合なので同じ組は1つにまとまる。ところが関係Rを実現した表Tに対して SELECT A, C FROM T と書くと、SQLの既定は重複を残すALLなので、同じ組が並んだままの結果が返る。理論どおりの結果を得るにはDISTINCTを書き足す必要がある——このずれがそのまま穴埋めの設問になっている。
試験での引っ掛け
「関係=表」と同一視すると、この分野の設問はほぼ全部落ちる。関係は集合、SQLの表は重複行を許す多重集合であり、DISTINCTやORDER BYが要るのはこのずれの埋め合わせである。ORDER BYは並べ替えの指定であって重複は消さない点も誤答として置かれる。もう一つ、NoSQLに分類されるデータベースを問う設問では「関係データモデルをオブジェクト指向データモデルに拡張し、操作の定義や型の継承関係の定義を可能としたデータベース」が誤答に並ぶ——これはオブジェクト関係データベースで、関係モデルの拡張であってNoSQLではない。
関連用語
出た過去問
出典:平成29年度 秋期 高度試験 午前Ⅰ 問9(IPA)解説で登場
関係R(ID, A, B, C)のA, Cへの射影の結果とSQL文で求めた結果が同じになるように、aに入れるべき字句はどれか。ここで、関係Rを表Tで実現し、表T…
正解:DISTINCT
要点:関係の射影は重複を除く集合演算、SQLではDISTINCTが必要
関係モデルの射影は結果を集合として扱うため、重複する組は取り除かれる。表TのA、C列を取り出すと同じ組合せが重複して現れるので、SQLでは重複行を除くDISTINCTを指定しないと射影の結果と一致しない。SQLの既定はALLで重複をそのまま残す。
出典・参考
公式シラバスの3 技術要素 > 1. データベース方式 > (1) データベースに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。