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

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

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

問題

問2 受注、製造指図、発注、入荷業務の概念データモデリングに関する次の記述を読んで、設問に答えよ。 E社は、製菓ラインのメーカである。E社では、システムを再構築することになり、業務分析の結果に基づいて概念データモデル及び関係スキーマを設計した。 〔業務分析の結果〕 1. 業務の全体像 (1)製菓ラインを稼働させるために必要なユニット、すり合せ部品、ソフトウェア、及びユニットの設置・試運転を設計、調達、製造し、提供している。 ① ユニットとは、製菓ラインにおける主要な設備のことであり、混合ユニット、成型ユニット、焼成ユニットなどがある。自社で設計・製造するユニットのことを内製ユニットといい、他社から仕入れるユニットのことを購買ユニットという。 ② すり合せ部品とは、ユニットを工場に設置する際に、ユニット同士の接続、及び工場の建屋・既存設備とユニットの接続に使用される部品のことである。 ③ ソフトウェアとは、製菓ライン全体をコントロールするプログラムのことである。 (2)ユニットを構成する部品(以下、構成部品という)は、全て他社から仕入れている。構成部品を幾つか組み合わせたものを、中間仕掛品という。 2. 自社の組織 (1)部門は、部門コードで識別する。部門は階層構造であり、下位の部門は上位の一つの部門に所属する。 (2)社員は、社員コードで識別する。社員は一つの部門に所属する。 3. 取引先 (1)取引先とは、E社の取引相手である。 (2)取引先は、取引先コードで識別し、取引先名、取引先住所などを記録する。取引先の単位は、取引先企業の中の取引を行う部門の単位である。 (3)取引先には、販売相手の得意先と、購買相手の仕入先がある。取引先が得意先と仕入先のどちらに該当するかは、取引先区分で分類している。得意先と仕入先の両方に該当する取引先は存在しない。 (4)得意先には、契約先と出荷先がある。契約先とは、販売に関して契約を交わす部門であり、出荷先とは、販売した製菓ラインを納める部門である。契約先は契約先フラグで識別し、出荷先は出荷先フラグで識別する。一つの得意先が契約先と出荷先を兼ねることもある。 4. 品目・在庫 (1)品目 ① 品目とは、E社が提供する製品及びサービスのことであり、品目コードで識別する。品目には、全体設計、ユニット、中間仕掛品、構成部品、すり合せ部品、ソフトウェア、設置・試運転がある。 ② 品目には、受注品目(得意先から受注する品目)、投入品目(製造に必要な品目)、製造品目(自社で製造する品目)、発注品目(仕入先に発注する品目)がある。 ③ 製造品目ごとに、どの投入品目が幾つ必要なのかをまとめたものを、品目構成という。 ④ 発注品目ごとに、仕入先が一つ決まっている。 (2)在庫 ① 投入品目である中間仕掛品と構成部品は在庫をもつ。 ② 在庫は、品目コードごとに、実在庫数量、引当済在庫数量、利用可能在庫数量、発注済未入荷数量を記録する。引当とは、品目の利用予約のことである。 5. 業務の内容 (1)商談 ① 技術営業社員は、契約先から引合を受け、商談を行う。 ② 商談は、商談#(以下、#を番号の意味で用いる)で識別し、案件名、案件内容、商談年月日、商談相手の契約先、商談を担当する技術営業社員を記録する。 (2)受注 ① 商談の結果、契約先から注文があった場合に受注となる。受注を担当するのは、商談を担当した技術営業社員である。1件の商談で複数の受注が発生することもある。 ② 受注に当たって、商談段階から行っていた全体設計を確定し、必要なユニット、すり合せ部品、ソフトウェア、設置・試運転を明確にする。 ・ユニットについては、品目として登録されていなければ登録する。 ・全体設計、すり合せ部品、設置・試運転については、受注ごとに固有なので、この時点で品目として登録する。 ・ソフトウェアについては、詳細仕様が異なっていても基本仕様が同じであれば、同じ品目とみなす。品目として登録されていなければ登録する。 ③ 受注は、受注#で識別し、出荷先、受注年月日を記録する。また、どの商談に対する受注かが分かるように商談#を記録する。 ④ 受注明細は、受注#と受注明細#で識別し、受注品目コード、受注数量、受注単価、受注金額、出荷予定年月日、納入予定年月日を記録する。 ⑤ 受注明細には、次の分類がある。 ・全体設計受注明細 ・ユニット受注明細 ・すり合せ部品受注明細 ・ソフトウェア受注明細 ・設置・試運転受注明細 (i)全体設計受注明細には、全体設計内容を記録する。 (ii)ユニット受注明細には、ユニットが製菓ラインの何番目で使われるのかを表す工程順を記録する。内製ユニットの場合は受注明細を基に製造を指図する。購買ユニットの場合は仕入先に発注する。 (iii)すり合せ部品受注明細には、すり合せ箇所(すり合せ部品が利用される箇所)を記録しておく。 ・すり合せ部品の設計は、受注を担当した技術営業社員が行う。 ・すり合せ部品設計は、設計#で識別する。すり合せ部品受注明細ごとに、設計#を一つ割り振る。 ・すり合せ部品設計には、汎用品を使うか専用品が必要かを区別する専汎区分を記録する。汎用すり合せ部品を使う場合は仕入先に発注し、専用すり合せ部品が必要な場合は製造を指図する。 (iv)ソフトウェア受注明細には、詳細仕様を記録する。同じ品目であっても、製造部門の要員状況に応じて、製造を指図するか、仕入先に発注するかを決める。 (v)設置・試運転受注明細には、開始予定年月日、終了予定年月日を記録しておく。 ・設置・試運転受注明細を基に設置・試運転指示を行う。複数の指示に分かれることもある。 ・設置・試運転指示は、設置・試運転指示#で識別し、指示年月日を記録する。 (3)所要量展開 所要量展開とは、製造品目に必要な投入品目とその数量を、品目構成に基づいて求めることである。所要量展開は次のように行う。 ① 内製ユニットに必要な中間仕掛品及び直下の構成部品とその数量を求め、在庫があればある分だけ引き当てる。 ② 中間仕掛品の在庫が不足する場合、中間仕掛品を製造する必要があるので、中間仕掛品に必要な構成部品とその数量を求め、在庫があればある分だけ引き当てる。 ③ 所要量展開の結果は、受注#、受注明細#、所要量明細#の組合せで識別し、必要品目、必要数量、引当済数量を記録する。 ④ 在庫引当後、中間仕掛品が不足する場合には、後述する製造指図を行い、構成部品が不足する場合には、後述する発注を行う。 ⑤ ユニット受注と引当結果の判断は、表1の決定表に従って行う。 表1 ユニット受注と引当結果の判断の決定表(未完成) (4)製造指図 ① 何を、幾つ製造するかを指図する。製造指図は製造#で識別し、製造指図年月日を記録する。 ② 製造指図には、次の分類がある。 ・ユニット製造指図 ・すり合せ部品製造指図 ・ソフトウェア製造指図 ・中間仕掛品見込製造指図 ・中間仕掛品製造指図 (i)ユニット製造指図は、受注明細の受注数量がそのまま製造指図数量となる。 (ii)すり合せ部品製造指図は、受注明細の受注数量がそのまま製造指図数量となる。どのすり合せ部品設計に基づくのかの設計#を記録する。 (iii)ソフトウェア製造指図は、受注明細の受注数量がそのまま製造指図数量となる。納品方法を記録する。 (iv)中間仕掛品について、“製造リードタイムが長い”,“構成部品の発注ロットサイズが大きい”などの条件に該当する場合、製造部門の判断で製造を指図し、在庫をもつ場合がある。これを中間仕掛品見込製造指図と呼ぶ。製造部門が、製造する品目、製造指図数量、優先度を決定し、記録する。 (v)中間仕掛品製造指図は、1日分の所要量展開の結果を基に行い、対象の所要量展開の結果に同じ品目が複数件ある場合には、1件の製造指図にまとめる。品目、製造指図数量を記録する。所要量展開には、どの製造指図にまとめられたかの製造#を記録する。 (5)発注 ① 仕入先に対して、発注品目を発注する。発注は発注#で識別し、発注年月日を記録する。 ② 発注には、次の分類がある。 ・ユニット発注 ・すり合せ部品発注 ・ソフトウェア発注 ・構成部品定量発注 ・構成部品都度発注 (i)ユニット発注は、受注明細の受注数量がそのまま発注数量となる。仕入先から出荷先に、直接納入するかどうかの直納区分を記録する。 (ii)すり合せ部品発注は、受注明細の受注数量を基に発注ロットサイズを加味して、発注数量を決定する。どのすり合せ部品設計に基づくのかの設計#を記録する。 (iii)ソフトウェア発注は、受注明細の受注数量がそのまま発注数量となる。瑕疵担保期間を記録する。 (iv)一定量の在庫をもつ方針の構成部品については、構成部品定量発注を行う。品目ごとの実在庫数量が発注点を下回ったときに、定められた数量を発注する。品目、発注数量、発注時在庫数量を記録する。 (v)一定量の在庫をもたず、都度発注する方針の構成部品については、構成部品都度発注を行う。1日分の所要量展開の結果を基に発注ロットサイズを加味して、発注数量を決定する。対象となる所要量展開に同じ品目が複数件ある場合は、1件にまとめて発注する。品目、発注数量、希望納入年月日を記録する。所要量展開には、どの発注にまとめられたかの発注#を記録する。 (6)入荷 ① 発注に基づいて、仕入先から品目が入荷される。入荷は、入荷#で識別し、入荷年月日、入荷数量、どの発注に該当する入荷であるかを記録する。 ② 1件の発注において、仕入先の在庫不足などで、数量の一部だけが入荷され、入荷が分割される場合がある。ただし、複数の発注が1件の入荷にまとめられることはない。 〔概念データモデルと関係スキーマの設計〕 1. 概念データモデル及び関係スキーマの設計方針 概念データモデル及び関係スキーマの設計は、次の方針に基づいて行う。 (1)関係スキーマは、第3正規形にする。 (2)リレーションシップが1対1の場合、意味的に後からインスタンスが発生する側に外部キー属性を配置する。 (3)概念データモデルでは、リレーションシップについて、対応関係にゼロを含むか否かを表す“○”又は“●”は記述しない。 (4)認識可能なサブタイプにおいて、そのサブタイプ固有の属性がある場合、必ずそのサブタイプの属性とする。 (5)受注明細、製造指図、発注については、サブタイプを認識し、サブタイプ間のリレーションシップを明確にする。 (6)サブタイプが存在する場合、他のエンティティタイプとのリレーションシップは、スーパタイプ又はサブタイプのいずれか適切な方との間に設定する。 (7)関係スキーマは、概念データモデルで認識したサブタイプを含めたエンティティタイプごとに設計する。 2. 設計した概念データモデル及び関係スキーマ 設計に当たり、品目のサブタイプを整理するために、各品目とサブタイプの対応関係を表2にまとめた。 表2 各品目とサブタイプの対応関係(未完成) 概念データモデル及び関係スキーマの設計方針に基づいて作成した、概念データモデルを図1に、関係スキーマを図2に示す。 図1 概念データモデル(未完成) 図2 関係スキーマ(未完成) 解答に当たっては、巻頭の表記ルールに従うこと。 なお、エンティティタイプ名及び属性名は、それぞれ意味を識別できる適切な名称とすること。 設問 次の(1)~(4)に答えよ。 (1)表1中の【ア】、【イ】に適切な字句を入れて、表を完成させよ。 (2)表2中の、太枠内は未完成である。太枠内について、各品目が対応するサブタイプの欄に“○”印を入れて、表を完成させよ。 (3)図1中の【あ】~【う】に入れるエンティティタイプ名を答えよ。また、図1中で欠落している、リレーションシップ及び発注のサブタイプを補って、概念データモデルを完成させよ。 (4)図2中の【a】~【r】に適切な一つ又は複数の属性名を入れ、更に図2中の下部の空白部分に、図1中で欠落している発注のサブタイプの関係スキーマを追加して、図を完成させよ。属性が主キーを表す場合は実線の下線を、外部キーを表す場合は破線の下線を付けること。 なお、答案用紙の欄は全て埋まるとは限らない。
表1 ユニット受注と引当結果の判断の決定表(未完成)。内製ユニットの受注有無と中間仕掛品・構成部品の在庫引当結果に応じた製造指図及び発注の判断表。
表1 ユニット受注と引当結果の判断の決定表(未完成)。内製ユニットの受注有無と中間仕掛品・構成部品の在庫引当結果に応じた製造指図及び発注の判断表。
表2 各品目とサブタイプの対応関係(未完成)。全体設計、各種ユニット、仕掛品、部品、ソフトウェアなどと、受注・投入・製造・発注品目の対応を示す表。
表2 各品目とサブタイプの対応関係(未完成)。全体設計、各種ユニット、仕掛品、部品、ソフトウェアなどと、受注・投入・製造・発注品目の対応を示す表。
図1 概念データモデル(未完成)。部門、取引先、品目、受注、製造指図、発注、入荷、所要量展開などのエンティティと階層・関連を示す概念データモデル。
図1 概念データモデル(未完成)。部門、取引先、品目、受注、製造指図、発注、入荷、所要量展開などのエンティティと階層・関連を示す概念データモデル。
図2 関係スキーマ(未完成)。部門や取引先から受注、製造指図、発注、所要量展開までの関係スキーマと属性欄の未完成部分を示す図。
図2 関係スキーマ(未完成)。部門や取引先から受注、製造指図、発注、所要量展開までの関係スキーマと属性欄の未完成部分を示す図。
解き方のヒントを見る

