DBデータベーススペシャリスト試験 午後Ⅱ

平成29年度春期 データベーススペシャリスト 午後Ⅱ 問2

事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。

問題

問2 販売物流業務の概念データモデリングに関する次の記述を読んで、設問1~3に答えよ。 E社は、自動車用ケミカル製品メーカである。E社では、商品の販売物流システムを再構築することにし、業務分析の結果に基づいて概念データモデル及び関係スキーマを設計した。 〔業務分析の結果〕 1. 自社組織・得意先・商品 (1) 自社組織 E社の販売物流業務に関わる拠点には、工場、物流センタ、営業所の3種類がある。 ① 拠点の種類は拠点種類区分で分類している。拠点は拠点コードで識別し、拠点名を保持している。 ・工場は、3拠点ある。 ・物流センタは、18拠点ある。 ・営業所は、物流センタの配下に、76拠点ある。 ② 工場→物流センタ→営業所の向きに商品が流れるので、個々の拠点から見て上流を上位拠点、下流を下位拠点と呼ぶこともある。 ③ 本社には、幾つかの販売部がある。販売部と営業所を合わせて営業部門と呼び、営業部門コードで識別している。営業部門が、販売部と営業所のどちらに該当するかは、営業部門区分で分類している。 (2) 得意先 E社の得意先は、全国のカー用品店、自動車販売店、中古車店、自動車整備工場、タイヤ店、石油販売店などである。 ① 得意先は、店舗単位に登録し、得意先コードで識別している。 ② 得意先の中には、請求書の送付先を集約させるところがあり、その場合の請求書の送付先を請求得意先と呼ぶ。得意先が請求得意先に該当するか否かは、請求得意先フラグで識別する。請求得意先は、請求書を集約する対象の得意先をもつ。 ③ 得意先には、地域得意先と広域得意先があり、得意先区分で分類している。地域得意先は、店舗が1~数店の規模のところであり、広域得意先は、店舗を全国又は複数都道府県にわたって多数展開しているところである。 ・地域得意先に対する営業は、その地域得意先を受け持つ営業所が担当する。 ・地域得意先に対する納入も、同じ営業所が担当する。 ・広域得意先に対する営業は、いずれかの販売部が担当する。 ・広域得意先に対する納入は、取扱量が大きいので、物流センタから直納する。 ④ 広域得意先の中には、全店又は東日本と西日本のようにまとめて発注してくるところがあり、このような得意先を発注得意先と呼ぶ。得意先が発注得意先に該当するか否かは、発注得意先フラグで識別する。まとめて発注される各広域得意先は、どの発注得意先から発注されるか決められている。 (3) 商品 E社の主な商品は、潤滑剤、整備用ケミカル用品、ガラス塗布剤などである。 ① 商品は、商品コードで識別する。 ② 商品には、販売期間を表す販売開始年月日・販売終了年月日、及び販売価格を設定している。 ③ 商品ごとに生産する工場を決めており、生産する工場の拠点コード、生産ロットサイズを設定している。 ④ 商品には、計画生産品と補充生産品の2種類がある。 ・計画生産品は、需要予測に基づいて計画的な生産を適用する商品である。 ・補充生産品は、下位拠点から上位拠点に対する要求に基づいて生産・補充される商品である。 2. 業務の方式 (1) 得意先への納入 ① 得意先から注文を受けると、在庫を確認し、納入指示を行う。 ② 注文に対して在庫が不足すると、得意先と調整して分納する。分納は、まず納入可能な一部数量の納入指示を行う。不足分は、在庫が補充され次第、納入指示を行う。ただし、同一の得意先からの別の注文に対してまとめて納入指示を行うことはない。 (2) 在庫保管 ① 計画生産品の在庫は、営業所及び物流センタにもたせる。 ② 補充生産品の在庫は、営業所及び物流センタの他に工場にももたせる。 (3) 在庫補充 ① 在庫には、基準在庫数量と補充ロットサイズを設定している。 ② 実在庫数量が基準在庫数量を下回った商品を対象に、1日に1回、下位拠点から上位拠点に対して商品の要求(以下、補充要求という)を行い、上位拠点から下位拠点に商品が補充される。 ③ 補充要求に対して、要求を受けた上位拠点で在庫が不足していた場合、不足した商品を当日の補充対象から外す。翌日以降に、在庫が補充要求を満たした時点で補充を行う。ただし、同一下位拠点からの、別の補充要求をまとめて補充することはない。 (4) 計画生産品の生産・物流 ① 四半期ごとに、販売目標と販売実績から向こう12か月分の需要を予測する。 ② 予測した需要と工場の生産能力から、商品別物流センタ別に、向こう12か月分の入庫数量を決め、月別商品別物流センタ別入庫計画を立てる。このとき、前の四半期の計画は最新の計画に更新する。 ③ 月別商品別物流センタ別入庫計画は、立案時に計画値を設定し、生産入庫時に実績値を累計する。 ④ 工場は、月別商品別物流センタ別入庫計画の計画値に対する実績値の割合が低い商品について、入庫先物流センタを決めて生産し、その都度、生産入庫を行う。 ⑤ 在庫補充の方式は、営業所だけに適用する。 (5) 補充生産品の生産・物流 ① 在庫補充の方式は、在庫をもつ全ての拠点に適用する。 ② 物流センタでは、生産工場別に補充要求を行う。 ③ 工場は、上位拠点がないので、補充要求の代わりに生産要求を行う。 (6) 在庫引当 ① 在庫をもつ拠点では、欠品を防止するために、在庫引当を行う。 ② 在庫引当ができた要求は、その要求分が出庫されるまで引当済数量に累積する。 3. 業務の流れ 業務の流れは、計画生産品と補充生産品で異なる。 (1) 計画生産品の業務 計画生産品の業務には、計画立案、生産、営業所補充、地域得意先納入、広域得意先直納の五つがある。各業務の流れを図1に示す。 図1 計画生産品の各業務の流れ ① 計画立案 ・四半期ごと物流センタごとに、向こう12か月分の需要を予測する。 ・予測した需要と工場の生産能力から、月別商品別物流センタ別入庫計画を立てる。 ② 生産 ・工場は、月別商品別物流センタ別入庫計画の計画値に基づいて、入庫先物流センタを決めて、商品ごとに生産し、配送する。 ・生産では、生産年月日、生産した商品、生産数量、生産した商品の入庫先物流センタを記録する。 ・物流センタは、商品を入庫すると、月別商品別物流センタ別入庫計画の実績値を更新し、入庫の実績を記録する。 ③ 営業所補充 ・営業所は、補充が必要な場合、物流センタに対して補充要求を行う。 ・補充要求では、要求年月日、要求の拠点、要求した商品・数量を記録する。 ・補充出庫では、出庫年月日、実際の出庫数量を記録する。 ・商品を入庫した営業所は、入庫年月日、実際の入庫数量を記録する。 ④ 地域得意先納入 ・営業所は、得意先から注文を受けると、納入指示を行う。 ・注文では、注文年月日、納入先の得意先、注文を受けた商品・数量を記録する。 ・納入指示では、納入指示年月日、納入指示数量を記録する。 ・営業所は、納入指示に基づいて納入を行い、納入の実績を記録する。 ⑤ 広域得意先直納 ・販売部は、得意先から注文を受けると、納入する物流センタを決めて納入指示を行う。 ・注文の記録は、地域得意先納入と同じである。 ・納入指示では、地域得意先納入の記録の他に、納入する物流センタを記録する。 (2) 補充生産品の業務 補充生産品の業務には、営業所補充、地域得意先納入、広域得意先直納、物流センタ補充、生産の五つがある。このうち、営業所補充、地域得意先納入、広域得意先直納は、計画生産品と同一業務なので、ここでは物流センタ補充、生産の業務の流れだけを、図2に示す。 図2 補充生産品の各業務の流れ ① 物流センタ補充 ・物流センタは、補充が必要な場合、工場に対して補充要求を行う。 ・補充要求では、要求年月日、要求元の物流センタ、要求した商品及び要求数量を記録する。 ・工場は、補充要求に対して補充出庫を行う。補充出庫では、出庫年月日、実際の出庫数量を記録する。 ・商品を入庫した物流センタは、入庫の実績を記録する。補充入庫では、入庫年月日、実際の入庫数量を記録する。 ② 生産 ・工場は、補充が必要な場合、生産要求を行う。 ・生産要求では、要求年月日、要求時刻などを記録する。 ・生産要求に基づいて生産し、生産入庫を行う。生産では、生産年月日、生産数量、生産完了時刻を記録する。生産入庫では、実際の入庫数量、入庫完了時刻などを記録する。 ・要求時刻、生産完了時刻、入庫完了時刻は、正確なリードタイムを計測するために記録するものである。 〔概念データモデルと関係スキーマの設計〕 概念データモデル及び関係スキーマの設計を、次の手順及び方針で行った。 (1) はじめに、計画生産品を対象として設計する。 ① 概念データモデルは、マスタ・在庫領域とトランザクション領域を明示して作成する。設計した概念データモデルを図3に、関係スキーマを図4に示す。 ② 認識する必要がないサブタイプは切り出さない。 (2) 次に、補充生産品を対象に設計した場合のデータ構造を検討する。 ① マスタ・在庫領域について、認識すべきサブタイプ、属性を洗い出す。 ② 図2に示した業務の範囲について、分析対象の属性を洗い出し、表1に示すエンティティタイプと属性の対応表を用いて整理する。 ③ 表1に基づいて、図5に示す補充生産品を対象に設計した場合のトランザクション領域の概念データモデルを作成する。 (3) 最後に、上記(1)と(2)で設計したエンティティタイプの共通性を評価し、概念データモデルを統合する。 ① 同じ属性で構成される場合、同一のエンティティタイプとする。 ② 共通でない属性が一方にだけ存在する場合、存在する方のエンティティタイプを他方のサブタイプとする。 ③ 共通でない属性が双方に存在する場合、共通部分をスーパタイプとし、共通でない部分をサブタイプとする。 ④ 概念データモデルを統合することで、統合前のエンティティタイプ名が不適切になることがあるので、適切なエンティティタイプ名を付与する。 図3 計画生産品を対象に設計した概念データモデル(未完成) 図4 計画生産品を対象に設計した関係スキーマ(未完成) 表1 補充生産品を対象に設計したエンティティタイプと属性の対応表(未完成) 図5 補充生産品を対象に設計したトランザクション領域の概念データモデル(未完成) 解答に当たっては、次の7点に従うこと。 ① 巻頭の表記ルールに従う。ただし、エンティティタイプ間の対応関係にゼロを含むか否かの表記は必要ない。 ② エンティティタイプ間のリレーションシップとして「多対多」のリレーションシップを用いない。 ③ エンティティタイプ名及び属性名は、それぞれ意味を識別できる適切な名称とする。 ④ 関係スキーマは第3正規形の条件を満たす。 ⑤ リレーションシップが1対1の場合、意味的に後からインスタンスが発生する側に外部キー属性を配置する。 ⑥ サブタイプ固有の属性が認識可能な場合に、サブタイプを切り出す。 ⑦ サブタイプを切り出した場合、外部キーは、スーパタイプ又はサブタイプのいずれか適切なエンティティタイプに配置し、それに基づいて、リレーションシップも適切なエンティティタイプの間に引く。また、外部キー以外の従属属性についても、適切なエンティティタイプに配置する。 設問1 計画生産品を対象に設計した概念データモデル及び関係スキーマについて、(1)、(2)に答えよ。 (1) 図3には欠落しているリレーションシップがある。マスタ・在庫領域のエンティティタイプについて、マスタ・在庫領域内及びマスタ・在庫領域とトランザクション領域間のリレーションシップを補って、図を完成させよ。 (2) 図4中の【a】~【k】に入れる一つ又は複数の属性名を答えよ。 なお、【a】~【k】に入れる属性が外部キーを構成する場合、外部キーを表す破線の下線を付けること。 設問2 補充生産品を対象に設計したデータ構造について、(1)、(2)に答えよ。 (1) 表1は、太枠で示した部分が未完成である。太枠外の例に倣って表を完成させよ。 (2) 図5中の欠落しているリレーションシップを補って、図を完成させよ。 設問3 計画生産品と補充生産品を統合した概念データモデル及び関係スキーマについて、(1)、(2)に答えよ。 (1) 「補充要求」、「補充要求明細」の統合後の概念データモデルを、図6に示す。また、図6に示した範囲の、統合前・統合後のエンティティタイプの対応を表2にまとめた。統合前のエンティティタイプの属性が、統合後のどのエンティティタイプの属性に対応するか、対応する全ての欄に「○」印を入れ、表を完成させよ。 図6 補充要求,補充要求明細の統合後の概念データモデル 表2 補充要求,補充要求明細の統合前・統合後のエンティティタイプの対応 (2) 「補充生産品生産要求」、「生産」、「生産入庫」の概念データモデルを図7に、関係スキーマを図8に示す。図8中の【ア】~【カ】に入れる一つ又は複数の属性名を答えよ。 なお、【ア】~【カ】に入れる属性が外部キーを構成する場合、外部キーを表す破線の下線を付けること。 図7 補充生産品生産要求,生産,生産入庫の統合後の概念データモデル 図8 補充生産品生産要求,生産,生産入庫の統合後の関係スキーマ
図1 計画生産品の各業務の流れ。計画立案、生産、営業所補充、地域得意先納入、広域得意先直納について、業務と情報の流れを示した図。
図1 計画生産品の各業務の流れ。計画立案、生産、営業所補充、地域得意先納入、広域得意先直納について、業務と情報の流れを示した図。
図2 補充生産品の各業務の流れ。物流センタ補充と生産について、補充要求や生産要求から出庫・入庫までの業務の流れを示した図。
図2 補充生産品の各業務の流れ。物流センタ補充と生産について、補充要求や生産要求から出庫・入庫までの業務の流れを示した図。
図3 計画生産品を対象に設計した概念データモデル(未完成)。マスタ・在庫領域とトランザクション領域に分け、拠点、得意先、商品、注文、補充、生産などのエンティティを示した概念データモデル。
図3 計画生産品を対象に設計した概念データモデル(未完成)。マスタ・在庫領域とトランザクション領域に分け、拠点、得意先、商品、注文、補充、生産などのエンティティを示した概念データモデル。
図4 計画生産品を対象に設計した関係スキーマ(未完成)。計画生産品に関するマスタ・在庫領域及びトランザクション領域の関係スキーマと属性の空欄を示した図。
図4 計画生産品を対象に設計した関係スキーマ(未完成)。計画生産品に関するマスタ・在庫領域及びトランザクション領域の関係スキーマと属性の空欄を示した図。
表1 補充生産品を対象に設計したエンティティタイプと属性の対応表(未完成)。補充要求、補充出庫、補充入庫、生産要求、生産、生産入庫のエンティティタイプと属性の対応を示す未完成の表。
表1 補充生産品を対象に設計したエンティティタイプと属性の対応表(未完成)。補充要求、補充出庫、補充入庫、生産要求、生産、生産入庫のエンティティタイプと属性の対応を示す未完成の表。
図5 補充生産品を対象に設計したトランザクション領域の概念データモデル(未完成)。注文、納入指示、補充要求、補充出庫、補充入庫、生産要求、生産などのトランザクション間の構造を示した図。
図5 補充生産品を対象に設計したトランザクション領域の概念データモデル(未完成)。注文、納入指示、補充要求、補充出庫、補充入庫、生産要求、生産などのトランザクション間の構造を示した図。
図6 補充要求,補充要求明細の統合後の概念データモデル。統合後の補充要求と補充要求明細を中心に、営業所補充要求、物流センタ補充要求及び生産品種別の明細を示した図。
図6 補充要求,補充要求明細の統合後の概念データモデル。統合後の補充要求と補充要求明細を中心に、営業所補充要求、物流センタ補充要求及び生産品種別の明細を示した図。
表2 補充要求,補充要求明細の統合前・統合後のエンティティタイプの対応。計画生産品と補充生産品の統合前エンティティタイプを、統合後の補充要求系エンティティタイプに対応付ける表。
表2 補充要求,補充要求明細の統合前・統合後のエンティティタイプの対応。計画生産品と補充生産品の統合前エンティティタイプを、統合後の補充要求系エンティティタイプに対応付ける表。
図7 補充生産品生産要求,生産,生産入庫の統合後の概念データモデル。生産をスーパタイプとし、補充生産品生産要求、補充生産品生産、計画生産品生産、補充生産品生産入庫を示した統合後モデル。
図7 補充生産品生産要求,生産,生産入庫の統合後の概念データモデル。生産をスーパタイプとし、補充生産品生産要求、補充生産品生産、計画生産品生産、補充生産品生産入庫を示した統合後モデル。
図8 補充生産品生産要求,生産,生産入庫の統合後の関係スキーマ。補充生産品生産要求、生産、生産入庫及び各サブタイプの関係スキーマと属性空欄を示した図。
図8 補充生産品生産要求,生産,生産入庫の統合後の関係スキーマ。補充生産品生産要求、生産、生産入庫及び各サブタイプの関係スキーマと属性空欄を示した図。
解き方のヒントを見る

