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

平成23年度特別 データベーススペシャリスト 午後Ⅱ 問2

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

問題

問2 部材の在庫管理システムに関する次の記述を読んで,設問に答えよ。 Y社は,事務用デスク・チェア,書庫,キャビネットなどのオフィスじゅう器メーカである。Y社では,業務の効率向上を目的とした在庫管理システムの再構築を行うに当たって,在庫管理業務を分析し,概念データモデル及び関係スキーマを完成させることにした。 〔在庫管理業務の分析結果〕 1. 在庫管理業務に関する組織 (1) 部門は,部門コードで一意に識別される。部門には,幾つかの種類があり,その分類は,部門種類によって識別される。 (2) 取引先は,取引先コードで一意に識別される。取引先には,幾つかの種類があり,その分類は,取引先種類によって識別される。 (3) 在庫把握やものの移動の管理を必要とする場所を拠点と呼ぶ。 (4) 拠点は,Y社の一部の部門又は一部の取引先からなる在庫管理業務上の組織の呼称であり,拠点コードで一意に識別される。 (5) ある拠点が,Y社の部門である場合は,Y社のどの部門に相当するかを識別するために,Y社の部門コードが与えられている。 (6) ある拠点が,取引先である場合は,どの取引先に相当するかを識別するために,取引先コードが与えられている。 (7) 拠点は,生産現場,倉庫,部材メーカの三つに大別され,拠点区分によって識別される。 (8) 生産現場には,部品生産現場,製品組立現場の二つがあり,現場区分によって識別される。 (9) 倉庫には,パーツセンタ,組立工場倉庫の二つがあり,倉庫区分によって識別される。 (10) 拠点の分類を表1に示す。 (11) 拠点が立地上存在する敷地の単位を事業所と呼び,事業所には拠点が一つ又は複数存在する。 (12) 事業所には,本社工場1か所,製品組立工場8か所,部材メーカ約420か所があり,事業所コードで一意に識別される。 表1 拠点の分類 2. 在庫管理業務で扱われるもの (1) 部材の中で,製品の組立てに用いられるものを部品,部品の生産に用いられるものを部品生産用部材と呼ぶ。部材は,部材番号で一意に識別される。 (2) ねじやワッシャなどのように,部品としても存在し,部品生産用部材としても存在する共通の部材がある。その関係を図1に示す。 図1 部品と部品生産用部材の関係 (3) 部品だけを対象にみた場合,部材番号を部品部材番号と呼び,部品生産用部材だけを対象にみた場合,部材番号を部品生産用部材番号と呼ぶ。 (4) 部材の上位の分類を部材品目と呼ぶ。部材品目は,部材品目番号で一意に識別される。 (5) 部材品目の属性には,部材品目名がある。 (6) 部材の属性には,上位の部材品目が何かを表した部材品目番号,部材名,部材単価がある。 (7) 部品の属性には,製品組立てに投入する単位の数量を表す製品組立投入ロットサイズがある。 (8) 部品生産用部材の属性には,部品の生産に投入する単位の数量を表す部品生産投入ロットサイズがある。 (9) 製品組立投入ロットサイズと部品生産投入ロットサイズは,ともにある単位の数量を表す属性である。ただし,図1で示した重なりの部分に相当する,部品であり,かつ,部品生産用部材である場合,両者は異なる値をとることがあり,別の属性である。 3. 拠点間の部材の流れ 拠点間の部材の流れを図2に示す。 図2 拠点間の部材の流れ 4. 在庫の管理方法 (1) 部材の在庫は,倉庫が管轄している。 (2) 在庫は,拠点と部材の組合せで,その数量をもつ。在庫の数量は,後述する出庫業務,入庫業務,発送業務において計算によって求められる。 (3) 在庫は,物理的に倉庫内に存在するもの,ほかの事業所に向けて送る準備中で倉庫に隣接する積下ろし場所に存在するもの,及び事業所間を輸送中のものがあり,それぞれを倉庫内在庫,積置在庫,輸送中在庫と呼ぶ。 (4) 倉庫内在庫は,当該倉庫の管轄である。 (5) 積置在庫は,ほかの事業所に向けて倉庫から出庫され発送準備となることで発生し,当該倉庫の管轄である。 (6) 輸送中在庫は,積置在庫がトラックに積まれ,発送され輸送中となることで発生するが,発送元の倉庫の管轄である。 (7) 輸送中在庫は,送り先の事業所に届き,倉庫に入庫されることで消滅し,入庫された倉庫の倉庫内在庫となる。 5. 出庫業務 (1) 出庫とは,ある出庫理由によって倉庫から部材を出すことである。 (2) 一つの出庫は,一つの拠点向けに,1種類の部材を対象に行っている。 (3) 出庫の都度,出庫伝票を発行している。出庫時点で,出庫伝票に記録される属性と記録内容を,表2に示す。 表2 出庫伝票に記録される属性と記録内容 6. 発送業務 (1) パーツセンタと組立工場倉庫からは,ほかの事業所の拠点に対して送るための出庫があり,その場合は,出庫単位に,行き先の事業所別のトラックに部材を積み込む。 (2) 発送とは,輸送するトラックが,送り出す側の事業所を出発することであり,発送単位に発送伝票を発行している。発送伝票には,発送を一意に識別する発送番号,発送年月日,発送元事業所コード,発送先事業所コードが記録される。 (3) 発送時点で,その発送の対象となった出庫伝票に,発送番号が追加で記録される。 7. 入庫業務 (1) 入庫とは,ある入庫理由によって倉庫に部材を入れることである。 (2) 一つの入庫は,1種類の部材を対象に行っている。 (3) 入庫の都度,入庫伝票を発行している。入庫伝票に記録される属性と記録内容を表3に示す。 (4) 入庫では,必ず入庫伝票と現物を照合して入庫数量を記録している。 表3 入庫伝票に記録される属性と記録内容 8. 棚卸業務 (1) 毎月,最終営業日を棚卸実施日として,棚卸しを行っている。 (2) 棚卸実施前には,生産現場は,一切の仕掛状態の部材がないようにしているので,棚卸対象は倉庫だけである。 (3) 棚卸実施時点の,積置在庫と輸送中在庫は,出庫伝票があることでその状態が分かるので,棚卸対象から除外している。 (4) 棚卸しを実施する都度,棚卸票を作成している。 (5) 棚卸終了後に,次の手順で在庫の補正を行っている。 ① 棚卸終了時点の,同じ拠点コードと部材番号の倉庫内在庫数量の値を,補正前倉庫内在庫数量に転記する。 ② 棚卸数量と倉庫内在庫数量の差を,補正数量として算出する。 ③ 倉庫内在庫数量を,棚卸数量に置き換える。 (6) 棚卸票に記録される属性と記録内容を表4に示す。 表4 棚卸票に記録される属性と記録内容 9. 物流の組合せ 在庫管理は,拠点間の物流を管理するものであるが,すべての拠点間で物流が存在するわけではない。物流の組合せとして存在する物流事象の一覧を,表5に示す。 表5 物流事象の一覧 〔概念データモデル及び関係スキーマの設計方針〕 概念データモデルと関係スキーマの設計は,次の方針で行うことにした。 (1) マスタ及び在庫を対象とした概念データモデルと,トランザクションを対象とした概念データモデルは,別の図として作成し,両者の概念データモデルにまたがるリレーションシップは,概念データモデル上に表現しない。 (2) 拠点に関して,表1に示した分類に従ってサブタイプを切り出す。 (3) 拠点の各サブタイプの主キーは,例えば,パーツセンタ拠点コードのように,表1で示した拠点分類名で修飾した属性名とする。 (4) 部材に関して,図1に示した関係に従ってサブタイプを切り出す。 (5) 出庫と入庫に関して,表5で示した各物流事象に該当するものを,それぞれのサブタイプとして切り出す。 (6) サブタイプを切り出したエンティティタイプについて,外部キーは値が空値(NULL)になることがないように,適切なエンティティタイプに配置し,それに基づいて,リレーションシップも適切なエンティティタイプの間に引く。ただし,発送番号については,出庫されてから発送されるまでの間の空値(NULL)は許容する。 (7) サブタイプがある場合,スーパータイプ側に,インスタンスがどのサブタイプに該当するかを識別するための属性をもたせる。 (8) 出庫と入庫の各サブタイプから,拠点の各サブタイプを参照する外部キーは,出庫,入庫などの役割に応じて修飾した属性名とする。 (9) 外部キー以外の従属属性についても,サブタイプを切り出したエンティティタイプがある場合は,適切なエンティティタイプに配置する。 (10) 1対1のリレーションシップがある場合の外部キーは,後からインスタンスが発生する側に配置する。 (11) 概念データモデルと関係スキーマの設計に当たって,出庫及び入庫のサブタイプを正しく認識することと,それらサブタイプから参照する拠点及び部材のサブタイプを整理するために,表5に示した各物流事象について,物流元拠点,物流先拠点,物流対象のもの,どのような記録がされるべきかを,物流事象整理表としてまとめる。 〔設計を開始した概念データモデル及び関係スキーマ〕 上述の方針に基づいて,設計を開始した。 (1) 表6に,物流事象整理表を示す。 (2) マスタ系及び在庫系の概念データモデルを図3に,トランザクション系の概念データモデルを図4に,関係スキーマを図5に示す。 表6 物流事象整理表(未完成) 図3 マスタ系及び在庫系の概念データモデル(未完成) 図4 トランザクション系の概念データモデル(未完成) 図5 関係スキーマ(未完成) 概念データモデルと関係スキーマの解答に当たっては,主キー及び外部キーの表記も含めて,巻頭の表記ルールに従うこと。ただし,エンティティタイプ間の対応関係にゼロを含むか否かの表記は不要である。また,次の事項にも従うこと。 ① エンティティタイプ名及び属性名は,本文中で与えられたエンティティタイプ名及び属性名,又は本文中で与えられた語句を用いた適切な名称にすること。 ② サブタイプ間で共通の属性は,個々のサブタイプにもたせるのではなく,スーパータイプにもたせよ。 設問 〔概念データモデル及び関係スキーマの設計方針〕に従って,(1)~(4)に答えよ。 (1) 表6中の一部記入されている内容に倣って,空欄を埋め,表を完成させよ。 (2) 図3中に,エンティティタイプ及びリレーションシップを追加し,図を完成させよ。 (3) 図4中に,エンティティタイプ及びリレーションシップを追加し,図を完成させよ。 (4) 図5中の[a]~[z]に入れる適切な字句を答え,図を完成させよ。
表1 拠点の分類。拠点分類名と説明の表。生産現場(部品生産現場・製品組立現場)、倉庫(パーツセンタ・組立工場倉庫)、部材メーカの各分類について、所在や部品払出要求時間、部品投入時間、棚卸実施日入出庫終了時間、入出庫可能コンテナサイズ、物流費負担率などの固有属性を説明している。
表1 拠点の分類。拠点分類名と説明の表。生産現場(部品生産現場・製品組立現場)、倉庫(パーツセンタ・組立工場倉庫)、部材メーカの各分類について、所在や部品払出要求時間、部品投入時間、棚卸実施日入出庫終了時間、入出庫可能コンテナサイズ、物流費負担率などの固有属性を説明している。
図1 部品と部品生産用部材の関係。「部品」と「部品生産用部材」の二つの楕円が一部重なったベン図。部品であり、かつ部品生産用部材でもある共通の部材が存在することを示している。
図1 部品と部品生産用部材の関係。「部品」と「部品生産用部材」の二つの楕円が一部重なったベン図。部品であり、かつ部品生産用部材でもある共通の部材が存在することを示している。
図2 拠点間の部材の流れ。凡例(事業所、倉庫、倉庫以外の拠点、部材の流れ)付きの図。部材メーカ⇔本社工場のパーツセンタ、パーツセンタ⇔部品生産現場・製品組立現場、パーツセンタ⇔製品組立工場A・B・C…の組立工場倉庫、組立工場倉庫どうし、組立工場倉庫⇔製品組立現場の間の部材の流れを双方向の矢印で示している。
図2 拠点間の部材の流れ。凡例(事業所、倉庫、倉庫以外の拠点、部材の流れ)付きの図。部材メーカ⇔本社工場のパーツセンタ、パーツセンタ⇔部品生産現場・製品組立現場、パーツセンタ⇔製品組立工場A・B・C…の組立工場倉庫、組立工場倉庫どうし、組立工場倉庫⇔製品組立現場の間の部材の流れを双方向の矢印で示している。
表2 出庫伝票に記録される属性と記録内容。出庫伝票に記録される属性(出庫番号、出庫年月日、出庫拠点コード、出庫理由区分、出庫先拠点コード、部材番号、出庫数量)と記録内容の表。出庫理由区分は2:部品生産用部材払出し、4:通常支給、5:部品払出し、6:横持ち、8:余剰返送、9:廃版廃棄。
表2 出庫伝票に記録される属性と記録内容。出庫伝票に記録される属性(出庫番号、出庫年月日、出庫拠点コード、出庫理由区分、出庫先拠点コード、部材番号、出庫数量)と記録内容の表。出庫理由区分は2:部品生産用部材払出し、4:通常支給、5:部品払出し、6:横持ち、8:余剰返送、9:廃版廃棄。
表3 入庫伝票に記録される属性と記録内容。入庫伝票に記録される属性(入庫番号、入庫年月日、入庫拠点コード、入庫理由区分、入庫元拠点コード、部材番号、入庫数量)と記録内容の表。入庫理由区分は1:購入部材受入れ、3:部品完成、4:通常支給、6:横持ち、7:余剰戻し、8:余剰返送。
表3 入庫伝票に記録される属性と記録内容。入庫伝票に記録される属性(入庫番号、入庫年月日、入庫拠点コード、入庫理由区分、入庫元拠点コード、部材番号、入庫数量)と記録内容の表。入庫理由区分は1:購入部材受入れ、3:部品完成、4:通常支給、6:横持ち、7:余剰戻し、8:余剰返送。
表4 棚卸票に記録される属性と記録内容。棚卸票に記録される属性(棚卸年月、実施年月日、拠点コード、部材番号、棚卸数量、補正前倉庫内在庫数量、補正数量)と、それぞれの記録内容を示した表。
表4 棚卸票に記録される属性と記録内容。棚卸票に記録される属性(棚卸年月、実施年月日、拠点コード、部材番号、棚卸数量、補正前倉庫内在庫数量、補正数量)と、それぞれの記録内容を示した表。
表5 物流事象の一覧。物流事象9件(購入部材受入れ、部品生産用部材払出し、部品完成、通常支給、部品払出し、横持ち、余剰戻し、余剰返送、廃版廃棄)について、どの拠点間でどのような部材の移動・出庫・入庫が行われるかを説明した表。
表5 物流事象の一覧。物流事象9件(購入部材受入れ、部品生産用部材払出し、部品完成、通常支給、部品払出し、横持ち、余剰戻し、余剰返送、廃版廃棄)について、どの拠点間でどのような部材の移動・出庫・入庫が行われるかを説明した表。
表6 物流事象整理表(未完成)。物流事象ごとの物流元拠点、物流先拠点、物流対象のもの、出庫記録・入庫記録・発送記録の有無を整理する表。記入済みなのは購入部材受入れ(部材メーカ→パーツセンタ、部材、無・有・無)の行だけで、残り8行は空欄。該当しない欄には“-”を記入するという注記がある。
表6 物流事象整理表(未完成)。物流事象ごとの物流元拠点、物流先拠点、物流対象のもの、出庫記録・入庫記録・発送記録の有無を整理する表。記入済みなのは購入部材受入れ(部材メーカ→パーツセンタ、部材、無・有・無)の行だけで、残り8行は空欄。該当しない欄には“-”を記入するという注記がある。
図3 マスタ系及び在庫系の概念データモデル(未完成)。枠内にエンティティタイプ「事業所」「拠点」「部門」「取引先」「部材品目」「在庫」だけが配置され、リレーションシップはまだ記入されていない未完成の概念データモデル図。
図3 マスタ系及び在庫系の概念データモデル(未完成)。枠内にエンティティタイプ「事業所」「拠点」「部門」「取引先」「部材品目」「在庫」だけが配置され、リレーションシップはまだ記入されていない未完成の概念データモデル図。
図4 トランザクション系の概念データモデル(未完成)。枠内にエンティティタイプ「発送」「出庫」「入庫」「棚卸し」「棚卸明細」が配置された未完成の概念データモデル図。記入済みのリレーションシップは棚卸しから棚卸明細への1対多の矢印だけである。
図4 トランザクション系の概念データモデル(未完成)。枠内にエンティティタイプ「発送」「出庫」「入庫」「棚卸し」「棚卸明細」が配置された未完成の概念データモデル図。記入済みのリレーションシップは棚卸しから棚卸明細への1対多の矢印だけである。
図5 関係スキーマ(未完成)。事業所、部門、取引先、発送、出庫、入庫、棚卸しの関係スキーマと、空欄a~z(拠点の属性、拠点・部材のサブタイプ、部材品目、在庫、出庫・入庫の各サブタイプ、棚卸明細の属性)を含む未完成の関係スキーマ一覧。
図5 関係スキーマ(未完成)。事業所、部門、取引先、発送、出庫、入庫、棚卸しの関係スキーマと、空欄a~z(拠点の属性、拠点・部材のサブタイプ、部材品目、在庫、出庫・入庫の各サブタイプ、棚卸明細の属性)を含む未完成の関係スキーマ一覧。
解き方のヒントを見る

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

