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

令和2年度10月 データベーススペシャリスト 午後Ⅱ 問2

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

問題

問2 調達業務及び調達物流業務に関する次の記述を読んで、設問1~3に答えよ。 機械メーカのA社は、調達業務及び調達物流業務のシステム再構築に向けて、業務分析を行い、概念データモデル及び関係スキーマを設計している。 〔現状の業務分析の結果〕 1.品目の特性 (1)品目 ① 品目には、製品、部品、素材がある。品目は品目コードで識別し、品目名、評価額を設定する。部品と素材を併せて部材と呼ぶ。 ・製品は、産業用機械が主で、大型なものから小型なものまである。 ・部品には、切削部や搬送部などと呼ぶ、製品の主要な部位となる大型なものから、組立てに用いる金具やパイプなど小型なものまである。 ・素材には、ロール状の鉄板やアルミ板、金属棒や塗料などがある。 ② 品目には、A社が設計する専用品と、それ以外の汎用品がある。専用品には設計番号を設定し、汎用品には汎用品仕様として、メーカ名、カタログ名、カタログ発行年月、カタログ品番を連結した文字列を設定する。 ③ 製品、部品、素材が、それぞれ専用品と汎用品のいずれに該当するかは次のとおりである。 ・製品の全ては専用品に該当する。 ・部品は、専用品に該当するものと汎用品に該当するものがある。専用品に該当する部品を専用部品、汎用品に該当する部品を汎用部品と呼ぶ。 ・素材の全ては汎用品に該当する。 ④ 専用部品には、その専用部品を輸送するときの個体重量を設定している。 ⑤ 部材には、その部材の在庫をもつときのために、次を設定している。 ・基準在庫数 ・調達する一定の数である調達ロットサイズ(以下、調達LSという) ・調達に要する日数である調達リードタイム(以下、調達LTという) (2)構成 ① 品目のうち、製品と専用部品には、それを生産する上で必要となる下位の品目があり、どの品目を幾つ用いるかの情報を、構成と呼ぶ。 ② 下位の品目の多くは、複数の品目の構成に共通して用いられる。 ③ 製品の構成には、幾つかの専用部品、汎用部品、素材があり得る。 ④ 専用部品の構成にも、幾つかの専用部品、汎用部品、素材があり得る。 ⑤ 専用部品が、その構成に別の専用部品をもつ場合、構成から見て上位を親部品、下位を子部品と呼ぶ。 ⑥ 子部品が、その構成に、更に専用部品をもつことはない。 2.組織の特性 (1)社内の組織 ① A社の調達業務及び調達物流業務に関係する部門は次のとおりである。 ・一つの物流部 ・製品の種類ごとに3部門ある製品生産部 ・部品の種類ごとに5部門ある部品生産部 ② 物流部は、調達手配、輸送手配及び在庫管理を行う。 ③ 物流部は、倉庫を管轄する。倉庫はA社に一つだけある。 ④ 製品生産部は、受注に基づいて、製品の生産に必要な部材の出庫指示を行い、製品を生産する。また、生産ライン数を設定している。 ⑤ 部品生産部は、専用部品の生産指示に基づいて、A社が内製する専用部品を生産する。また、専用部品の生産用に、部材の出庫指示を行う。 (2)社外の組織 ① 部品及び素材を調達する先を調達先と呼び、調達先コードで識別する。 ② 調達先のうち、専用部品を発注する先を協力会社(以下、BPという)と呼び、BPフラグを設定している。 ③ BPが、専用部品の生産に子部品を要する場合、その子部品はA社から支給する。BPへの支給対象の子部品を支給部品とも呼ぶ。 ④ 調達先のうち、汎用品を購入する先を仕入先と呼び、仕入先フラグを設定している。 ⑤ BPでかつ仕入先という調達先を禁じていない。 (3)社内と社外の組織を共通に見る見方 ① 部品生産部とBPを総称して生産先と呼び、生産先コードを付与している。 ② 倉庫とBPを総称して地点と呼び、地点コードを付与している。 (4)組織と品目の関係 ① 汎用品は、その汎用品を調達する仕入先を一つに決めている。 ② 専用部品は、その専用部品を生産する生産先を一つに決めている。 3.物流に関する資源の特性 (1)車両 ① 調達物流に用いるトラックを車両と呼ぶ。 ② 車両は車両番号で識別し、最大積載重量を設定している。 (2)ルート ① A社では、専用部品の調達を、巡回集荷で行っている。巡回集荷とは、車両が幾つかのBPを順に回って集荷するやり方である。 ② 車両が、A社倉庫を出発し、4~8か所のBPを順に回り、再びA社倉庫に戻る単位をルートと呼ぶ。ルートはルート番号で識別し、標準で輸送する車両を設定している。 ③ ルートごとに、車両の出発地点の巡回順を1に、以降の到着する地点の巡回順を2から付与し、到着予定時刻を設定している。 ④ どのルートも、巡回順の最初と最後にA社倉庫を設定し、2番目以降に幾つかのBPを設定している。ルートのイメージを図1に示す。 図1 ルートのイメージ 4.業務のやり方 (1)在庫のもち方 ① 在庫をもつのは、倉庫と支給を行う対象のBPである。 ② 在庫は、地点、品目ごとに把握している。 ③ 倉庫の在庫を倉庫在庫、BPの在庫をBP在庫と呼ぶ。 ④ 倉庫在庫の在庫数は、入出庫の実績から求める。 ⑤ BPでは、在庫の入出庫を記録しないので、在庫数は理論値で、次の入出庫の実績から求める。この在庫数を理論在庫数と呼ぶ。 ・荷卸実績のうち支給部品のBPへの荷卸実績は、支給部品理論入庫実績でもある。 ・親部品の発注に基づいて、BPは構成から求められる子部品を使用数分使うので、その分の支給部品理論出庫実績を記録する。 (2)調達手配のやり方 ① 調達手配は、部材を対象に行い、定量発注で行う。 ② 定量発注とは、在庫数又は理論在庫数が基準在庫数を下回った場合、調達LS分の手配を行うやり方である。 ③ 在庫数が基準在庫数を下回ったかどうかの確認は、毎営業日の営業時間終了時に行う。 ④ 調達手配は物流部が行い、対象には部品生産部が内製する部品も含む。 ⑤ 調達手配は、次のように行う。 ・汎用品は、仕入先に発注する。 ・専用部品でかつ生産先がBPの場合、そのBPに発注する。 ・専用部品でかつ生産先が部品生産部の場合、その部品生産部に生産指示を行う。 ・BPに支給する支給部品は、支給指示を行う。 (3)輸送のやり方 ① 一つの輸送は、荷物をある地点で荷積みして別の地点で荷卸しするまでの単位である。例えば、BPのc社に発注した専用部品の集荷の輸送は、c社で荷積みしてA社倉庫で荷卸しする。 ② 輸送において、荷積みする地点を積地、荷卸しする地点を卸地、それぞれの巡回順を積地巡回順、卸地巡回順と呼ぶ。 ③ 輸送の必要な調達では、該当する調達手配に対応させて、輸送指示を行う。 ④ 輸送指示は輸送番号で識別する。輸送指示には、調達手配の日に調達LTの日数を足した輸送日、積地巡回順及び卸地巡回順を設定する。 ⑤ 輸送指示に基づき、荷積みした時点で荷積時刻の記録を行う。 ⑥ 輸送指示に基づき、荷卸しした時点で荷卸時刻の記録を行う。 5.業務の流れと情報 業務の流れを図2に、業務内容及び業務の流れにおける情報を表1に示す。 図2 業務の流れ 表1 業務内容及び業務の流れにおける情報 〔設計した現状の概念データモデル及び関係スキーマ〕 概念データモデル及び関係スキーマは、マスタ及び在庫の領域と、トランザクションの領域を分けて作成し、マスタとトランザクションの間のリレーションシップは記述しない。マスタ及び在庫領域の概念データモデルを図3に、トランザクション領域の概念データモデルを図4に、マスタ及び在庫領域の関係スキーマを図5に、トランザクション領域の関係スキーマを図6に示す。 図3 マスタ及び在庫領域の概念データモデル(未完成) 図4 トランザクション領域の概念データモデル(未完成) 図5 マスタ及び在庫領域の関係スキーマ(未完成) 図6 トランザクション領域の関係スキーマ(未完成) 〔現状業務の問題と解決策〕 ① 輸送時に荷物が車両の最大積載重量を超えないように、ルートの車両の大きさと巡回する先を設定しているが、まれに最大積載重量を超え、問題となっている。 ② そこで、荷量計算という業務を、次のように追加して問題を解決する。 ・営業時間終了時に、翌営業日分の輸送指示について、ルート別巡回順別に輸送重量の和を求める。 ・求めた輸送重量の和が、車両の最大積載重量を超えていた場合、巡回順と輸送番号の順で、累計輸送重量が最大積載重量を超過した以降の輸送指示に対して、別の車両を割り当て、車両を確定させる。荷量計算のイメージを図7に示す。 図7 荷量計算のイメージ ③ 現状の関係スキーマが、②に示した荷量計算が可能なデータ構造であることを検証するために、関係スキーマ処理フローを作成した。関係スキーマ処理フローの表記法を表2に、検証のために作成した関係スキーマ処理フローを図8に示す。 表2 関係スキーマ処理フローの表記法 図8 検証のために作成した関係スキーマ処理フロー(未完成) 解答に当たっては、巻頭の表記ルールに従うこと。ただし、エンティティタイプ間の対応関係にゼロを含むか否かの表記は必要ない。 なお、次の①~④についても従うこと。 ① リレーションシップの対応関係は1対1又は1対多とし、多対多としないこと。 ② 属性名は意味を識別できる適切な名称とし、他の属性と区別できること。 ③ 識別可能なサブタイプにおいて、他のエンティティタイプとのリレーションシップは、スーパタイプ又はサブタイプのいずれか適切な方との間に記述すること。また、サブタイプ固有の属性がある場合、必ずそのサブタイプの属性とすること。 ④ 関係スキーマ中の属性名を答える場合、対象の関係スキーマは第3正規形を満たし、主キーを表す実線の下線、外部キーを表す破線の下線についても答えること。 設問1 マスタ及び在庫領域の概念データモデル及び関係スキーマについて、(1)、(2)に答えよ。 (1)図3は未完成である。欠落しているリレーションシップを補って、図を完成させよ。 (2)図5中の【ア】~【コ】に、適切な一つ又は複数の属性名を補って、関係スキーマを完成させよ。 設問2 トランザクション領域の概念データモデル及び関係スキーマについて、(1)、(2)に答えよ。 (1)図4は未完成である。欠落しているリレーションシップを補って、図を完成させよ。 (2)図6中の【サ】~【タ】に、適切な一つ又は複数の属性名を補って、関係スキーマを完成させよ。 設問3 〔現状業務の問題と解決策〕について、(1)~(3)に答えよ。 (1)図8中の[a]~[k]に適切な字句を入れて、関係スキーマ処理フローを完成させよ。 (2)(1)の検証ができたので、エンティティタイプ“確定輸送指示”を追加した概念データモデルを設計した。追加したエンティティタイプが関連する範囲の概念データモデルを図9に示す。欠落しているリレーションシップを補って図を完成させよ。 図9 追加したエンティティタイプが関連する範囲の概念データモデル (3)(2)で追加したエンティティタイプ“確定輸送指示”について、関係スキーマを答えよ。
図1 ルートのイメージ。A社倉庫を起点・終点として、b社、c社、d社、e社を巡回するルートと巡回順、BP及び経路の凡例を示す図。
図1 ルートのイメージ。A社倉庫を起点・終点として、b社、c社、d社、e社を巡回するルートと巡回順、BP及び経路の凡例を示す図。
図2 業務の流れ。製品生産、汎用品調達、専用部品調達、支給部品補充支給、輸送の各業務における機能、情報及び物の流れを示す図。
図2 業務の流れ。製品生産、汎用品調達、専用部品調達、支給部品補充支給、輸送の各業務における機能、情報及び物の流れを示す図。
表1 業務内容及び業務の流れにおける情報。各業務の内容、業務の流れにおける情報名及び情報内容を整理した一覧表。
表1 業務内容及び業務の流れにおける情報。各業務の内容、業務の流れにおける情報名及び情報内容を整理した一覧表。
図3 マスタ及び在庫領域の概念データモデル(未完成)。車両、ルート、部門、地点、調達先、品目、在庫、構成などのマスタ及び在庫領域のエンティティタイプを示す未完成モデル。
図3 マスタ及び在庫領域の概念データモデル(未完成)。車両、ルート、部門、地点、調達先、品目、在庫、構成などのマスタ及び在庫領域のエンティティタイプを示す未完成モデル。
図4 トランザクション領域の概念データモデル(未完成)。受注、調達手配、各種発注、生産指示、生産実績、輸送、入出庫実績などのトランザクション領域を示す未完成モデル。
図4 トランザクション領域の概念データモデル(未完成)。受注、調達手配、各種発注、生産指示、生産実績、輸送、入出庫実績などのトランザクション領域を示す未完成モデル。
図5 マスタ及び在庫領域の関係スキーマ(未完成)。マスタ及び在庫領域の各関係スキーマと属性欄を示し、アからコの空欄を含む未完成の関係スキーマ。
図5 マスタ及び在庫領域の関係スキーマ(未完成)。マスタ及び在庫領域の各関係スキーマと属性欄を示し、アからコの空欄を含む未完成の関係スキーマ。
図6 トランザクション領域の関係スキーマ(未完成)。トランザクション領域の各関係スキーマと属性欄を示し、サからタの空欄を含む未完成の関係スキーマ。
図6 トランザクション領域の関係スキーマ(未完成)。トランザクション領域の各関係スキーマと属性欄を示し、サからタの空欄を含む未完成の関係スキーマ。
図7 荷量計算のイメージ。輸送指示を巡回順に集計し、荷積重量、荷卸重量、差引重量及び累計輸送重量を求め、車両を割り当てる処理例。
図7 荷量計算のイメージ。輸送指示を巡回順に集計し、荷積重量、荷卸重量、差引重量及び累計輸送重量を求め、車両を割り当てる処理例。
表2 関係スキーマ処理フローの表記法。EXT、FJOIN、SUM、GEN、TOT、UNIONの処理記号、意味、処理形式及び注記をまとめた表。
表2 関係スキーマ処理フローの表記法。EXT、FJOIN、SUM、GEN、TOT、UNIONの処理記号、意味、処理形式及び注記をまとめた表。
図8 検証のために作成した関係スキーマ処理フロー(未完成)。輸送指示を抽出、集計、結合、和集合、演算、累計する関係スキーマ処理フローの未完成図。
図8 検証のために作成した関係スキーマ処理フロー(未完成)。輸送指示を抽出、集計、結合、和集合、演算、累計する関係スキーマ処理フローの未完成図。
図9 追加したエンティティタイプが関連する範囲の概念データモデル。輸送指示、確定輸送指示、荷積実績の三つのエンティティタイプを配置した概念データモデルの一部。
図9 追加したエンティティタイプが関連する範囲の概念データモデル。輸送指示、確定輸送指示、荷積実績の三つのエンティティタイプを配置した概念データモデルの一部。
解き方のヒントを見る

