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

令和6年度秋期 データベーススペシャリスト 午後Ⅱ 問2

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

問題

問2 車体部品メーカーの資材調達業務の概念データモデリングに関する次の記述を読んで、設問に答えよ。 B社は車体部品メーカーである。B社では、調達システムの再構築を進めており、業務分析を行い、概念データモデル及び関係スキーマを設計した。 〔業務分析の結果〕 1. 社内外の組織に関連する資源 (1) 組織 ① 組織は、部、課、係などの部署を階層化したものである。 ② 組織は、組織コードで識別し、組織名、組織階層レベル、上位組織をもつ。 (2) 倉庫 ① 倉庫は、資材を保管する建屋である。 ② 倉庫は、全国7か所の生産拠点内に併設して7か所ある。 ③ 倉庫は、倉庫コードで識別し、倉庫名、管轄する組織をもつ。 (3) 棚 ① 棚は、倉庫内で資材を保管するための区画である。 ② 棚は、倉庫コードと棚番号で識別し、収納容積をもつ。 (4) 資材メーカー ① 資材メーカーは、資材の調達先企業である。 ② 資材メーカーは、資材メーカーコードで識別し、資材メーカー名をもつ。 2. 品目に関連する資源 (1) 品目分類 ① 品目分類には、金属材料、樹脂材料、薬品類、梱包資材の4種類がある。 ② 品目分類は、品目分類コードで識別し、品目分類名、計量単位をもつ。 (2) 資材 ① 資材は、製品の製造及び梱包に要する材料である。 ② 資材ごとに調達先の資材メーカーは1社に決めている。 ③ 資材は、品目コードで識別し、品目名、資材メーカー、品目分類をもつ。 (3) 金属材料 ① 金属材料は、B社が独自に仕様を定めるアルミ合金の板材である。板材は、巻き上げられたロールになっており、幅及び直径はともに約1メートルである。 ② 金属材料に適用する計量単位はキログラムである。 ③ 金属材料には、計量単位で表す1ロール当たりの規格数量、金属仕様をもつ。 ④ 金属材料のロールごとの実測数量は、規格数量の±1%の範囲でばらついている。納入時に、資材メーカーからロールごとのロール製造番号と実測数量を記した報告書を受領し、金属材料のロール納入の明細を記録する。また、入庫時にもロール製造番号を記録する。 なお、ロール製造番号の番号体系は、B社が資材メーカーに対して指定するので、全ての金属材料を通じて重複しない。 ⑤ 金属材料の資材メーカーからの納入便には、大型のトレーラー車が用いられ12ロールまで積むことができる。納入便の倉庫への納入は、1日に1便であり、12ロールを超える場合の納入は、翌日以降に分割となる。 (4) 樹脂材料 ① 樹脂材料は、ペレットと呼ぶ3~5ミリメートル程度の粒子であり、ナイロン製のバッグに充填されている。 ② 樹脂材料に適用する計量単位は袋である。 ③ 樹脂材料には、樹脂仕様をもつ。 (5) 薬品類 ① 薬品類は、製品の表面処理用の溶剤などであり、瓶又は缶に入っている。 ② 薬品類に適用する計量単位は個である。 ③ 薬品類には、取扱注意事項をもつ。 (6) 梱包資材 ① 梱包資材は、製品を梱包するための特注サイズの段ボール箱であり、数十枚単位にバンド留めされている。 ② 梱包資材に適用する計量単位は枚である。 ③ 梱包資材には、ロゴマークの印刷サイズをもつ。 3. 資材の保管方法 ① 金属材料は、一つの棚に1ロールずつ保管する。 ② 金属材料以外の資材は、一つの棚に1種類の資材を保管する。ただし、保管するときに、同じ種類の資材を保管している棚に空きがあれば、空いているところから保管し、保管し切れない分を次の棚に保管する。 ③ 梱包資材については、購入数量が多大なので、B社の倉庫に保管できない分を資材メーカーに保管してもらう。 4. 在庫数量の把握方法、基準在庫数量の設定 ① 資材の在庫は、倉庫別と棚別の2階層で品目別にもつ。 ② 資材メーカーに保管してもらう梱包資材の残りの保管数量は、納入ごとに資材メーカーに連絡してもらっているので、資材調達業務ではもたない。 ③ 樹脂材料、薬品類、梱包資材は、倉庫ごと品目ごとに基準在庫数量を決めている。 5. 発注の種類 ① 発注には、長期発注、スポット発注、定量発注、保管条件付き発注の4種類があり、発注区分で分類する。 ② 長期発注では、金属材料を対象とし、購入計画に基づいて、複数月にわたって毎月同じ量を納入してもらう。購入計画の9割を長期発注で購入している。 ③ スポット発注では、金属材料を対象とし、長期発注で不足する分を発注する。 ④ 長期発注及びスポット発注が対象とする金属材料の購入単価は、キログラム当たりの価格であり、発注時に決定する。 ⑤ 定量発注では、樹脂材料と薬品類を対象とし、倉庫内の在庫数量が基準在庫数量を下回った時点で一定量を発注する。樹脂材料と薬品類とを併せて定量発注品と呼ぶ。定量発注品では、資材メーカーとの間で次を取り決めている。 ・1回の発注の発注数量を示す購入ロットサイズ(以下、ロットサイズをLSという) ・発注してから倉庫に納入するまでの日数である納入リードタイム(以下、リードタイムをLTという) ・購入LS当たりの購入単価 ⑥ 保管条件付き発注では、梱包資材を対象とし、購入計画に基づいて、1年分相当を一括で発注する。購入単価は発注時に決定する。保管条件付き発注では、資材メーカーとの間で次を取り決めている。 ・1回の納入の納入数量を示す納入LS ・納入依頼してから倉庫に納入するまでの日数である納入LT ⑦ 金属材料、樹脂材料、薬品類は、納入時点でB社の資産となるが、梱包資材は、資材メーカーから製造の完了通知を受けた時点でB社の資産となる。 6. 発注の方法 ① 全ての発注は、発注番号で識別し、発注区分、購買組織、発注年月日をもつ。 ② 長期発注では、品目別に月当たりの納入予定数量、納入開始年月、納入月数を決めている。 ③ スポット発注では、発注ごとに、品目、納入期限年月日、発注数量、納入先倉庫を決めている。 ④ 定量発注では、日次で在庫数量を確認し、在庫数量が基準在庫数量を下回った定量発注品について発注を掛け、納入予定年月日をもつ。 ⑤ 保管条件付き発注は、1年に1回の頻度で行う。保管条件付き発注ごとに資材メーカーとの間で品目、検収予定年月日、購入単価、発注数量、保管期限年月日を決める。資材メーカーからの製造完了の通知を受けて、検収年月日、購入金額を記録する。 7. 納入依頼の方法 (1) 納入依頼の対象業務 ① 納入依頼は、長期発注と保管条件付き発注の場合に行う。 (2) 長期発注に対する納入依頼 ① 納入依頼は、納入開始年月から納入月数分の毎月を対象に、納入先の倉庫、納入依頼数量、納入予定年月日を確定させて、納入予定年月日の2週間前までに行う。 なお、1日当たり納入先の倉庫ごとに、全ての金属材料に対する納入依頼数量の合計は12ロール以内にしている。 ② 納入依頼では、同月内に同じ納入先の倉庫を複数回指定することもある。 ③ 資材メーカーへは、長期発注番号、購入対象年月、月内納入依頼番号を指定して、通知年月日、納入先倉庫、納入予定年月日、納入依頼数量を決めて通知する。 (3) 保管条件付き発注に対する納入依頼 ① 保管条件付き発注の納入では、定量発注と同様に、日次で在庫数量を確認し、在庫数量が基準在庫数量を下回った梱包資材について納入依頼を行う。 ② 納入依頼は発注に対して行い、納入先倉庫、納入依頼年月日をもつ。 8. 納入の方法 (1) 長期発注に対する納入 ① 納入依頼ごとに納入を受ける。 ② 納入ごとに、納入年月日、購入金額(購入単価と納入されたロールごとの実測数量の総和の積)を記録する。 ③ 納入ごとロールごとに、納入の明細を記録する。 (2) スポット発注に対する納入 ① 発注に対する納入は分割され得る。 ② 納入ごとに、納入年月日、購入金額(購入単価と納入されたロールごとの実測数量の総和の積)を記録する。 ③ 納入ごとロールごとに、納入の明細を記録する。 (3) 定量発注に対する納入 ① 資材メーカーが同日に納入できる発注に対してまとめて納入を受ける。 ② 納入に当たっては、発注に対応させた納入明細を納入で括る。 ③ 納入は、定量発注納入番号で識別し、資材メーカー、納入年月日、納入先倉庫を記録する。 (4) 保管条件付き発注に対する納入 ① 納入依頼ごとに納入を受ける。 9. 入庫の方法 ① 納入された資材について、品目分類によって定まる保管方法に基づいて、棚に保管する指示を出す。入庫は納入を受けた当日中に行う。 〔概念データモデルと関係スキーマの設計〕 1. 概念データモデル及び関係スキーマの設計方針 (1) 関係スキーマは第3正規形にし、多対多のリレーションシップは用いない。 (2) リレーションシップが1対1の場合、意味的に後からインスタンスが発生する側に外部キー属性を配置する。 (3) 概念データモデルでは、リレーションシップについて、対応関係にゼロを含むか否かを表す“○”又は“●”は記述しない。 (4) 概念データモデル及び関係スキーマは、マスター及び在庫の領域と、トランザクションの領域を分けて作成し、マスターとトランザクションとの間のリレーションシップは記述しない。 (5) 実体の部分集合が認識できる場合、その部分集合の関係に固有の属性があるときは部分集合をサブタイプとして切り出す。 (6) サブタイプが存在する場合、他のエンティティタイプとのリレーションシップは、スーパータイプ又はいずれかのサブタイプの適切な方との間に設定する。 (7) 関係スキーマの記述において、定義域を表す単語の標準化と簡略化のために、表1に示す単語を略号に置き換えて記述する。 表1 定義域を表す単語の略号への置換え 2. 設計した概念データモデル及び関係スキーマ マスター及び在庫の領域の概念データモデルを図1に、トランザクションの領域の概念データモデルを図2に、マスター及び在庫の領域の関係スキーマを図3に、トランザクションの領域の関係スキーマを図4に示す。 図1 マスター及び在庫の領域の概念データモデル(未完成) 図2 トランザクションの領域の概念データモデル(未完成) 図3 マスター及び在庫の領域の関係スキーマ(未完成) 図4 トランザクションの領域の関係スキーマ(未完成) 解答に当たっては、巻頭の表記ルールに従うこと。また、エンティティタイプ名、関係名、属性名は、本文中の字句を用いて適切な名称とすること。関係スキーマに入れる属性名を答える場合、主キーを表す下線、外部キーを表す破線の下線についても答えること。 設問 次の問いに答えよ。 (1) 図1は、幾つかのリレーションシップが欠落している。欠落しているリレーションシップを補って図を完成させよ。 (2) 図2は、幾つかのリレーションシップが欠落している。欠落しているリレーションシップを補って図を完成させよ。 (3) 図3中の【ア】~【ケ】に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。 (4) 図4中の【コ】~【ヌ】に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。
表1 定義域を表す単語の略号への置換え。定義域を表す単語と略号の対応表。番号は#、年月日はYMD、年月はYM、コードはC、区分はK、単価は@、金額は¥、数量はQに置換する。
表1 定義域を表す単語の略号への置換え。定義域を表す単語と略号の対応表。番号は#、年月日はYMD、年月はYM、コードはC、区分はK、単価は@、金額は¥、数量はQに置換する。
図1 マスター及び在庫の領域の概念データモデル(未完成)。組織、倉庫、棚、資材メーカー、品目分類、資材、定量発注品、各資材サブタイプ、倉庫別在庫、棚別在庫を配置した概念データモデルの未完成図。
図1 マスター及び在庫の領域の概念データモデル(未完成)。組織、倉庫、棚、資材メーカー、品目分類、資材、定量発注品、各資材サブタイプ、倉庫別在庫、棚別在庫を配置した概念データモデルの未完成図。
図2 トランザクションの領域の概念データモデル(未完成)。発注とそのサブタイプ、納入依頼、納入、納入明細、検収、入庫などのトランザクションエンティティを配置した未完成の概念データモデル。
図2 トランザクションの領域の概念データモデル(未完成)。発注とそのサブタイプ、納入依頼、納入、納入明細、検収、入庫などのトランザクションエンティティを配置した未完成の概念データモデル。
図3 マスター及び在庫の領域の関係スキーマ(未完成)。組織、倉庫、棚、資材メーカー、品目分類、資材、資材サブタイプ、倉庫別在庫、棚別在庫の関係スキーマと空欄属性を示す図。
図3 マスター及び在庫の領域の関係スキーマ(未完成)。組織、倉庫、棚、資材メーカー、品目分類、資材、資材サブタイプ、倉庫別在庫、棚別在庫の関係スキーマと空欄属性を示す図。
図4 トランザクションの領域の関係スキーマ(未完成)。発注、発注サブタイプ、納入依頼、納入、納入明細、検収、入庫などの関係スキーマと空欄属性を示す図。
図4 トランザクションの領域の関係スキーマ(未完成)。発注、発注サブタイプ、納入依頼、納入、納入明細、検収、入庫などの関係スキーマと空欄属性を示す図。
解き方のヒントを見る