設計問題では、業務の説明に書かれた一つ一つの事実が、データモデルや関係スキーマのどこに表現されているかを対応づけて確かめることが大切です。解答に迷ったら、根拠となる記述へ戻って照合しましょう。

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

この問題で確認したい観点は一つで、業務上の決まりごと(何が何を識別し、何と何がどれだけ対応するか、どの区分で扱いが分かれるか)が、どの記述を根拠に読み取れるかを明確にしたうえで設計に反映できているかです。

視点

データモデルの設計は、業務の事実を構造に置き換える作業です。思い込みや一般的な業務知識で補うと、記述にない制約を加えたり、記述にある制約を落としたりしがちです。そこで、設計した要素ごとに『この形にした根拠はどの記述か』を言えるかを確かめます。逆に、業務の説明で条件や例外を述べている箇所が、設計のどこにも反映されていない状態がないかも見直します。どの形式で問われていても、この往復の照合が判断の軸になります。

確認ポイント

  • 自分が考えた設計の各要素について、根拠となる業務の記述を具体的に指し示せるか
  • 業務の説明で条件・例外・区分に触れている箇所が、設計のどこかに反映されているか
  • 記述に書かれていない前提を、一般的な業務知識から持ち込んでいないか
正解と解説を見る

解説

オフィスじゅう器メーカY社の部材在庫管理を題材に、概念データモデルと関係スキーマを完成させる問題です。拠点は表1に従い、生産現場・倉庫・部材メーカとさらにその下位にサブタイプ化します。部材は図1に従い、部品と部品生産用部材という重なりのあるサブタイプに分けます。出庫・入庫は表5の物流事象ごとにサブタイプ化します。物流事象整理表(表6)で出庫・入庫・発送の記録の有無を整理すれば、どの出庫サブタイプが発送番号を持つか、どの入庫サブタイプが出庫番号で出庫と1対1に対応するかが導けます。