業務ルールから関連の多重度を読み取る

エンティティ間の関連を完成させる際は、業務の記述に書かれた数量の対応関係を一つずつ拾い出し、どちら側が一でどちら側が多になるのかを根拠となる記述と結び付けて確認することが基本的な検討の出発点になります。

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

受注・製造指図・発注・入荷のように業務が段階的に連なる場面では、ある段階の一件が次の段階の何件に対応するか、また分割や集約が起こり得るかを記述から読み取り、関連と参照の向きを判断する観点が問われます。

視点

概念データモデルの関連と関係スキーマの外部キーは、同じ業務ルールを二通りに表現したものです。関連の多重度は、担当者の想定や一般的な慣習ではなく、業務の記述にある『一回の〜で』『複数の〜を』『〜ごとに』といった数量の表現を根拠に決めます。多重度が定まると、どちら側の関係が相手を参照する属性を持つべきかも連動して決まるため、図と表の整合を一つの観点で点検できます。

確認ポイント

  • 二つのエンティティについて、一方の一件に対して相手が何件対応し得るかを両方向から確かめたか
  • その判断の根拠となる記述を業務の説明の中で具体的に指し示せるか
  • 決めた多重度と、関係スキーマで参照する属性を置く側との対応に矛盾がないか
正解と解説を見る