業務要件の記述とデータ構造の対応確認

この分野では、業務要件に書かれた一つ一つの記述を根拠として、データの構造がその記述と矛盾なく対応しているかを確かめる姿勢が大切です。思い込みや一般的な業務知識ではなく、記述された条件に立ち返って判断しましょう。

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

検討の観点は一つ、「業務要件の記述が、どの単位のものを、どの単位のものと、どの程度結び付けると述べているか」を正確に読み取ることです。記述の主語や数量に関わる言い回しに注意し、自分の解釈を記述と照合してください。

視点

データモデルを補完・検証する学習では、まず業務要件の記述を根拠として押さえます。記述の中で、何が何に対応し、その対応がどの範囲で成り立つかを確かめます。そのうえで、読み取った内容をデータ構造の表現に一つずつ照らし合わせる手順を意識します。記述にない前提を自分で補わないことが、検証の精度を左右します。

確認ポイント

  • 業務要件の該当箇所で、結び付けられている二つの対象がそれぞれ何の単位を指しているかを確認したか
  • その記述が、対応の数や範囲についてどのような言い回しをしているかを読み落としていないか
  • 自分が想定した対応関係が、記述そのものに根拠を持つか、それとも一般的な業務知識からの推測にすぎないかを見直したか
正解と解説を見る