業務記述とモデル要素の対応を確かめる

データモデルやスキーマに関する設問では、記号や見た目の形だけで判断すると誤りやすくなります。本文に書かれた業務上の決まりごとを根拠として拾い出し、それがモデル側のどこに反映されているかを一つずつ照らし合わせる姿勢が検討の土台になります。

この問題で問われていること

この種の設問で問われやすいのは、業務の説明から読み取れる事実と、モデルやスキーマとして表現された内容とが食い違っていないかという点です。自分の知識で補わず、記述に根拠があるかを基準に判断してください。

視点

概念データモデルは業務の事実や規則を抽象化して表したもので、関係スキーマはそれを表の構造として具体化したものです。両者を行き来するときは、ある規則がどの段階で、どの要素として表現されるのかを意識します。統合や変更の場面では、元の業務記述が持っていた意味が失われたり変わったりしていないかを確かめることが基本になります。

確認ポイント

  • 業務記述の中から、業務上の決まりごとを示す語句を漏れなく拾い出して整理したか
  • 拾い出した決まりごとが、モデルやスキーマのどの要素に対応するのかを自分の言葉で説明できるか
  • 記述に根拠のない前提を、一般的な業務知識や思い込みで補って判断していないか
正解と解説を見る

解説

E社の販売物流業務を題材に、①計画生産品の概念データモデルでリレーションシップと属性を補う、②補充生産品のトランザクションを属性対応表からボトムアップに組み立てる、③二つのモデルを統合ルールに従ってスーパタイプとサブタイプにまとめる、という3段階の問題です。拠点・営業部門・得意先の多重の階層、分納や分割補充によって生じる1対多、補充生産品に固有の時刻属性が、正解を導く手がかりになります。