記述とスキーマの対応を追う

業務の説明に書かれた一つ一つの事実が、モデルやスキーマのどこに表現されているかを照合し、表現されていない事実を見つけ出す姿勢が検討の中心になります。推測で補わず、記述に根拠がある箇所だけを手掛かりにしましょう。

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

この種の問題では、業務の条件として述べられた事柄のうち、モデルやスキーマ上でまだ根拠のない対応関係や項目がどれかを見極めることが焦点です。一つの観点として、記述の根拠と表現の有無の照合に絞って確認しましょう。

視点

概念データモデルは業務上の事実のつながりを、関係スキーマはそれを保持する項目の並びを表すもので、抽象度が異なります。ただしどちらでも、ある事実を表すには、それを記録する場所と、他の事実とつなぐ手段が必要です。業務の記述を一文ずつ区切り、その文が何と何のつながり、または何の性質を述べているかを言い換えてから、既存の表現に対応する箇所があるかを探すと、見落としを減らせます。

確認ポイント

  • 業務の記述の各文が、どの対象同士のつながり、またはどの対象の性質を述べているかを自分の言葉で言い換えたか
  • 言い換えた事実ごとに、モデルやスキーマ上で対応する表現がすでに存在するかを照合したか
  • 補おうとしている内容が記述中の具体的な語句に根拠を持ち、推測や一般常識だけに頼っていないか