解説

製菓ラインメーカE社の受注・製造指図・発注・入荷業務を題材に、決定表、品目サブタイプの整理、概念データモデル、関係スキーマを完成させる問題です。出題趣旨では、トップダウンでエンティティタイプとリレーションシップを見抜く力、ボトムアップで関係スキーマを分析する力、サブタイプを分析する力が評価対象とされています。採点講評では、概念データモデルのうち得意先・品目・発注のサブタイプ部分と、関係スキーマのトランザクション部分の正答率が低かったと指摘されています。

問題の全体像

E社は、ユニット・すり合せ部品・ソフトウェア・設置・試運転を提供する製菓ラインのメーカです。業務は次の順に進みます。商談→受注→受注明細(5分類)→製造指図(5分類)または発注(5分類)→入荷。内製ユニットについては、品目構成に基づく所要量展開で在庫を引き当て、不足分を中間仕掛品製造指図や構成部品都度発注にまとめます。設問は4つです。(1)表1の決定表の空欄、(2)表2の品目とサブタイプの対応、(3)図1の空欄エンティティ名と欠落したリレーションシップ・発注サブタイプ、(4)図2の属性(主キーは実線、外部キーは破線の下線)と発注サブタイプの関係スキーマです。採点講評では、得意先・品目・発注のサブタイプ部分の正答率が低かったとされ、外部キーがどの主キーを参照しているかを意識するよう求めています。

