デスぺR5午後2問1設問1の解釈
業務ルールを列記した①〜④が、概念データモデルに合致するか否かを判定し、合致する業務ルールの番号を全て記入している。
sunakan.icon①〜④のうち、違うものは、「概念データモデルに合致しない」。概念データモデルに「合致する・しない」かで、全文から「合っている・いない」かとかではない
項番1では生産拠点、商品、商品分類
これのリレーションシップに着目して合致するリレーションっぽいことを書けば良い
図1から読み取れる
→生産拠点:商品=1:0...
→商品はFK 拠点# を持つ
→「1つの商品は1つの生産拠点で生産する」or「1つの生産拠点は複数個の商品を生産する」
表3 業務ルール整理表(未完成)
項番1生産拠点、商品、商品分類
❌②1つの生産拠点では1つの商品だけを生産する
図1
→生産拠点:商品=1対多(1:0..)
→1つの生産拠点では1つの商品ではなく、複数の商品が生産されていることがわかる
→ ②は概念データモデルに合致しない
sunakan.icon②が示していることが 1種類の商品だけ ではない点に注意
🟢③商品はいずれか1つの商品分類に分類される
図1
→商品は商品分類C(FK)を持つ
→これだけで ③は合致
→商品分類:商品=1:多(1...)なので、 ③は合致
❌④商品分類は階層構造をもつ
図1
→商品分類:商品分類=1:多という関係がない
→階層構造を持たない
→ ④は合致しない
-------------------
項番2物流拠点、商品、在庫
🟢①在庫を記録するのは物流拠点だけである
図1
→在庫とリレーションを張っているのは物流拠点、商品だけ
→商品は何かのサブタイプではない
→物流拠点は拠点のサブタイプ
→他の拠点のサブタイプは生産拠点がある
→生産拠点から在庫への 直接 の関係はない
→①は合致する
❌②全拠点を集計した商品別在庫の記録をもつ
図1
物流拠点、商品、在庫を見ていく
物流拠点を見る
→物流拠点の属性に商品#がない
→物流拠点は「全拠点を集計した商品別在庫の記録をもたない」
在庫を見る
→在庫のPKは {拠点#, 商品#}
→{拠点#, 商品#}別の記録を持つことにはなるが、拠点を集計した{商品#}別の記録は持たない
→在庫は「全拠点を集計した商品別在庫の記録をもたない」
商品を見る
→商品のPKは{商品#}、FKとして拠点#を持つ
→SQLで集計できるかもしれないが、エンティティが直接集計した商品別在庫を持っているわけではない
→商品は「全拠点を集計した商品別在庫の記録をもたない」
❌③各拠点では全商品について在庫の記録を作成する
図1
拠点は2種類あるけど、まずは物流拠点、商品、在庫とあるため、物流拠点を見る
物流拠点
→物流拠点:在庫=1:多(1:1...)
商品
→商品:在庫=1:多(1:0...)
→0...から在庫の記録がない商品があり得る
→「各拠点では全商品について在庫の記録を作成するわけではない」
🟢④拠点ごと商品ごとに在庫数量、引当済数量を記録する
物流拠点、商品、在庫
図1
在庫を見る
→PK {拠点#, 商品#}
→「在庫数量」「引当済数量」も持っている
→「拠点ごと商品ごとに在庫数量、引当済数量を記録する」
-------------------
項番3:商品、棚、棚別在庫
❌①一つの棚に複数の商品を保管する
図1
→商品:棚別在庫=1:多(1:0...)
→棚別在庫は1つの商品のみ
→棚:棚別在庫=1:1
→一つの棚に商品は一つ
→「一つの棚に複数の商品は保管できない」
🟢②同じ商品を複数の棚に保管することがある
図1
→商品:棚別在庫=1:多(1:0...)
→棚別在庫が外部キーとして{商品#}を持つ
→同じ商品は複数の棚別在庫としてありえる
→棚:棚別在庫=1:1
→「同じ商品を複数の棚に保管することがある」
🟢③同じ棚#を異なる拠点の棚に割り当てることがある
図1
→棚はPK {棚#,拠点#}
→複合主キー
→ {1,2} と {2,2} がOK
→「同じ棚#を異なる拠点の棚に割り当てることがある」
❌④各棚には保管する商品が予め決まっている
図1
→棚は別に商品#を持っていない
→棚:棚別在庫=1:1
→棚別在庫は商品#を持つ(変更可能)
→商品は別に棚#を持っていない
→「各棚には保管する商品が予め決まっていない」
-------------------
項番4:取引先、出荷先、出荷
❌①取引先に該当するのは出荷先だけである
図1
→(△より)出荷先は取引先を継承している
→取引先と出荷先が包含関係
→出荷先に含まれない取引先が存在する可能性がある
→「取引先に該当するのは出荷先だけとは限らない」
❌②請求先には出荷先が一つ決まっている
図1
→出荷先はFK 請求先取引先# を持つ
→請求先エンティティはない
→ただ、複数の出荷先が同じ 請求先取引先# を持つことが可能
→請求先は複数の出荷先を持つことができる
→「請求先には出荷先が複数決まる可能性がある」
🟢③出荷先には請求先が一つ決まっている
図1
→出荷先が請求先取引先#を持っている
→「出荷先には請求先が一つ決まっている」
🟢④請求先と出荷先とが同じになることはない
表2:請求先区分と出荷先区分について
→「請求先区分は取引先が請求先か否か」、「出荷先区分は取引先が出荷先か否か」1つの取引先が両方に該当することもある
→取引先が持つ請求先区分が請求先、出荷先区分が出荷先という状況もありえる
→「請求先と出荷先とが同じになることはある」
-------------------
項番5:入荷、入荷明細、入庫、入庫明細
❌①入荷#ごとに一つの入庫#を記録する
図1
→入庫は別に入荷#を持たない
→入庫明細はFK 入荷# を持つ
→同じ 入荷# を持つ入庫明細がありえる
→入庫明細はPK {拠点#, 入庫#, 入庫明細#} の複合主キー
→入庫明細にて、同じ入荷#を持つが、PKが {1,同じ入荷#,1}と{2,同じ入荷#,2}などがありえる
→「入荷#ごとに複数の入庫#がありえる」
🟢②入庫は入庫の実施単位に拠点#、入庫#で識別する
図1
→入庫はPKとして {拠点#,入庫#} を持つ
→「入庫は入庫の実施単位に拠点#、入庫#で識別する」
※入庫は {拠点#,入庫#} という複合主キーを持つ
→Yes
❌③入荷した商品を入庫せずに出荷することもある
図1
→入荷:入荷明細=1:多(1:1...)
→入荷明細:入庫明細=1:多(1:1...)
→入荷したら絶対入庫明細が残る
→入庫明細:入庫#=多:1(1...:1)
→入庫明細がある=入庫している
→入荷したら入庫明細があり、入庫明細がある=入庫している
→「入荷した商品を必ず入庫している」
🟢④入荷明細を棚に分けて入庫明細に記録する
図1
→入荷明細は棚#を持っていないが、PK {拠点#, 入荷#, 入荷明細#}の複合主キーとある
→入荷は棚っぽいものは持っていない
→入荷明細:入庫明細=1:多(1:1...)
→入庫明細はFK 棚#を持つ
→「入荷明細は棚に分けて入庫明細に記録する」
-------------------
項番6:出荷、出荷明細、出庫、出庫明細
🟢①出庫は出荷と同じ単位で行う
図1
→出庫はFK出荷#を持つ
→「出庫は出荷と同じ単位で行う」
❌②出荷明細には出庫明細との対応を記録する
図1
→出荷明細と出庫明細は互いにリレーションは張ってない
→出荷明細:出荷=多:1(1...:1)で、出庫:出庫明細=1:1...だけど
→出荷:出庫=1:0,1、出荷が必ずしも出庫と結びついてない可能性がある
→「出荷明細には出庫明細との対応があるとは限らない」
🟢③出荷に対応する出庫を記録しない場合がある
図1
→出荷:出庫=1:0,1
→「出荷に対応する出庫を記録しない場合がある」
🟢④商品ごとの出庫数量は出荷数量と異なる場合がある
図1
→商品:出荷明細=1:0...
→商品:出庫明細=1:0...
→出荷明細にある出荷数量と、出庫明細にある出庫数量は一致しないは可能
→「商品ごとの出庫数量は出荷数量と異なる場合がある」
表2
→赤黒区分、訂正元出荷#
→出荷数量を全てマイナスにした取消伝票=赤伝
→後で、赤黒区分で調整されることがわかる
→「商品ごとの出庫数量は出荷数量と異なる場合がある」