正解と解説を見る

解説

車体部品メーカーB社の資材調達業務を題材に、概念データモデルと関係スキーマを完成させる問題です。公式解答例では、資材の中に定量発注品という別の切り口のサブタイプを設け、金属材料ロール納入明細を長期発注・スポット発注の納入明細のスーパータイプとしています。また、保管条件付き発注の納入依頼を検収に従属させ、入庫を定量発注納入明細・保管条件付き発注納入・金属材料ロール納入明細の三つに関連付けています。業務事象の順序と識別の単位を読み解くことが鍵になります。

問題の全体像

B社は、組織・倉庫・棚・資材メーカー・品目分類・資材などのマスターと在庫、そして発注・納入依頼・納入・入庫のトランザクションを持ちます。資材は金属材料・樹脂材料・薬品類・梱包資材に分類され、発注は長期発注・スポット発注・定量発注・保管条件付き発注の4種類です。種類ごとに、納入依頼の有無、分割納入の有無、ロール単位の明細、資産となる時点(梱包資材だけは製造完了の通知時点)が異なります。出題趣旨では、トップダウンにエンティティタイプとリレーションシップを分析する能力と、ボトムアップに関係スキーマを導く能力を問うとしています。採点講評では、全体の正答率は平均的でしたが、資材と定量発注品の間のサブタイプを表すリレーションシップ(設問(1))と、入庫の属性ヌ(設問(4))の正答率が特に低かったとされています。理由は、状況記述に解答へ直結する記述がなかったためと述べられています。採点講評は、エンティティの位置付けと、どの業務事象でどのデータを記録すべきかを見抜く力を評価していると説明しています。