問題の全体像

自動車用ケミカル製品メーカのE社が販売物流システムを再構築する事例です。拠点(工場・物流センタ・営業所)、営業部門(販売部・営業所)、得意先(地域・広域、請求得意先、発注得意先)という階層があります。商品には、需要予測に基づく計画生産品と、下位拠点からの要求に基づく補充生産品の2種類があり、業務の流れが異なります。出題趣旨では、①トップダウンにエンティティタイプとリレーションシップを見抜く能力、②ボトムアップにエンティティタイプと関係スキーマを分析する能力、③類似しているが異なる業務のモデルを統合する能力を評価するとしています。設問1が①、設問2が②、設問3が③に対応します。採点講評では、全体として正答率は高かったものの、スーパタイプとサブタイプの間のリレーションシップ、外部キーの参照先、トランザクション間のリレーションシップ、統合後の属性名で誤りが散見されたと指摘しています。

設問1(1)

公式解答例で太線で追加されているリレーションシップは、次の3種類に整理できます。(A)サブタイプの関係:拠点のサブタイプとしての工場・物流センタ・営業所(拠点種類区分で分類)、営業部門のサブタイプとしての販売部・営業所(営業部門区分で分類)、得意先のサブタイプとしての請求得意先(請求得意先フラグで識別)、広域得意先のサブタイプとしての発注得意先(発注得意先フラグで識別)です。営業所は、拠点と営業部門の両方のサブタイプになります。(B)マスタ・在庫領域内の1対多:請求得意先→得意先(請求得意先は請求書を集約する対象の得意先をもつ)、発注得意先→広域得意先(各広域得意先は、どの発注得意先から発注されるか決められている)、営業所→地域得意先(地域得意先はそれを受け持つ営業所が担当する)です。(C)マスタ・在庫領域からトランザクション領域への1対多:物流センタ→月別商品別物流センタ別入庫計画、地域得意先→地域得意先注文、広域得意先→広域得意先注文、物流センタ→広域得意先納入指示、営業所→補充要求、物流センタ→生産です。これらは図4の属性と照合すると確かめられます。破線下線付きで印刷されている担当営業所拠点コード(地域得意先)と地域得意先コード(地域得意先注文)、入庫計画の主キーの一部として実線下線で示されている物流センタ拠点コードに加え、空欄c・dの区分・フラグ、dの請求得意先コード、eの発注得意先コード、bの営業所営業部門コード、h~kの外部キーがそれぞれの根拠になります。一方、図3に最初から描かれている物流センタ→営業所、販売部→広域得意先、工場→商品は、それぞれbの物流センタ拠点コード、eの担当販売部営業部門コード、fの生産工場拠点コードに対応します。これらは追加するリレーションシップではありません。採点講評では、サブタイプとスーパタイプの間に存在するリレーションシップ(請求得意先→得意先、発注得意先→広域得意先のような関係)を解答できていないものが散見されたと指摘されています。

