令和2年度 10月 午前 問27
データベース
UML を用いて表した図のデータモデルから,"部品" 表,"納入" 表及び "メーカ" 表を関係データベース上に定義するときの解釈のうち,適切なものはどれか。
〔UML 図の要点〕
- 部品(部品番号,部品名,…) ── "部品" 1 対 "納入" *(多)
- 納入(納入日,数量,…) ── "納入" * 対 "メーカ" 1
- メーカ(メーカ番号,メーカ名,…)
- ア同一の部品を同一のメーカから複数回納入することは許されない。
- イ"納入" 表に外部キーは必要ない。
- ウ部品番号とメーカ番号の組みを "納入" 表の候補キーの一部にできる。
- エ"メーカ" 表は,外部キーとして部品番号をもつことになる。
答えと解説を見る
✓ これが正解ウ部品番号とメーカ番号の組みを "納入" 表の候補キーの一部にできる。
解説
納入表は部品番号とメーカ番号の組を鍵の一部に持てます。
この設問は、多重度のついた図から表の作り方を導く問題です。ですから、選び方の軸は、1 対多の関連を表にしたときに、どちらの表に外部キーを置き、どこに主キーの手掛かりを積むかという一点で見分けます。図では、部品と納入の間、納入とメーカの間が、それぞれ 1 対多の並びになっており、間に立つ表は両側の主キーを外部キーとして持つ、関連の実体としての役目を担います。ここに納入日といった別の属性が加わって、行を一意に決められるようになります。したがって、両側の主キーの組を、その表の主キーやその手掛かりの一部として使えます。逆に、多重度が多を許している以上、同じ組み合わせで複数の行を持てて当然であり、多側から 1 側へ番号を渡す作りにもなりません。
ほかの選択肢はなぜ違うのか
- ア同一の部品を同一のメーカから複数回納入す…:同一の部品を同一のメーカから複数回納入することは許されないと述べています。図の多重度は多を許しており、同じ組み合わせで行を複数持てることが前提です。関連の実体が持てる形と噛み合いません。
- イ"納入" 表に外部キーは必要ない。:納入表に外部キーは必要ないと述べています。1 対多の並びで多側に立つ表は、両側の主キーを外部キーとして持つのが基本の作りです。図の並びに従う限り、鍵を置かない形にはできません。
- エ"メーカ" 表は,外部キーとして部品番号…:メーカ表が外部キーとして部品番号を持つと述べています。図でメーカと部品は直接結ばれておらず、外部キーは 1 対多の多側に置くのが原則です。1 側であるメーカ表に部品番号を持たせる作りにはなりません。
この問題の用語
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。データの定義や操作にはSQLを使います。
出典:令和2年度 10月 応用情報技術者試験 午前 問27
同じ用語が出る問題
- 令和7年度 秋期 午前 問28:ビューに関する記述(関係データベース)
- 令和7年度 春期 午前 問25:多重度に関する問題(関係データベース)
- 令和5年度 春期 午前 問30:参照制約に関する問題(関係データベース)
- 令和5年度 春期 午前 問26(関係データベース)
- 令和3年度 春期 午前 問28:NoSQLに関する問題(関係データベース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)