データベース設計 (全65問中8問目)
No.8
商品の注文を記録するクラス(顧客,商品,注文,注文明細)の構造を概念データモデルで表現する。a~dに入れるべきクラス名の組合せはどれか。ここで,顧客は何度も注文を行い,一度に一つ以上の商品を注文でき,注文明細はそれぞれ1種類の商品に対応している。また,モデルの表記にはUMLを用いる。
出典:令和3年春期 問29
分類
テクノロジ系 » データベース » データベース設計
正解
ア
解説
設問の文章から以下の関係を導くことができます。
「顧客は何度も注文を行い」
→1人の顧客について複数(0つ以上)の注文が存在し、1つの注文は1人の顧客によって行われるので、顧客クラスと注文クラスの関係は「1対多」となります。
「一度に一つ以上の商品を注文でき」
→1つの注文エンティティについて、1つ以上の注文明細エンティティが存在するので、注文クラスと注文明細クラスの関係は「1対多」となります。
「注文明細はそれぞれ1種類の商品に対応している」
→1つの注文明細は1種類の商品に対応し、1種類の商品は複数の注文明細に関連し得るので、注文明細クラスと商品クラスの関係は「多対1」となります。
以上を整理すると、データ間の関連を適切に表すのは次の概念データモデルです。
顧客(1)-(多)注文(1)-(多)注文明細(多)-(1)商品
したがって「ア」の組合せが適切となります。
「顧客は何度も注文を行い」
→1人の顧客について複数(0つ以上)の注文が存在し、1つの注文は1人の顧客によって行われるので、顧客クラスと注文クラスの関係は「1対多」となります。
「一度に一つ以上の商品を注文でき」
→1つの注文エンティティについて、1つ以上の注文明細エンティティが存在するので、注文クラスと注文明細クラスの関係は「1対多」となります。
「注文明細はそれぞれ1種類の商品に対応している」
→1つの注文明細は1種類の商品に対応し、1種類の商品は複数の注文明細に関連し得るので、注文明細クラスと商品クラスの関係は「多対1」となります。
以上を整理すると、データ間の関連を適切に表すのは次の概念データモデルです。
顧客(1)-(多)注文(1)-(多)注文明細(多)-(1)商品
したがって「ア」の組合せが適切となります。