問題の全体像

Y社は在庫管理システムの再構築に向けて、拠点(生産現場・倉庫・部材メーカ)、部材(部品・部品生産用部材)、出庫・入庫・発送・棚卸しの業務を分析しています。設問では、物流事象整理表(表6)、マスタ系・在庫系の概念データモデル(図3)、トランザクション系の概念データモデル(図4)、関係スキーマ(図5)を完成させます。出題趣旨では、トップダウンでエンティティタイプを見抜き、サブタイプを切り出し、リレーションシップを考察する能力と、ボトムアップで属性を抽出する能力を評価するとしています。採点講評では、全体として正答率は高かったものの、(2)(3)のモデル図の正答率が低かったと述べています。特に、発送を参照するリレーションシップと、出庫サブタイプと入庫サブタイプの間の1対1のリレーションシップで誤りが多く、リレーションシップの成立をインスタンスのレベルで理解していないことがうかがわれると指摘しています。

設問(1)

判定の根拠は本文の定義です。5.(1)で出庫は「倉庫から部材を出すこと」、7.(1)で入庫は「倉庫に部材を入れること」と定められています。そのため、物流元が倉庫(パーツセンタ・組立工場倉庫)なら出庫記録は有、物流先が倉庫なら入庫記録は有です。発送記録は、6.(1)(2)のとおり、パーツセンタや組立工場倉庫が他事業所の拠点へ送るために出庫し、その部材をトラックで発送する場合にだけ有になります。単に事業所をまたぐだけでは有になりません。1.(12)では部材メーカも事業所に数えられるので、購入部材受入れも事業所をまたぐ物流です。しかしY社の倉庫からの出庫ではないため、表6の記入済みの行と公式解答例では、出庫記録も発送記録も無になっています。公式解答例の各行は次のとおりです。部品生産用部材払出しは、パーツセンタから部品生産現場へ部品生産用部材を送ります。出庫記録は有、入庫記録と発送記録は無です(同じ本社工場内の移動です)。部品完成は、部品生産現場からパーツセンタへ部品を送ります。出庫記録は無、入庫記録は有、発送記録は無です。通常支給は、パーツセンタから組立工場倉庫へ部品を送ります。出庫・入庫・発送の記録はすべて有です。部品払出しは、倉庫から製品組立現場へ部品を送ります。出庫記録は有、入庫記録と発送記録は無です。表5で「同じ事業所内の倉庫」とあるため、物流元はパーツセンタと組立工場倉庫の両方を含む倉庫になります。横持ちは、組立工場倉庫から組立工場倉庫へ部品を送り、すべて有です。余剰戻しは、生産現場から倉庫へ部材を送ります。出庫記録は無、入庫記録は有、発送記録は無です。部品生産現場と製品組立現場のどちらからも戻るので、物流元は生産現場、対象は部材です。余剰返送は、組立工場倉庫からパーツセンタへ部品を送り、すべて有です。廃版廃棄は、パーツセンタから出庫して本社工場の構内で産業廃棄物処理業者へ引き渡します。業者は拠点ではないので物流先拠点は「-」、対象は部材です。出庫記録は有、入庫記録と発送記録は無です。