設問1(2)(a)

公式解答例は「拠点名,拠点種類区分」です。1.(1)①の「拠点の種類は拠点種類区分で分類している。拠点は拠点コードで識別し,拠点名を保持している」に着目します。拠点種類区分は、工場・物流センタ・営業所のどのサブタイプに当たるかを示す区分です。どちらも外部キーではないため、破線の下線は付けません。

設問1(2)(b)

公式解答例は「営業所営業部門コード,物流センタ拠点コード」で、どちらも外部キーです。営業所は拠点のサブタイプとして拠点コードで識別されますが、同時に営業部門のサブタイプでもあります。そのため、営業部門と対応付ける外部キー(営業所営業部門コード)が必要です。これは設問1(1)で追加した営業部門のサブタイプ関係に対応します。また、1.(1)①に「営業所は,物流センタの配下に」あるとあり、図3にも物流センタ→営業所の1対多が最初から描かれています。この関係を表すのが外部キーの物流センタ拠点コードです。

設問1(2)(c)

公式解答例は「営業部門区分」です。1.(1)③に「営業部門が,販売部と営業所のどちらに該当するかは,営業部門区分で分類している」とあり、これはサブタイプを判別するための属性です。外部キーではありません。

設問1(2)(d)

公式解答例は「得意先区分,請求得意先フラグ,請求得意先コード」で、請求得意先コードだけが外部キーです。得意先区分は地域得意先と広域得意先を分類する区分(1.(2)③)、請求得意先フラグは請求得意先に該当するかどうかの識別(1.(2)②)です。請求書の送付先の集約は地域・広域を問わず得意先全般に関わるため、スーパタイプの得意先が、参照先の請求得意先コードを外部キーとして持ちます。これは設問1(1)で追加した請求得意先→得意先の1対多に対応します。