解説

機械メーカA社の調達業務と調達物流業務を題材にした概念データモデリングの問題です。設問1では、品目(専用品と汎用品、部材の区分)と組織(調達先・生産先・地点)の複数の観点によるサブタイプ構造、構成と在庫の参照先を問います。設問2では、調達手配から出庫・入庫・輸送に至るトランザクション間のリレーションシップと外部キーを問います。設問3では、車両の最大積載重量超過を防ぐ荷量計算を関係スキーマ処理フローで検証し、確定輸送指示を追加する設計変更を問います。

問題の全体像

A社は、調達業務と調達物流業務のシステム再構築に向けて、マスタ及び在庫の領域とトランザクションの領域に分けて、概念データモデルと関係スキーマを設計しています。品目は二つの観点で分類されます。一つは製品・部品・素材(部品と素材を併せて部材)の区分、もう一つは専用品・汎用品の区分です。組織も、調達先(BP・仕入先)、生産先(部品生産部・BP)、地点(倉庫・BP)という重なり合う総称で整理されます。後半では、車両の最大積載重量超過という問題を解決するために荷量計算を追加します。まず現状の関係スキーマで荷量計算ができるかを処理フローで検証し、その後、確定輸送指示を追加します。出題趣旨では、①トップダウンにエンティティタイプとリレーションシップを見抜く能力、②ボトムアップに関係スキーマを分析する能力、③問題解決のためにモデルを変更する能力、④変更したモデルを検証する能力を評価するとしています。採点講評では、問2全体の正答率は低かったと述べています。設問1(1)は、調達先と品目のサブタイプの正答率は高かったものの、品目の構成と在庫の対象品目を表すリレーションシップの正答率は低かったとしています。設問2は、トランザクション間のリレーションシップと外部キーの正答率が低く、特に在庫更新につながる部分に不十分な解答が散見されたとしています。設問3は、正答率は高かったものの、(3)について不十分な解答が散見されたとしています。