設問(2)

公式解答例の図3は、次の要素で構成されています。(1)事業所から拠点へ1対多(1.(11):事業所には拠点が一つ又は複数ある)。(2)拠点をスーパータイプとし、生産現場・倉庫・部材メーカを排他的サブタイプとする(方針(2))。(3)生産現場の下に部品生産現場・製品組立現場、倉庫の下にパーツセンタ・組立工場倉庫をそれぞれサブタイプとして切り出す。(4)部門と生産現場・倉庫、取引先と部材メーカを対応付ける(表1で生産現場・倉庫はY社の部門、部材メーカは取引先とされています。公式解答例の図では三角の記号を介して結ばれています)。(5)部材品目から部材へ1対多。(6)部材の下に部品と部品生産用部材を、それぞれ別の三角記号で共存的サブタイプとして置く(図1の重なり)。(7)倉庫から在庫へ、部材から在庫へそれぞれ1対多。在庫を拠点全体ではなく倉庫に結ぶ点に注意してください。4.(1)で在庫は倉庫の管轄とされています。部門コードや取引先コードを拠点に置くと、どちらかが必ずNULLになります。そのため、方針(6)に従い、それぞれ値が必ず決まる生産現場・倉庫・部材メーカ側に置きます。

設問(3)

公式解答例の図4では、出庫の下に6つのサブタイプ(部品生産用部材払出出庫、通常支給出庫、部品払出出庫、横持出庫、余剰返送出庫、廃版廃棄出庫)を置きます。入庫の下にも6つのサブタイプ(購入部材受入入庫、部品完成入庫、通常支給入庫、横持入庫、余剰返送入庫、余剰戻し入庫)を置きます。これらは設問(1)で出庫記録・入庫記録が有とした物流事象に対応します。発送から1対多の線が引かれるのは、発送記録が有の通常支給出庫・横持出庫・余剰返送出庫の3つだけです。発送番号を出庫スーパータイプに置くと、発送の無い出庫で常にNULLになるためです(方針(6)の例外は、出庫から発送までの間のNULLだけです)。出庫・入庫・発送の記録がすべて有の3事象(通常支給・横持ち・余剰返送)では、同じ部材の移動が出庫と入庫の両方に記録されます。そのため、通常支給出庫と通常支給入庫、横持出庫と横持入庫、余剰返送出庫と余剰返送入庫の間に1対1のリレーションシップを引きます。棚卸しから棚卸明細への線は与えられています。採点講評は、この発送の参照と1対1関係の正答率が低かったと指摘しています。