設問1(2)(e)

公式解答例は「発注得意先コード,担当販売部営業部門コード」で、どちらも外部キーです。まとめて発注されるのは広域得意先だけなので(1.(2)④)、発注得意先を参照する外部キーは得意先ではなく広域得意先に置きます。これは設問1(1)で追加した発注得意先→広域得意先に対応します。また「広域得意先に対する営業は,いずれかの販売部が担当する」ため、販売部の主キー(営業部門コード)を参照する担当販売部営業部門コードを持ちます。こちらは図3に最初からある販売部→広域得意先の矢印に対応します。採点講評が指摘する「参照先のエンティティタイプの特定」が問われる箇所です。

設問1(2)(f)

公式解答例は「生産工場拠点コード」で、外部キーです。1.(3)③の「商品ごとに生産する工場を決めており,生産する工場の拠点コード…を設定している」に着目します。参照先は拠点全体ではなく工場なので、それが分かる名称にします。図3に最初からある工場→商品の矢印に対応します。

設問1(2)(g)

公式解答例は「基準在庫数量,補充ロットサイズ,実在庫数量,引当済数量」です。2.(3)①の「在庫には,基準在庫数量と補充ロットサイズを設定」、2.(3)②の「実在庫数量が基準在庫数量を下回った商品」、2.(6)②の「引当済数量に累積する」から、在庫(拠点コード、商品コード)ごとに持つ値を拾い出します。いずれも外部キーではありません。