設問1(1)

本文の総称・分類の記述と、図5の外部キーを突き合わせて考えます。公式解答例で追加されているのは次のとおりです。①地点をスーパタイプとし、倉庫とBPをサブタイプとする(2.(3)②「倉庫とBPを総称して地点」)。②生産先をスーパタイプとし、部品生産部とBPをサブタイプとする(2.(3)①)。③調達先をスーパタイプとし、BPと仕入先をそれぞれ別の三角記号でサブタイプとする。BPでかつ仕入先という調達先を禁じておらず、BPフラグと仕入先フラグを独立に持つため、排他的な一つの分類にはしません。④品目をスーパタイプとし、既存の製品・部材の分類とは別の観点で、専用品と汎用品をサブタイプとする。⑤部材をスーパタイプとし、部品と素材をサブタイプとする。⑥専用品をスーパタイプとし、製品と専用部品をサブタイプとする(製品は全て専用品)。⑦汎用品をスーパタイプとし、汎用部品と素材をサブタイプとする(素材は全て汎用品)。⑧生産先から専用部品へ1対多(専用部品ごとに生産先を一つに決めている)。⑨仕入先から汎用品へ1対多(汎用品ごとに仕入先を一つに決めている)。⑩部材から構成へ1対多(製品と専用部品のどちらの構成でも、下位には専用部品・汎用部品・素材、すなわち部材が来るため)。⑪部材から倉庫在庫へ1対多。⑫専用部品からBP在庫へ1対多(BPの在庫は支給される子部品であり、子部品は専用部品であるため)。採点講評が正答率の低さを指摘しているのは⑩〜⑫です。「品目」ではなく、サブタイプ構造のどのエンティティタイプを参照するのかを見極める必要があります。

