令和3年度 春期 午前 問29
データベース
概念データモデルに関する問題
商品の注文を記録するクラス(顧客,商品,注文,注文明細)の構造を概念データモデルで表現する。a 〜 d に入れるべきクラス名の組合せはどれか。ここで,顧客は何度も注文を行い,一度に一つ以上の商品を注文でき,注文明細はそれぞれ 1 種類の商品に対応している。また,モデルの表記には UML を用いる。
〔概念データモデル〕
┌─────┐ 1 * ┌─────┐ 1 * ┌─────┐ * 1 ┌─────┐ │ a │────────│ b │────────│ c │────────│ d │ └─────┘ └─────┘ └─────┘ └─────┘
〔4肢の組合せ表〕
a b c d ア 顧客 注文 注文明細 商品 イ 商品 注文 注文明細 顧客 ウ 注文 注文明細 顧客 商品 エ 注文明細 商品 注文 顧客
- アa=顧客,b=注文,c=注文明細,d=商品
- イa=商品,b=注文,c=注文明細,d=顧客
- ウa=注文,b=注文明細,c=顧客,d=商品
- エa=注文明細,b=商品,c=注文,d=顧客
答えと解説を見る
✓ これが正解アa=顧客,b=注文,c=注文明細,d=商品
解説
顧客・注文・注文明細・商品の順に並ぶ組合せです。
設問は、四つのクラスを図の a から d へ当てはめる組合せを選ばせています。ですから見分けの軸は、図に書かれた多重度の向きが、設問の三つの言い切りとそれぞれ合っているか、という一点だけです。設問は、顧客が何度も注文を行うこと、一度に一つ以上の商品を注文できること、注文明細がそれぞれ一種類の商品に対応することを述べています。図は左から順に、一に対して多、一に対して多、多に対して一という向きで四つの枠を結んでいます。ですから左端には何度も繰り返される側を持つ顧客が入り、その相手として注文が続きます。注文はさらに複数の内訳を持つので三番目に注文明細が入り、右端には多くの内訳から一つずつ参照される商品が入ります。
ほかの選択肢はなぜ違うのか
- イa=商品,b=注文,c=注文明細,d=顧…:左の端に商品を、右の端に顧客を置く当てはめ方です。これでは顧客の側が一つだけ参照される位置に来てしまい、何度も注文を行うという記述の向きと合いません。
- ウa=注文,b=注文明細,c=顧客,d=商…:注文と内訳を先に並べ、三番目に顧客を置く当てはめ方です。顧客がいくつも注文を持つ関係が図のどこにも現れず、内訳と顧客が直接結ばれる形になってしまいます。
- エa=注文明細,b=商品,c=注文,d=顧…:内訳を左の端に置き、商品と注文をその隣に並べる当てはめ方です。内訳の側が商品を多数持つ向きになり、それぞれ一種類の商品に対応するという記述と食い違います。
出典:令和3年度 春期 応用情報技術者試験 午前 問29
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)