設問1(2)(h)

公式解答例は「広域得意先コード」で、外部キーです。地域得意先注文が地域得意先コードを持つのと同じ構造で、広域得意先注文は広域得意先を参照します。設問1(1)で追加した広域得意先→広域得意先注文に対応します。

設問1(2)(i)

公式解答例は「納入元物流センタ拠点コード」で、外部キーです。3.(1)⑤に、広域得意先直納の納入指示では「地域得意先納入の記録の他に,納入する物流センタを記録する」とあります。この広域得意先直納に固有の属性があるため広域得意先納入指示がサブタイプになり、物流センタ→広域得意先納入指示のリレーションシップが生じます。

設問1(2)(j)

公式解答例は「要求元営業所拠点コード」で、外部キーです。3.(1)③では補充要求で「要求元の拠点」を記録します。2.(4)⑤に計画生産品では「在庫補充の方式は,営業所だけに適用する」とあるので、要求元は営業所に限られます。したがって参照先は営業所で、営業所→補充要求に対応します。

設問1(2)(k)

公式解答例は「入庫先物流センタ拠点コード」で、外部キーです。3.(1)②の「生産では,…生産した商品の入庫先物流センタを記録する」に着目します。物流センタ→生産のリレーションシップに対応します。

設問2(1)

公式解答例では、太枠内を次のように埋めています。物流センタ補充要求:補充要求番号KF、物流センタ拠点コードAF(営業所補充要求の例に倣う)。補充要求明細:補充要求番号KF、補充要求明細番号K、補充要求数量A、補充生産品商品コードAF。補充出庫:補充要求番号AF、補充番号K、補充出庫年月日A。補充出庫明細:補充要求番号AF、補充要求明細番号AF、補充番号KF、補充明細番号K、補充出庫数量A。補充入庫:補充番号KF、補充入庫年月日A。補充入庫明細:補充番号KF、補充明細番号KF、補充入庫数量A。考え方は次のとおりです。在庫不足の商品は当日の補充対象から外されて翌日以降に補充され(2.(3)③)、別の補充要求をまとめることはないため、補充出庫は一つの補充要求を外部キーで参照し、補充出庫明細は一つの補充要求明細を参照します。補充入庫と補充入庫明細は、対応する補充出庫と補充出庫明細の主キー(補充番号、補充明細番号)をそのまま主キーとして引き継ぎます。