設問(4)(a)

公式解答例では、拠点の属性は拠点コード(主キー)、拠点区分、事業所コード(外部キー)です。拠点区分は、方針(7)に従い、どのサブタイプに当たるかを識別する属性です。事業所コードは全拠点が必ず持つため、スーパータイプに置きます。部門コードと取引先コードは、一部の拠点にしか当てはまらないため、ここには置きません。

設問(4)(b)

公式解答例では、生産現場(生産現場拠点コード、部門コード、現場区分)です。主キーは方針(3)に従い、拠点分類名で修飾します。生産現場はY社の部門なので、部門コードを外部キーとして持ちます。さらに下位のサブタイプを識別するため、現場区分を持ちます。b~hは順不同です。

設問(4)(c)

公式解答例では、部品生産現場(部品生産現場拠点コード、部品払出要求時間)です。表1で部品生産現場に固有とされる部品払出要求時間を、方針(9)に従ってこのサブタイプに置きます。

設問(4)(d)

公式解答例では、製品組立現場(製品組立現場拠点コード、部品投入時間)です。表1の部品投入時間は製品組立現場に固有の属性です。

設問(4)(e)

公式解答例では、倉庫(倉庫拠点コード、部門コード、倉庫区分)です。表1で倉庫はY社の部門なので、部門コードを外部キーとして持ちます。下位のサブタイプを識別するため、倉庫区分を持ちます。

