問題
顧客は一般に複数の銀行に預金するものとして,顧客と銀行の関連を,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つ以上の外部キーを持ちます。