設問1(2)(ア)

2.(1)④に「製品生産部は…生産ライン数を設定している」とあります。この属性は製品生産部に固有なので、サブタイプの属性とします。公式解答例は「生産ライン数」です。

設問1(2)(イ)

部品生産部は生産先のサブタイプでもあり、生産先コードが付与されています(2.(3)①)。部門コードで識別される部品生産部を生産先に対応付けるため、公式解答例では外部キー(破線の下線)として「生産先コード」を持たせています。

設問1(2)(ウ)

BPは調達先のサブタイプであると同時に、生産先(2.(3)①)と地点(2.(3)②)のサブタイプでもあります。調達先コードを主キーとするBPから生産先と地点を参照するため、公式解答例では外部キーとして「生産先コード,地点コード」を持たせています。

設問1(2)(エ)

1.(1)②に「専用品には設計番号を設定」とあるので、専用品に固有の属性として、公式解答例は「設計番号」です。

設問1(2)(オ)

1.(1)②から、汎用品には汎用品仕様を設定します。さらに2.(4)①「汎用品は、その汎用品を調達する仕入先を一つに決めている」から、仕入先への外部キーが必要です。仕入先の主キーは調達先コードなので、役割が分かるように名前を付けます。公式解答例は「汎用品仕様,仕入先調達先コード(外部キー)」です。