設問(4)(f)

公式解答例では、パーツセンタ(パーツセンタ拠点コード、棚卸実施日入出庫終了時間)です。表1でパーツセンタだけに定められている属性を置きます。

設問(4)(g)

公式解答例では、組立工場倉庫(組立工場倉庫拠点コード、入出庫可能コンテナサイズ)です。表1で組立工場倉庫に固有とされる属性を置きます。

設問(4)(h)

公式解答例では、部材メーカ(部材メーカ拠点コード、取引先コード、物流費負担率)です。1.(6)に従い取引先コードを外部キーとして持ち、表1の物流費負担率を持ちます。

設問(4)(i)

公式解答例では、部材品目(部材品目番号、部材品目名)です。2.(4)(5)のとおり、部材品目番号が主キー、部材品目名が属性です。

設問(4)(j)

公式解答例では、部材(部材番号、部材品目番号、部材名、部材単価、部品生産用部材フラグ、部品フラグ)です。部材品目番号は外部キーです。部品と部品生産用部材は重なり得る(図1)ため、単一の区分では両方に当たる部材を表せません。そこで、方針(7)の識別属性を2つのフラグとして持たせます。j~ℓは順不同です。

設問(4)(k)

公式解答例では、部品(部品部材番号、製品組立投入ロットサイズ)です。主キーは2.(3)の呼称である部品部材番号です。2.(9)により、製品組立投入ロットサイズは部品生産投入ロットサイズとは別の属性として部品側に置きます。