設問2(1)

図1(マスター及び在庫)で補うリレーションシップは、公式解答例では次のとおりです。

①組織の自己参照:組織は階層化され、上位組織を持つためです。

②倉庫から倉庫別在庫、資材から倉庫別在庫(それぞれ1対多):業務分析4①の「在庫は倉庫別と棚別の2階層で品目別にもつ」によります。

③棚から棚別在庫、資材から棚別在庫。

④資材のサブタイプとしての定量発注品と、その下の樹脂材料・薬品類。

最も難しいのは④です。業務分析5⑤では、樹脂材料と薬品類をまとめて定量発注品と呼び、購入LS・納入LT・購入単価を取り決めるとしています。この部分集合に固有の属性があるため、設計方針(5)に従ってサブタイプとして切り出します。公式解答例では、既存の品目分類による4分類とは別の切り口として資材から定量発注品へのサブタイプを設け、さらに定量発注品のサブタイプとして樹脂材料と薬品類を結んでいます。一つのエンティティが、複数の切り口で異なるスーパータイプに属し得ることに注意しましょう。

設問2(2)

図2(トランザクション)で補うリレーションシップは、公式解答例では次のとおりです。

①長期発注から長期発注納入依頼:納入開始年月から納入月数分、毎月依頼し、同月内に複数回もあり得ます。

②スポット発注からスポット発注納入:分割納入があり得ます。