設問2(2)

公式解答例で追加されているのは、トランザクション間の先行後続関係です。①注文→納入指示、注文明細→納入指示明細:分納があるため1対多です(2.(1)②)。②補充要求→補充出庫:一つの要求の明細が日を分けて補充されうるため1対多です。③補充出庫→補充出庫明細、補充入庫→補充入庫明細:ヘッダと明細の1対多です。④補充出庫―補充入庫、補充出庫明細―補充入庫明細:出庫した分を入庫するので1対1です。⑤補充要求明細―補充出庫明細:不足した商品は当日の対象から外して後日まとめて補充するので、公式解答例では1対1の線で表されています。1対1のときは、後から発生する側(補充出庫明細、補充入庫側)に外部キーを置くという設問2(1)の配置と整合しています。採点講評では、トランザクション間のリレーションシップを解答できていないものが散見されたとし、連鎖する業務イベントの先行後続を注意深く読み取るよう求めています。

設問3(1)

公式解答例では、〇を次のように付けています。統合後の補充要求:計画生産品の補充要求と補充生産品の補充要求。営業所補充要求:計画生産品の補充要求と補充生産品の営業所補充要求。物流センタ補充要求:補充生産品の物流センタ補充要求。補充要求明細:計画生産品の補充要求明細と補充生産品の補充要求明細。計画生産品補充要求明細:計画生産品の補充要求明細。補充生産品補充要求明細:補充生産品の補充要求明細。計画生産品の補充要求(補充要求番号、補充要求年月日、要求元営業所拠点コード)は、共通部分が統合後の補充要求に、営業所に固有の部分が営業所補充要求に対応するため、2か所に〇が付きます。補充要求明細は、番号と数量が共通でスーパタイプに入ります。一方、参照する商品の外部キーは、計画生産品側が商品コード、補充生産品側が補充生産品商品コードで、双方に共通でない属性があります。そのため統合ルール③により、共通部分のスーパタイプと、二つのサブタイプに分けて対応付けます。