設問1(2)(カ)

2.(4)②「専用部品は、その専用部品を生産する生産先を一つに決めている」から、生産先への外部キーが必要です。また1.(1)④から、専用部品には個体重量を設定します。公式解答例は「生産先コード(外部キー),個体重量」です。

設問1(2)(キ)

製品構成は、製品とその下位品目の組で識別します。製品の構成には専用部品・汎用部品・素材があり得る(1.(2)③)ので、下位品目は部材です。公式解答例は、主キーの一部(実線の下線)となる「部材品目コード」です。

設問1(2)(ク)

専用部品の構成にも専用部品・汎用部品・素材があり得る(1.(2)④)ので、下位品目は部材です。子部品が構成に専用部品を持たないという制約(1.(2)⑥)があっても、参照先の型は部材のままです。公式解答例は、主キーの一部となる「部材品目コード」です。

設問1(2)(ケ)

調達手配の対象も基準在庫数の設定対象も部材なので(1.(1)⑤、4.(2)①)、倉庫在庫の対象品目は部材です。倉庫地点コードと組み合わせて主キーとし、公式解答例は「部材品目コード」です。

設問1(2)(コ)

BPが在庫を持つのは支給部品(子部品)で、子部品は専用部品です(1.(2)⑤、2.(2)③)。このため、BP在庫の対象品目は専用部品となり、公式解答例は主キーの一部となる「専用部品品目コード」です。

設問2(1)

図2の業務の流れと図6の外部キーから、トランザクションどうしの連鎖を読み取ります。公式解答例で追加されているのは次のとおりです。①調達手配をスーパタイプとし、汎用品発注・専用部品生産指示・専用部品発注・支給指示をサブタイプとする(図6で主キーが調達番号で共通)。②支給指示と輸送指示の1対1(支給部品を支給する輸送指示。輸送指示は外部キーとして調達番号を持つ)。③支給指示と支給部品出庫指示の1対1(外部キーは支給指示調達番号)。④荷卸実績と支給部品理論入庫実績の関係。これは1対1のリレーションシップではなく、サブタイプの関係です。公式解答例の図では、荷卸実績から太線を引き、三角のサブタイプ記号を介して支給部品理論入庫実績につないでいます。つまり、支給部品理論入庫実績を荷卸実績のサブタイプとして下に置く構造です(支給部品理論入庫実績は、既存の入庫実績のサブタイプでもあります)。根拠は4.(1)⑤の「荷卸実績のうち支給部品のBPへの荷卸実績は、支給部品理論入庫実績でもある」という記述で、「〜のうち…は〜でもある」という部分集合の関係を表しています。⑤専用部品生産実績と倉庫入庫実績の1対1(内製した専用部品の倉庫への入庫)。⑥専用部品生産指示から専用部品用出庫指示へ1対多(一つの生産指示に対して、部材ごとの出庫指示)。⑦専用部品発注から支給部品理論出庫実績へ1対多(親部品の発注ごとに、子部品ごとの理論出庫)。⑧出庫指示と倉庫出庫実績の1対1(出庫番号が共通)。採点講評が指摘するとおり、在庫更新につながる入庫・出庫実績とのつながりに特に注意します。

設問2(2)(サ)

輸送指示は、該当する調達手配に対応させて行います(4.(3)③)。専用部品発注と支給指示のどちらにも対応するので、両者に共通するスーパタイプの主キーを参照します。公式解答例は外部キーとしての「調達番号」です。

設問2(2)(シ)

支給部品理論入庫実績は、支給部品のBPへの荷卸実績でもあります。荷卸実績は輸送番号で識別されるので、公式解答例では外部キーとして「輸送番号」を持たせています。

設問2(2)(ス)

製品用出庫指示は、受注に基づいて、製品の生産に必要な部材の出庫を指示するものです(2.(1)④)。公式解答例は、外部キーとなる「受注番号,部材品目コード」です。

設問2(2)(セ)

専用部品用出庫指示は、専用部品の生産指示に基づく部材の出庫指示です(2.(1)⑤、表1 C②)。参照先の役割を示す名前を付け、公式解答例は外部キーとしての「専用部品生産指示調達番号,部材品目コード」です。

設問2(2)(ソ)