設問2(1)(ア)

表1で空欄アに X が付くのは3列目と4列目です。どちらも「必要な中間仕掛品を全て引き当てできたか」が N の列です。所要量展開④には「在庫引当後、中間仕掛品が不足する場合には製造指図を行う」とあります。そのため公式解答例では、アは「中間仕掛品の製造を指図する」です。構成部品の条件(3列目は Y、4列目は N)とは関係なく X になっている点も確認しましょう。

設問2(1)(イ)

空欄イに X が付くのは2列目と4列目です。どちらも「必要な構成部品を全て引き当てできたか」が N の列です。所要量展開④には「構成部品が不足する場合には発注を行う」とあり、1(2)には構成部品は全て他社から仕入れるとあります。したがって公式解答例では、イは「構成部品を発注する」です。

設問2(2)

公式解答例の対応は次のとおりです。購買ユニット=受注品目・発注品目。中間仕掛品=投入品目・製造品目。構成部品=投入品目・発注品目。専用すり合せ部品=受注品目・製造品目。汎用すり合せ部品=受注品目・発注品目。ソフトウェア=受注品目・製造品目・発注品目。設置・試運転=受注品目のみ。

根拠は次のとおりです。

・購買ユニットは他社から仕入れる。

・中間仕掛品は内製ユニットに投入され、不足すれば自社で製造する。