設問3(2)(ア)

公式解答例は「生産要求年月日,生産要求時刻,補充生産品商品コード,生産要求数量」で、補充生産品商品コードが外部キーです。表1の生産要求の列にある属性(K以外)をそのまま移します。生産要求は補充生産品だけにあるため、統合後は補充生産品生産要求になります。

設問3(2)(イ)

公式解答例は「生産年月日,生産数量」です。計画生産品の生産(図4)と補充生産品の生産(表1)に共通する属性なので、スーパタイプの生産に置きます(統合ルール③)。

設問3(2)(ウ)

公式解答例は「生産完了時刻」です。3.(2)②で、リードタイム計測のために補充生産品の生産でだけ記録される属性なので、サブタイプの補充生産品生産に置きます。図7では、補充生産品生産は補充生産品生産要求と1対1で結ばれ、どちらも生産番号で識別されます。補充生産品生産要求がすでに補充生産品商品コードを持つので、同じ生産番号をキーとする補充生産品生産に商品コードを重ねて持たせると、同じ事実を二重に持つ冗長な構造になります。これは正規形の違反ではなく、同じキーを持つ関係どうしの冗長性の問題です。公式解答例でも、補充生産品生産に商品コードは含まれていません。

設問3(2)(エ)

公式解答例は「商品コード,入庫先物流センタ拠点コード」で、どちらも外部キーです。図4の計画生産品の生産にあり、補充生産品の生産にはない属性です。計画生産品は、工場が生産の都度、入庫先物流センタを決めて入庫するので入庫先を持ちます。これに対して補充生産品は、工場自身が生産入庫を行います(図2)。補充生産品の生産にも固有の属性(生産完了時刻)があるので、共通でない属性が双方に存在する統合ルール③の形になり、計画生産品生産もサブタイプになります。

設問3(2)(オ)

公式解答例は「生産入庫年月日,生産入庫数量」です。計画生産品の生産入庫(図4)と補充生産品の生産入庫(表1)に共通する属性なので、スーパタイプの生産入庫に置きます。

設問3(2)(カ)

公式解答例は「入庫完了時刻」です。補充生産品の生産入庫にだけある属性です。計画生産品側には固有の属性がないので、統合ルール②により、補充生産品の側だけをサブタイプ(補充生産品生産入庫)として切り出します。図7で、生産入庫のサブタイプが一つだけ描かれているのはこのためです。採点講評では、統合後の関係スキーマの属性名を解答できていないものが散見されたが、注意深く状況を読めば分かるはずだと述べています。

学習のポイント

区分・フラグからサブタイプを見抜くこと、スーパタイプとサブタイプの間にある1対多に気付くこと、1対1と1対多を業務ルールから判定すること、統合ルールに従って属性を振り分けることが学習の重点です。

出典:独立行政法人 情報処理推進機構(IPA)平成29年度春期 データベーススペシャリスト試験 午後Ⅱ 問2(公式資料:問題冊子(PDF) / 解答例 / 採点講評)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針