E-R図

問題

顧客は一般に複数の銀行に預金するものとして,顧客と銀行の関連を,E-R図で次のように表現する。このモデルを関係データベース上に”銀行”表,”口座”表,”顧客”表として実装する場合の記述として,適切なものはどれか。

  • “銀行”表から”口座”表への対応関係は多対1である。
  • “銀行”表中に参照制約を課した外部キーがある。
  • “口座”表から”顧客”表への対応関係は1対多である。
  • “口座”表には二つ以上の外部キーがある。

答え

“口座”表には2つ以上の外部キーがある。

解説

E-R図

ER図、データベースを設計する際に、その内容を分かりやすく表現する図です。

実体関連モデル(じったいかんれんモデル、: Entity-relationship Model, ERM)は、概念的データモデルの高レベルな記述を可能とするモデルの一種である。また、実体関連モデルによって具体的なシステムのデータモデルを図で表現したものを実体関連図: Entity-relationship Diagram, ERD)あるいはER図と呼ぶ。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

以下が大変わかりやすいです。

若手プログラマー必読!5分で理解できるER図の書き方5ステップ

対応関係

対応関係は、cardinality とも呼ばれ、各エンティティ間の関係の多重度のことで、 「1対1」「1対多」「多対多」など、リレーションの詳細を表現します。

この問題では、銀行には一般的に複数の口座がありますが、一つの口座は複数の銀行に所属することはできません。よって、銀行から口座への対応関係は 「1対多」 と表すことができます。

また、顧客は一般に複数の口座を持つので、顧客から口座への対応関係も 「1対多」 と表すことができます。

エンティティ間に「1対多」の関係がある時、「多」に相当する側のエンティティは外部キーを持ちます。

口座表は銀行、顧客双方から 「1対多」 の対応関係を持つので、 “口座”表は2つ以上の外部キーを持ちます。