設問(4)(ℓ)

公式解答例では、部品生産用部材(部品生産用部材番号、部品生産投入ロットサイズ)です。主キーは2.(3)の呼称である部品生産用部材番号で、固有属性は部品生産投入ロットサイズです。

設問(4)(m)

公式解答例では、在庫(倉庫拠点コード、部材番号、倉庫内在庫数量、積置在庫数量、輸送中在庫数量)です。主キーは倉庫拠点コードと部材番号の組です。4.(1)(4)~(6)で在庫はすべて倉庫の管轄とされているため、拠点コードではなく倉庫拠点コードを使います。数量は4.(3)の3区分それぞれを持ちます。

設問(4)(n)

公式解答例では、部品生産用部材払出出庫(出庫番号、出庫パーツセンタ拠点コード、出庫先部品生産現場拠点コード、部品生産用部材番号)です。表6の行に合わせて、参照先を拠点・部材のサブタイプにし、方針(8)に従い役割名(出庫・出庫先)で修飾します。発送記録は無なので、発送番号は持ちません。n~sは順不同です。

設問(4)(o)

公式解答例では、通常支給出庫(出庫番号、出庫パーツセンタ拠点コード、出庫先組立工場倉庫拠点コード、部品部材番号、発送番号)です。他事業所へ発送するので、発送番号を外部キーとして持ちます。出庫から発送までの間のNULLは許容されます。

