平成29年度 春期 午前 問26
データベース
データモデルに関する問題
データモデルを解釈してオブジェクト図を作成した。解釈の誤りを適切に指摘した記述はどれか。ここで,モデルの表記には UML を用い,オブジェクト図の一部の属性の表示は省略した。
〔図:データモデル〕
| クラス | 属性 | 関連(多重度) |
|---|---|---|
| 顧客 | 顧客番号,顧客名,住所 | 顧客 1 ── \* 注文 |
| 注文 | 注文番号,注文日,注文数 | 注文 \* ── 1 商品 |
| 商品 | 商品番号,商品名,価格 | ― |
〔図:オブジェクト図〕
| オブジェクト | 属性 | リンクしている相手 |
|---|---|---|
| A商店:顧客 | 省略 | 123456:注文,123457:注文 |
| B産業:顧客 | 省略 | 123459:注文 |
| 123456:注文 | 注文日=2017-03-18,注文数=2 | 47型テレビ:商品,2ドア冷蔵庫:商品 |
| 123457:注文 | 注文日=2017-03-18,注文数=1 | 2ドア冷蔵庫:商品 |
| 123459:注文 | 注文日=2017-03-20,注文数=3 | 2ドア冷蔵庫:商品 |
| ドラム式洗濯機:商品 | 省略 | なし |
- ア“123456:注文”が複数の商品にリンクしているのは,誤りである。
- イ“2ドア冷蔵庫:商品”が複数の注文にリンクしているのは,誤りである。
- ウ“A商店:顧客”が複数の注文にリンクしているのは,誤りである。
- エ“ドラム式洗濯機:商品”がどの注文にもリンクしていないのは,誤りである。
答えと解説を見る
✓ これが正解ア“123456:注文”が複数の商品にリンクしているのは,誤りである。
解説
一つの注文が二つの商品を指している点が誤りです。
設問は、データモデルを解釈して作ったオブジェクト図について、解釈の誤りを適切に指摘した記述を選ばせています。見るべきなのは、モデルが定めた個数の指定と、実際に引かれているリンクの本数との食い違い一点だけです。まずモデル側の指定を、向きを付けて日本語に直します。顧客と注文の間は、一人の顧客が複数の注文を出せて、一つの注文の相手は顧客一人です。注文と商品の間は、一つの商品に複数の注文が付いてよい一方、一つの注文が指す商品は一つだけと定められています。ここが本問の要です。次にオブジェクト図で、注文から商品へ出ている線を数えます。注文番号 123456 だけが二本出ており、ちょうど一つと定めた側に違反しています。したがって、この注文が複数の商品にリンクしていることを誤りとした記述が当てはまります。なお属性は設問が一部を省略したと断っているので、属性の欠けは誤りに数えません。
ほかの選択肢はなぜ違うのか
- イ“2ドア冷蔵庫:商品”が複数の注文にリン…:2ドア冷蔵庫という商品が複数の注文につながっている点を誤りとしています。商品の側から見た注文の個数は上限のない複数と定められているので、これはモデルどおりの姿です。
- ウ“A商店:顧客”が複数の注文にリンクして…:A商店という顧客が複数の注文につながっている点を誤りとしています。顧客から注文への向きも上限のない複数なので、一つの取引先が二件の注文を出している状態はもともと許されています。
- エ“ドラム式洗濯機:商品”がどの注文にもリ…:ドラム式洗濯機がどの注文にもつながっていない点を誤りとしています。上限のない複数という指定は下限が零であることも含むため、まだ一度も注文されていない商品があってかまいません。
出典:平成29年度 春期 応用情報技術者試験 午前 問26
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)