UML で表したデータモデルを関係データベース上に実装する際の解釈のうち,適切なものはどれか。(原問の UML 図を文章で再構成) 〔モデル〕顧客(顧客番号,請求先,主送付先)1―* 注文(注文番号,受注日,数量)*―1 品目(品目番号,名称)。顧客は付加情報(識別番号,副送付先)を 1―* のコンポジション(全体側が顧客,役割名「注文主」)としてもつ。注文 *―0..1 付加情報(役割名「指定送付先」)。 〔制約1〕“注文”のインスタンスが指定送付先をもつときは,その“付加情報”の注文主と“注文”の顧客は一致すること。 〔制約2〕“注文”のインスタンスが指定送付先をもつときは,当該“注文”の“顧客”の主送付先ではなく,“指定送付先”の副送付先を用いること。

テクノロジ系・一部改変

ア 「指定送付先」を指定する際,「付加情報」表のどの行でも選択できる。

なぜ違う: 制約により対応が縛られるため、どの行でも自由に選べるわけではない。

イ 「付加情報」表と「顧客」表の行数は一致していなければならない。

なぜ違う: 付加情報は注文に 0..1 で対応し、顧客と行数が一致する必然性はない。

ウ 「付加情報」表には「顧客」に対する参照制約を指定する。
エ 「付加情報」表には「注文」に対する参照制約を指定する。

なぜ違う: 注文は付加情報を 0..1 で参照する側で、付加情報側から注文を参照する必要はない(付加情報は顧客の部品)。

正解: ウ

要点: 付加情報は顧客(注文主)のコンポジション部品=付加情報表に顧客への参照制約。

付加情報は顧客をコンポジションの全体(役割名「注文主」)とする部品で、どの顧客の付加情報かを必ず表す必要がある。関係データベースでは「付加情報」表に「顧客」表への参照制約(外部キー)を指定して実装する。注文から付加情報への対応(0..1)は「注文」表側の参照で表せ、制約1により注文の顧客と付加情報の注文主が一致する行だけを指定送付先にできる。イ(行数一致)やア(どの行でも選択)は誤り。

この問題に出てくる用語

関連キーワード: UML・データモデル・参照制約

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和7年度 春期 応用情報技術者試験 午前 問25