設問(4)(p)

公式解答例では、部品払出出庫(出庫番号、出庫倉庫拠点コード、出庫先製品組立現場拠点コード、部品部材番号)です。払い出すのはパーツセンタと組立工場倉庫のどちらもあり得るため、出庫元は倉庫のレベルで参照します。同じ事業所内の移動なので、発送番号はありません。

設問(4)(q)

公式解答例では、横持出庫(出庫番号、出庫組立工場倉庫拠点コード、出庫先組立工場倉庫拠点コード、部品部材番号、発送番号)です。組立工場倉庫どうしの事業所間の移送なので、発送番号を持ちます。

設問(4)(r)

公式解答例では、余剰返送出庫(出庫番号、出庫組立工場倉庫拠点コード、出庫先パーツセンタ拠点コード、部品部材番号、発送番号)です。通常支給の戻り便のトラックでパーツセンタへ送るため、発送番号を持ちます。

設問(4)(s)

公式解答例では、廃版廃棄出庫(出庫番号、出庫パーツセンタ拠点コード、部材番号)です。出庫先は拠点ではない産業廃棄物処理業者なので、出庫先拠点コードを持ちません。対象は部材全般なので、部材番号を参照します。

設問(4)(t)

公式解答例では、購入部材受入入庫(入庫番号、入庫パーツセンタ拠点コード、受入元部材メーカ拠点コード、部材番号)です。対応する出庫がないので、入庫元(部材メーカ)を役割名で修飾した外部キーとして直接持ちます。t~yは順不同です。

設問(4)(u)

公式解答例では、部品完成入庫(入庫番号、入庫パーツセンタ拠点コード、入庫元部品生産現場拠点コード、部品部材番号)です。生産現場からの入庫には出庫がないため、入庫元の拠点を直接参照します。

設問(4)(v)

公式解答例では、通常支給入庫(入庫番号、入庫組立工場倉庫拠点コード、出庫番号、部品部材番号)です。通常支給出庫と1対1で、入庫の方が後から発生するので、方針(10)に従い入庫側に出庫番号を外部キーとして持たせます。入庫元はこの出庫から分かるので、入庫元拠点コードは持ちません。

設問(4)(w)

公式解答例では、横持入庫(入庫番号、入庫組立工場倉庫拠点コード、出庫番号、部品部材番号)です。横持出庫との1対1関係を、後から発生する入庫側の出庫番号で表します。

設問(4)(x)

公式解答例では、余剰戻し入庫(入庫番号、入庫倉庫拠点コード、戻し元生産現場拠点コード、部材番号)です。戻り先はパーツセンタと組立工場倉庫のどちらもあり得るので倉庫、戻し元も生産現場のレベルで参照します。対象は部材です。

設問(4)(y)

公式解答例では、余剰返送入庫(入庫番号、入庫パーツセンタ拠点コード、出庫番号、部品部材番号)です。余剰返送出庫と1対1なので、出庫番号を外部キーとして持ちます。

設問(4)(z)

公式解答例では、棚卸明細の残りの属性は棚卸数量、補正前倉庫内在庫数量、補正数量です。これは表4と8.(5)の補正手順に基づきます。実施年月日は棚卸し側にすでにあるので、明細には含めません。

学習のポイント

本文の定義(出庫・入庫・発送)を物流事象ごとにインスタンスのレベルで当てはめることが大切です。そのうえで、サブタイプの切出し、NULLにならない外部キーの配置、1対1関係の外部キーの向きを決める練習をしましょう。

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

関連する過去問一覧

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