・構成部品は全て仕入れる。

・すり合せ部品は、専用品なら製造を指図し、汎用品なら発注する。

・ソフトウェアは、同じ品目でも要員状況によって製造と発注のどちらにもなる。

受注品目と投入品目は同時に○にならず、図2の品目にある受注投入品目区分で分ける排他関係です。一方、製造品目フラグと発注品目フラグは独立しているため、ソフトウェアのように両方に○が付くことがあります。

設問2(3)(あ)

取引先は、取引先区分によって販売相手と購買相手に排他的に分かれます。図1では仕入先と並ぶサブタイプなので、公式解答例では「得意先」です。図2の同じ行には(取引先コード、 c)とあり、c に契約先フラグ・出荷先フラグが入ることとも整合します。

設問2(3)(い)

受注の上位にあり、1件で複数の受注を生むエンティティです。5(1)②には、商談#で識別し、案件名などを記録するとあります。図2の同じ行も(商談#、 d)なので、公式解答例では「商談」です。

設問2(3)(う)

発注から1対多の矢印を受けるエンティティです。5(6)には、1件の発注が分割入荷されることはあるが、複数の発注が1件の入荷にまとめられることはないとあります。したがって公式解答例では「入荷」です。

設問2(3)(概念データモデル)

公式解答例の図で追加されている線と発注サブタイプを、全て挙げます。表記は、「A→B」がBを多側とする1対多、「A―B」が1対1です。

【マスタ系】

①部門→部門:自己参照。上位1部門に対して下位が多で、図2の上位部門コードに対応します。

②得意先→契約先、得意先→出荷先:サブタイプ関係を三角形で1本ずつ別々に描きます。一つの得意先が両方を兼ねられ、契約先フラグ・出荷先フラグで別々に識別するため、共存的サブタイプになります。

③仕入先→発注品目:発注品目ごとに仕入先が一つ決まるため1対多です(仕入取引先コード)。

④品目のサブタイプ:受注品目と投入品目を一つの三角形でまとめます(受注投入品目区分による排他)。製造品目と発注品目は、それぞれ単独の三角形で品目につなぎます(各フラグ)。

【商談・受注系】

⑤社員→商談(技術営業社員コード)

⑥契約先→商談(契約取引先コード)

⑦出荷先→受注(出荷取引先コード)

⑧受注品目→受注明細(受注品目コード)

【受注明細サブタイプの後続】

⑨ユニット受注明細―ユニット製造指図

⑩ユニット受注明細―ユニット発注

⑪すり合せ部品受注明細―すり合せ部品設計

⑫すり合せ部品設計―すり合せ部品製造指図

⑬すり合せ部品設計―すり合せ部品発注

⑭ソフトウェア受注明細―ソフトウェア製造指図

⑮ソフトウェア受注明細―ソフトウェア発注

⑯設置・試運転受注明細→設置・試運転指示(複数の指示に分かれるため1対多)

全体設計受注明細には、追加する線はありません。

【製造指図・発注】

⑰製造品目→中間仕掛品見込製造指図

⑱製造品目→中間仕掛品製造指図

