戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2010年 春期 午前229


問題文

顧客は一般に複数の銀行に預金するものとして、顧客と銀行の関連を、E-R 図で次のように表現する。このモデルを関係データベース上に “銀行” 表、“口座” 表、“顧客”表として実装する場合の記述として、適切なものはどれか。
応用情報技術者 2010年 春期 午前2 問29の問題画像

選択肢

“銀行”表から “口座”表へのカーディナリティは多対1である。
“銀行”表中に参照制約を課した外部キーがある。
“口座”表から “顧客”表へのカーディナリティは1対多である。
“口座”表には二つ以上の外部キーがある。(正解)

顧客と銀行の関連を表すE-R図の関係モデル【午前2 解説】

要点まとめ

  • 結論:口座表には銀行表と顧客表の両方を参照する外部キーが存在し、外部キーは2つ以上必要です。
  • 根拠:E-R図の「口座」が銀行と顧客の間の多対多関係を仲介し、両者の識別子を持つためです。
  • 差がつくポイント:多対多の関係を正しくリレーションに落とし込む際、仲介表に複数の外部キーが必要な点を理解することが重要です。

正解の理由

「口座」は銀行と顧客の間の多対多(m対n)関係を表しています。この場合、関係をリレーション(表)として実装する際、口座表は銀行表と顧客表の主キーを外部キーとして持ちます。つまり、口座表には銀行IDと顧客IDの2つ以上の外部キーが存在するため、選択肢エが正解です。

よくある誤解

  • 「銀行」表に外部キーがあると考えがちですが、銀行は口座の親であり外部キーは不要です。
  • 口座と顧客の関係を1対多と誤認し、外部キーの数を誤ることがあります。

解法ステップ

  1. E-R図の関係性を確認し、「口座」が銀行と顧客の多対多関係の仲介であることを理解する。
  2. 多対多関係は仲介表(口座表)で表現し、両方の主キーを外部キーとして持つことを認識する。
  3. 銀行表や顧客表に外部キーがあるかを検討し、通常は不要であることを確認する。
  4. 選択肢の内容と照らし合わせ、口座表に複数の外部キーがある選択肢を選ぶ。

選択肢別の誤答解説

  • ア: 「銀行」表から「口座」表へのカーディナリティは多対1ではなく、口座は銀行に対して多対1ですが、口座表が仲介表なのでこの表現は不適切です。
  • イ: 「銀行」表に外部キーがあるとは限らず、通常は銀行が親で外部キーは不要です。
  • ウ: 「口座」表から「顧客」表へのカーディナリティは多対1であり、1対多ではありません。
  • エ: 「口座」表には銀行と顧客の両方を参照する外部キーがあり、正しい記述です。

補足コラム

E-R図の多対多(m対n)関係は、リレーショナルデータベースでは直接表現できないため、仲介テーブル(口座表など)を設けて両者の主キーを外部キーとして持たせます。これにより、複数の銀行と複数の顧客が口座を通じて関連付けられます。外部キーの理解はデータベース設計の基本であり、正確なリレーション設計に不可欠です。

FAQ

Q: 多対多の関係はなぜ仲介表が必要ですか?
A: リレーショナルモデルでは多対多の直接表現ができないため、仲介表で両者の主キーを外部キーとして持つことで関係を実現します。
Q: 外部キーはどの表に設定すべきですか?
A: 関係の多対多を表す仲介表に、関連する両方の親表の主キーを外部キーとして設定します。

関連キーワード: E-R図、多対多関係、外部キー、リレーショナルデータベース、カーディナリティ、仲介テーブル
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について