③定量発注と定量発注納入明細の1対1、定量発注納入から定量発注納入明細への1対多:同日に納入できる発注をまとめて納入で括ります。

④保管条件付き発注検収から保管条件付き発注納入依頼:梱包資材は製造完了の通知(検収)の時点でB社の資産となり、その後の在庫補充として納入依頼をするため、発注本体ではなく検収に従属させます。

⑤長期発注納入から長期発注納入明細、スポット発注納入からスポット発注納入明細(ロールごとの明細)。

⑥金属材料ロール納入明細をスーパータイプとし、長期発注納入明細とスポット発注納入明細をサブタイプとする関係:ロール製造番号は全金属材料を通じて重複しないため、共通の識別子になります。

⑦入庫への関係:定量発注納入明細と保管条件付き発注納入からは1対多(棚に保管し切れない分は次の棚へ)、金属材料ロール納入明細からは1対1(一つの棚に1ロール)。

なお、長期発注納入依頼と長期発注納入は、関係スキーマ上、同じ主キーの構成で1対1に対応します(納入依頼ごとに納入を受けるため)。

設問2(3)

図3の空欄は、公式解答例では次のとおりです。

ア:上位組織C(外部キー)。組織の自己参照を表します。

イ:品目名、資材メーカーC、品目分類C(後の二つは外部キー)。

ウ:購入LS、納入LT、購入@。業務分析5⑤の、定量発注品で取り決める3項目です。

エ:規格Q、金属仕様。

オ:樹脂仕様。

カ:取扱注意事項。

キ:印刷サイズ、納入LS、納入LT。業務分析5⑥では、保管条件付き発注の納入LS・納入LTも資材メーカーと取り決めており、対象は梱包資材だけなので梱包資材に持たせます。購入単価は発注時に決めるため、マスターには置きません。

ク:倉庫C、品目C(主キー、かつ各マスターへの外部キー)、基準在庫Q、倉庫別在庫Q。基準在庫数量は、業務分析4③で倉庫ごと品目ごとに決めるためです。

ケ:倉庫C、棚#、品目C(主キー)、棚別在庫Q。

共通属性はサブタイプごとに重複させず、定量発注品や梱包資材など、適切な部分集合に置くのがポイントです。

設問2(4)

図4の空欄は、公式解答例では次のとおりです。

コ:金属資材品目C、月当たり納入予定Q、納入開始YM、納入月数、購入@。長期発注は品目別に決め、単価は発注時に決定します。

サ:金属資材品目C、納入先倉庫C、購入@、納入期限YMD、発注Q。

シ:納入先倉庫C、定量発注品品目C、納入予定YMD。数量と単価は、マスターの購入LSと購入@で決まります。

ス:梱包資材品目C、検収予定YMD、購入@、発注Q、保管期限YMD。

セ:検収YMD、購入¥。

ソ:購入対象YMと月内納入依頼#を主キーに加え、通知YMD、納入先倉庫C、納入予定YMD、納入依頼Q。

タ:保管条件付き発注#、納入先倉庫C、納入依頼YMDで構成する主キー。保管条件付き発注#は検収への外部キーでもあります。

チ:長期発注#、購入対象YM、月内納入依頼#(納入依頼と同じ主キー)、納入YMD、購入¥。

ツ:ロール製造#(主キー)と、長期発注納入への外部キー。

テ:スポット発注#と納入YMDで構成する主キー(1日1便のため)、購入¥。

ト:ロール製造#(主キー)、スポット発注#と納入YMD(外部キー)、ロール明細#。

ナ:定量発注納入#(外部キー)。

ニ:保管条件付き発注#、納入先倉庫C、納入依頼YMD(納入依頼と1対1)。

ヌ:発注#、ロール製造#、納入依頼YMD(外部キー)、入庫Q。

採点講評で正答率が特に低かったとされるヌは、入庫をどの納入に結び付けるかを考える問題です。発注#は全発注を通じて一意なので、定量発注納入明細と保管条件付き発注納入の両方への参照に使えます。これに納入依頼YMDと倉庫Cを組み合わせると、保管条件付き発注納入を特定できます。金属材料はロール製造#で明細を特定し、棚ごとの数量は入庫Qで記録します。

学習のポイント

業務記述の「〜ごとに」「1日1便」「資産となる時点」などの制約から、主キー・外部キー・サブタイプを導く練習をしましょう。特に、問題文に直接書かれていない関係(定量発注品のサブタイプ、入庫の参照先)を、エンティティの位置付けから推論する力が重要です。

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

関連する過去問一覧

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