支給部品出庫指示は、支給指示に基づく子部品の出庫指示です(図2 D)。品目と支給先は支給指示から分かるので、公式解答例は外部キーの「支給指示調達番号」だけです。

設問2(2)(タ)

4.(1)⑤から、親部品の発注に基づいて、構成から求められる子部品を使用数分だけ使ったものとして記録します。そのため、発注・子部品・数量が必要になります。公式解答例は「専用部品発注調達番号,子部品品目コード(いずれも外部キー),使用数」です。

設問3(1)(a)

荷量計算は、翌営業日分の輸送指示が対象です。EXTの抽出対象属性名に日付を指定し、翌営業日に等しい組を選びます。抽出後の関係からは輸送日が消えていることも手掛かりになります。公式解答例は「輸送日」です。

設問3(1)(b)

荷卸側のフローも、aと同じく翌営業日分に絞ります。公式解答例は「輸送日」です。

設問3(1)(c)

各地点で荷積みされる重量は、そこを積地とする輸送指示の輸送重量の和です。図7の荷積重量がこれに当たります。公式解答例は「輸送重量」です。

設問3(1)(d)

荷積重量はルート別・巡回順別に求めます。荷積側の巡回順は積地巡回順です。公式解答例は「ルート番号,積地巡回順」です。

設問3(1)(e)

荷卸しされる重量も、輸送重量の和として求めます。公式解答例は「輸送重量」です。

設問3(1)(f)

荷卸側は、卸地の巡回順ごとに集計します。公式解答例は「ルート番号,卸地巡回順」です。

設問3(1)(g)

荷積計算と荷卸計算を、同じルートの同じ巡回順どうしで結合します。巡回順1は荷積みだけ、最後の巡回順は荷卸しだけなので、完全外結合を使います。公式解答例では、g〜jは「g=ルート番号,h=ルート番号,i=積地巡回順,j=卸地巡回順」、又は「g=積地巡回順,h=卸地巡回順,i=ルート番号,j=ルート番号」です。gは「ルート番号」(又は「積地巡回順」)です。

設問3(1)(h)

gと対になる荷卸計算側の属性です。公式解答例は「ルート番号」(gを積地巡回順とした場合は「卸地巡回順」)です。

設問3(1)(i)

二つ目の結合条件で、巡回順(又はルート番号)を一致させます。公式解答例は「積地巡回順」(gを積地巡回順とした場合は「ルート番号」)です。

設問3(1)(j)

iと対になる荷卸計算側の属性です。公式解答例は「卸地巡回順」(gを積地巡回順とした場合は「ルート番号」)です。

設問3(1)(k)

差引重量は、その巡回順で車両の積載重量がどれだけ増減したかを表します。図7の例では、巡回順3で4、000−2、000=2、000、巡回順6で0−11、000=−11、000です。完全外結合によって片側がNULLになる組があっても、注記4によりNULLは0に置き換えられるため、そのまま引き算できます。公式解答例は「荷積重量 − 荷卸重量」です。これをTOTで累計すると、累計輸送重量になります。

設問3(2)

確定輸送指示は、荷量計算によって車両を確定させた輸送指示です。輸送指示一つにつき一つ作られます。荷積みは確定した車両で行われるので、荷積実績は確定輸送指示に対応付けます。公式解答例では、輸送指示と確定輸送指示、確定輸送指示と荷積実績を、それぞれ1対1のリレーションシップ(矢印のない線)で結んでいます。

設問3(3)

確定輸送指示は輸送指示と1対1なので、主キーは「輸送番号」(実線の下線)です。加えて、確定した車両を表す車両への外部キーが必要です。ルートの標準車両番号と区別するため、役割を表す名前にします。公式解答例は「確定輸送指示(輸送番号,確定車両番号)」で、確定車両番号には破線の下線を引きます。図7の「別に割り当てる車両番号」も「確定した車両番号」に含まれるので、属性を二つに分ける必要はありません。採点講評では、(3)に不十分な解答が散見されたとし、問題解決のための変更で属性にどのような役割が必要かを洞察してほしいと述べています。

学習のポイント

サブタイプを分類の観点ごとに分けて描くこと、構成・在庫が参照するのはサブタイプ構造のどのエンティティタイプかを見極めること、業務の連鎖を外部キーで表すこと、完全外結合と累計によって検証フローを組み立てること、の四つを重点的に練習してください。

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

関連する過去問一覧

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