⑲発注の下に、一つの三角形でユニット発注・すり合せ部品発注・ソフトウェア発注・構成部品定量発注・構成部品都度発注を追加します(発注区分による排他)。

⑳発注品目→構成部品定量発注

㉑発注品目→構成部品都度発注

【所要量展開】

㉒ユニット受注明細→所要量展開(主キーの一部である受注#・受注明細#)

㉓投入品目→所要量展開(投入品目コード)

㉔中間仕掛品製造指図→所要量展開(製造#)

㉕構成部品都度発注→所要量展開(発注#)

設計方針(6)に従い、関係は具体的に対応するサブタイプ側に引きます。例えば、所要量展開は受注明細全体ではなく内製ユニットのユニット受注明細に、中間仕掛品の製造指図は品目ではなく製造品目に結びます。

設問2(4)(a)

部門の階層は、下位部門が上位の一つの部門に所属する自己参照の1対多です。公式解答例では「上位部門コード」で、部門コードを参照する外部キーなので破線の下線を付けます。主キーではないため、実線の下線は付けません。

設問2(4)(b)

取引先を得意先と仕入先に排他的に分類する属性は、3(3)にある取引先区分です。公式解答例では「取引先区分」で、主キーでも外部キーでもないので下線は付けません。

設問2(4)(c)

得意先に固有の属性として、3(4)にある契約先フラグと出荷先フラグを置きます。二つのフラグを別々に持つので、両方を兼ねる得意先も表せます(共存的サブタイプ)。公式解答例では「契約先フラグ,出荷先フラグ」で、どちらも下線は付けません。

設問2(4)(d)

5(1)②で記録するとされる属性を並べます。公式解答例は「案件名,案件内容,商談年月日,契約取引先コード,技術営業社員コード」です。このうち契約取引先コード(契約先の取引先コードを参照)と技術営業社員コード(社員の社員コードを参照)は外部キーなので破線の下線を付けます。案件名・案件内容・商談年月日には下線を付けません。

設問2(4)(e)

5(2)⑤(i)より、全体設計受注明細に固有の属性は全体設計内容です。設計方針(4)に従ってサブタイプ側に置きます。公式解答例では「全体設計内容」で、下線はありません。

設問2(4)(f)

5(2)⑤(ii)より、ユニット受注明細に固有の属性は工程順です。公式解答例では「工程順」で、下線はありません。ユニット製造指図やユニット発注との1対1関係は、後から発生する製造指図・発注の側が外部キーを持つため、ここには外部キーを置きません。

設問2(4)(g)

5(2)⑤(iii)より、すり合せ部品受注明細に固有の属性はすり合せ箇所です。公式解答例では「すり合せ箇所」で、下線はありません。すり合せ部品設計は後から発生するので、外部キーは設計側(j)に置きます。

設問2(4)(h)

5(2)⑤(iv)より、ソフトウェア受注明細に固有の属性は詳細仕様です。同じ品目を基本仕様で共有し、詳細仕様は受注ごとに異なるためです。公式解答例では「詳細仕様」で、下線はありません。

設問2(4)(i)

5(2)⑤(v)より、設置・試運転受注明細に固有の属性は開始予定年月日と終了予定年月日です。公式解答例では「開始予定年月日,終了予定年月日」で、下線はありません。

設問2(4)(j)

すり合せ部品設計は、すり合せ部品受注明細ごとに一つ割り振られる1対1関係です。後から発生する設計側に、受注明細の主キーを外部キーとして持たせます。公式解答例は「受注#,受注明細#,専汎区分」で、受注#と受注明細#は二つで一組の複合外部キーなので、両方に破線の下線を付けます。専汎区分には下線を付けません。主キーは設計#だけです。

設問2(4)(k)

設置・試運転指示は、設置・試運転受注明細1件から複数発生する1対多関係の多側です。公式解答例は「受注#,受注明細#,指示年月日」で、受注#と受注明細#は設置・試運転受注明細を参照する複合外部キーとして両方に破線、指示年月日は下線なしです。

設問2(4)(l)

ユニット製造指図は、受注数量がそのまま製造指図数量になります。そのため数量は持たず、どのユニット受注明細に基づくかだけを記録します。公式解答例は「受注#,受注明細#」で、両方に破線の下線(複合外部キー)を付けます。

設問2(4)(m)

すり合せ部品製造指図は、5(4)②(ii)のとおり設計#を記録します。数量は受注数量と同じなので持ちません。公式解答例は「設計#」で、すり合せ部品設計を参照する外部キーなので破線の下線を付けます。受注明細は設計#をたどれば分かるため、受注#・受注明細#を重ねて持つ必要はありません。

設問2(4)(n)

ソフトウェア製造指図は、受注数量がそのまま製造指図数量になり、納品方法を記録します。公式解答例は「受注#,受注明細#,納品方法」で、受注#と受注明細#はソフトウェア受注明細への複合外部キーとして破線、納品方法は下線なしです。

設問2(4)(o)

中間仕掛品見込製造指図は、受注に結び付かず、製造部門が品目・製造指図数量・優先度を決めて記録します。公式解答例は「製造品目コード,製造指図数量,優先度」で、製造品目コードは製造品目を参照する外部キーとして破線、残り二つは下線なしです。

設問2(4)(p)

中間仕掛品製造指図は、1日分の所要量展開をまとめて品目と製造指図数量を記録します。公式解答例は「製造品目コード,製造指図数量」で、製造品目コードは破線(外部キー)、製造指図数量は下線なしです。どの所要量展開がまとめられたかは、所要量展開側の製造#で表します(r)。

設問2(4)(q)

入荷のスキーマは、括弧内の全属性が空欄になっています。5(6)①から、入荷#で識別し、入荷年月日・入荷数量・対応する発注を記録します。公式解答例は「入荷#,入荷年月日,入荷数量,発注#」です。入荷#は主キーで実線、発注#は発注を参照する外部キーで破線、入荷年月日と入荷数量は下線なしです。1件の入荷は1件の発注にだけ対応するので、多側の入荷が発注#を持ちます。

設問2(4)(r)

5(3)③より、所要量展開は受注#・受注明細#・所要量明細#の組合せで識別し、必要品目・必要数量・引当済数量を記録します。さらに5(4)②(v)で製造#を、5(5)②(v)で発注#を記録します。公式解答例は「所要量明細#,投入品目コード,必要数量,引当済数量,発注#,製造#」です。下線は次のとおりです。

・所要量明細#:複合主キーの一部として実線

・投入品目コード:投入品目を参照する外部キーとして破線

・発注#:構成部品都度発注を参照する外部キーとして破線

・製造#:中間仕掛品製造指図を参照する外部キーとして破線

・必要数量・引当済数量:下線なし

設問2(4)(発注サブタイプ)

公式解答例では、次の5つを追加します(【実】=実線の下線、【破】=破線の下線)。

・ユニット発注(発注#【実】、 受注#【破】、 受注明細#【破】、 直納区分)

・すり合せ部品発注(発注#【実】、 設計#【破】、 発注数量)

・ソフトウェア発注(発注#【実】、 受注#【破】、 受注明細#【破】、 瑕疵担保期間)

・構成部品定量発注(発注#【実】、 発注品目コード【破】、 発注数量、 発注時在庫数量)

・構成部品都度発注(発注#【実】、 発注品目コード【破】、 発注数量、 希望納入年月日)

発注#は、各サブタイプの主キーであると同時に、スーパタイプの発注を参照する値です。公式解答例では、主キーとして実線の下線で示されています。

ユニット発注とソフトウェア発注は、受注数量がそのまま発注数量になります。そのため発注数量は持たず、受注明細への複合外部キー(受注#+受注明細#)で1対1に結び付けます。すり合せ部品発注は、ロットサイズを加味して数量が変わるので発注数量を持ち、設計#ですり合せ部品設計を参照します。構成部品の2つの発注は受注に結び付かないので、発注品目コードで品目を参照し、それぞれ固有の属性(発注時在庫数量/希望納入年月日)を持ちます。仕入先は発注品目からたどれるため、発注側には持ちません。

学習のポイント

サブタイプが排他か共存かを区分とフラグで見分けること、1対1関係で外部キーをどちらに置くか、外部キーが参照する主キーを確かめてリレーションシップを引く習慣を重点的に練習しましょう。

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

関連する過去問一覧

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