ITパスポート 令和3年度 問70:データベースに関する問題
条件①~④を全て満たすとき,出版社と著者と本の関係を示すE-R図はどれか。ここで,E-R図の表記法は次のとおりとする。 [表記法] a→b aとbが,1対多の関係であることを表す。 [条件] ① 出版社は,複数の著者と契約している。 ② 著者は,一つの出版社とだけ契約している。 ③ 著者は,複数の本を書いている。 ④ 1冊の本は,1人の著者が書いている。
- a出版社→著者→本正答
- b出版社→著者←本
- c出版社←著者→本
- d出版社←著者←本
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a「出版社→著者→本」 です。
矢印 →(1対多)は「1つに対して、たくさんぶら下がる」という意味です。
・出版社1つに、著者がたくさん → 出版社→著者
・著者1人が、本をたくさん書く → 著者→本
つなげると「出版社→著者→本」。矢印はどちらも、少ない方から多い方へ向いています。
👉 覚え方:→ は「1人の親から、たくさんの子へ」。
出版社(親)→著者(子でもあり親)→本(子)と、上から下へ枝分かれするイメージです。
なぜこれが正解か
正解は a。表記法は「a→b で a と b が1対多」。条件を矢印に直す。
- ①出版社は複数の著者と契約/②著者は1出版社のみ → 出版社1:著者多 → 出版社→著者
- ③著者は複数の本を書く/④1冊は1著者 → 著者1:本多 → 著者→本
つなげると 出版社→著者→本 となり、aが正解。
各選択肢の解説
- b 出版社→著者←本:本が著者に対し多側になり、④(1冊1著者)に反する。
- c 出版社←著者→本:出版社が著者の多側になり、②(著者は1出版社)に反する。
- d 出版社←著者←本:両方とも向きが逆。
覚え方・ひっかけ注意
矢印は「1」から「多」へ向ける(1の側が根元、多の側が先端)。各条件で「どちらが1でどちらが多か」を一つずつ判定し、矢印の向きに翻訳すれば確実。向きを逆に読むのが最大のミス。
理論的背景
E-R 図(Entity-Relationship Diagram)はチェン(Peter Chen)が1976年に提唱したデータモデリング手法で、実体(Entity)・属性(Attribute)・関連(Relationship)の3要素でデータ構造を視覚化する。多重度(カーディナリティ) は関連の量的制約を表し、1対1・1対多・多対多の3種類がある。
本問の表記法「a → b はaとbが1対多」の読み方:
- 矢印の根元側(出発側)が「1」、先端側(矢印が向く側)が「多」
4条件を矢印に翻訳する:
- 条件①②「出版社1:著者多(多の著者が1出版社と契約)」→ 出版社→著者
- 条件③④「著者1:本多(1著者が多冊の本を書く)」→ 著者→本
連結すると 出版社 → 著者 → 本 となり、選択肢 a が正解。
なお標準的な E-R 図の記法にはいくつかの表記法があり、本問は簡易版を使っている:
- IE 記法(鳥の足記法): 1側を縦棒1本、多側を「三叉の鳥の足」で表現。業界最普及
- IDEF1X: 菱形+識別子付き記法
- UML クラス図: 1..1 / 0..* などの多重度記号で表現。オブジェクト指向設計でも使う
実務での使われ方
E-R 図はリレーショナルデータベースの論理設計における上流工程成果物だ。E-R 図から物理テーブル設計への変換ルールは次の通り:
- 1対多の関連: 多側のテーブルに1側の主キーを外部キー(FK: Foreign Key)として追加して実装。本問では「著者テーブルに出版社ID(FK)を持つ」「本テーブルに著者ID(FK)を持つ」。
- 多対多の関連: そのままでは実装不可。両者の主キーを属性として持つ連関エンティティ(中間テーブル)を設けて1対多×2に分解する(例:受講テーブルが「学生」と「授業」の多対多を実現)。
参照整合性(外部キー制約): 親レコードが存在しない外部キーを持つ子レコードの作成を DBMS がブロックする。削除時の動作(CASCADE・RESTRICT・SET NULL)の選択が実務設計の重要ポイントだ。
試験での位置づけ
ITパスポートのデータベース分野で E-R 図は1対多・多対多の判定問題として頻出。本問のように4つの業務条件を文章で与え、それを矢印に変換させる形式が定番。矢印の向きを逆に読むミスが最多誤答パターンで、「矢印は1から多へ向ける(多が先端)」というルールを体で覚えておくことが重要。基本情報技術者では多対多を連関エンティティへ分解する設計、正規化(第1〜第3正規形・ボイスコッド正規形)、外部キー制約の動作まで踏み込む。
選択肢の発展補足
選択肢 b「出版社→著者←本」 は「本→著者が多対1(多の本が同一著者を指す)」という条件④の解釈は正しいが、矢印の向きが「本→著者」ではなく「本←著者」のような表現になっており、問題文の表記法「a→b は a が1、b が多」と整合しない。条件④「1冊の本は1人の著者が書く」は「著者1:本多」なので「著者→本」が正しく、「出版社→著者←本」では本側の矢印が逆。
選択肢 c「出版社←著者→本」 は「著者→出版社」が「著者1:出版社多」という解釈になり、条件②「著者は1出版社のみと契約」(著者多:出版社1、つまり出版社→著者が正)に矛盾する。
選択肢 d「出版社←著者←本」 は全矢印が逆。「本→著者→出版社」となり条件③「著者は複数の本を書く(著者1:本多)」に反する。4条件を一つずつ矢印に翻訳し、向きを確認してから連結するという手順を踏めば確実に正解を導ける。
出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和3年度 問70/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。