DBデータベーススペシャリスト試験 午後Ⅱ
令和7年度秋期 データベーススペシャリスト 午後Ⅱ 問2
事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。
問題









解き方のヒントを見る
業務記述とモデルの対応を確かめる
データモデルの問題では、業務の説明に書かれた一文一文が、モデル上のどの要素や制約に反映されているかを対応づけて読むことが基本です。推測で補わず、根拠となる記述を必ず探してから判断する姿勢を保ちましょう。
この問題で問われていること
確認すべき観点は一つです。検討中の箇所について、それを裏付ける業務上の記述がどこにあるかを特定し、その記述とモデルの表現が過不足なく対応しているかを確かめてください。変更の話題でも同じ観点で読み直します。
視点
概念データモデルや関係スキーマは、業務のルールを形式的に書き表したものです。モデル上の要素は業務の説明のどこかに根拠を持つはずであり、逆に業務の説明にあるルールはモデルのどこかに表れているはずです。この双方向の対応を意識すると、一般知識や思い込みではなく、与えられた状況に即した判断がしやすくなります。
確認ポイント
- 判断しようとしている箇所の根拠となる業務上の記述を、自分で指し示せるか
- その記述が表す条件を、モデル側の表現と照らして過不足なく読み取れているか
- 一般的な業務の常識ではなく、与えられた状況の記述だけに基づいて判断しているか
正解と解説を見る
解説
宅配ピザチェーンB社の店舗資材配送業務について、マスター及び在庫領域とトランザクション領域の概念データモデル・関係スキーマを完成させる問題です。公式解答例のポイントは三つあります。一つ目は、DC・地区・ルート・区画・棚・DC資材在庫の関係を、固定ロケーション方式と先入先出という在庫コントロールの工夫から読み取ることです。二つ目は、資材要求から出庫要求・出庫・出荷・納入へ続くデータの粒度を、店舗単位・配送年月日単位で正しく捉えることです。三つ目は、摘取方式から種まき方式に変えると、出庫要求と出庫がDC単位・区画単位に変わり、出荷予定明細が新たに加わることを反映することです。自然キーだけで参照するため、[DCコード]などの冗長属性が必要になる箇所も多くあります。
問題の全体像
B社は宅配ピザチェーンで、店舗資材配送システムを再構築しています。本文には、次の三つの業務が細かく書かれています。(1)DC・地区・郵便番号・ルート・店舗・区画・棚などの組織と資源、(2)商品・資材・レシピ・DC資材在庫、(3)資材要求→出庫要求→出庫→出荷→納入の流れと、発注→入荷→入庫の流れ。後半では、出庫を摘取方式から種まき方式に変えることで、トランザクション領域の一部が作り変わります。設計方針には、第3正規形にすること、多対多を使わないこと、1対1では後から発生する側に外部キーを置くこと、自然キーだけを使い、必要な冗長属性は[ ]で示すことが定められています。出題趣旨では、トップダウンにエンティティタイプとリレーションシップを分析する力、ボトムアップに関係スキーマを導く力、自然キーだけで読みやすい関係スキーマを設計する力、業務のやり方の変更による影響を読み取る力を問うとされています。採点講評では、全体として正答率は高かったとしています。一方で、DC資材在庫・店舗・棚・資材要求・出荷・出荷店舗明細の誤答が多かったことと、設問2で図と関係スキーマが整合しない答案が見られたことが指摘されています。
設問1(1)
公式解答例で追加されているリレーションシップは次のとおりです。
・DC→地区、DC→ルート、DC→区画、地区→郵便番号、ルート→店舗、DC→共通資材調達条件、商品→レシピ、資材→棚、区画→DC資材在庫:いずれも1対多
・棚とDC資材在庫の間:1対1が2本
・棚の自己参照:1対1
根拠は次の記述です。「DCは幾つかの地区を束ねる」「郵便番号の区域を束ねて地区とする」ことから、DC→地区→郵便番号となります。「ルートはDCごとのルート番号で識別」「区画はDCごとに区画番号で識別」ことから、DC→ルートとDC→区画です。「ルートごとに店舗への納入順を決めている」ことから、ルート→店舗です。調達条件は「DCごと資材ごと」なのでDC→共通資材調達条件、レシピは「商品とサイズの組合せで資材ごと」なので商品→レシピになります。在庫は固定ロケーション方式で、「一つの棚には一つの資材だけ」を割り当てるので資材→棚です。「DCごと資材ごとに保管区画を決めている」ので区画→DC資材在庫です。先入先出のため、後続棚番号によって棚は1対1で自分自身を参照します。DC資材在庫が持つ最終入庫棚番号と最終出庫棚番号は、それぞれ特定の棚を1対1で指します。採点講評は、DC資材在庫に関わるリレーションシップの正答率が低かったとし、在庫をどうコントロールするかという業務の工夫によってデータ構造が決まると述べています。
設問1(2)
公式解答例で追加されているリレーションシップは次のとおりです。
・出庫要求→資材要求:1対多
・出庫要求と出庫明細、出庫明細と出荷店舗資材明細、出荷店舗明細と納入、定量発注と定量発注入荷、入荷と入庫:いずれも1対1
・計画発注→計画発注入荷:1対多
資材要求は要求区分(3種類)ごとに作られ、それを店舗ごと資材ごと配送年月日ごとにまとめたものが出庫要求なので、1対多になります。出庫は出庫要求に基づいて行われ、摘取方式では両者の粒度が同じなので、出庫明細は出庫要求と1対1です。出荷店舗資材明細は「どの出庫の内訳を対応させたか」を記録するので、出庫明細と1対1です。納入は出荷店舗明細と対応付けるので1対1、入庫は「入荷の単位に行う」ので入荷と1対1です。発注と入荷の対応はサブタイプ同士で結びます。定量発注は分納がないので定量発注入荷と1対1、計画発注は「ベンダーの都合で分納され得る」ので計画発注入荷と1対多です。採点講評は、業務のやり方によってデータが集約されたり分解されたりするトランザクションの連鎖を見誤った答案が多かったと指摘しています。
設問1(3)
公式解答例の各空欄と根拠は次のとおりです。
・ア(地区):外部キーのDCコード。DCが地区を束ねるためです。
・イ(郵便番号):外部キーの地区コード。
・ウ(ルート):主キーはDCコードとルート番号、属性に車両番号。
・エ(店舗):地区コード、ルート番号、納入順、[DCコード]。ルートの主キーはDCコードとルート番号なので、店舗からルートを参照するにはDCコードも必要です。DCコードは地区との結合で求まるため、冗長属性として[ ]で示します。採点講評は、納入順を店舗に設定すべきことが読み取れていない誤りが多かったと指摘しています。
・オ(区画):主キーはDCコードと区画番号、属性に機能区分と棚数。
・カ(棚):主キーはDCコード、区画番号、棚番号。外部キーとして資材コードと後続棚番号を持ちます。
・キ(共通資材調達条件):DCコード(主キーの一部)、発注ロットサイズ、発注リードタイム。
・ク(レシピ):商品コードとサイズを主キーに加え、属性に使用量。
・ケ(DC資材在庫):保管区画番号、基準在庫数、実在庫数、最終入庫棚番号、最終出庫棚番号。保管区画番号・最終入庫棚番号・最終出庫棚番号は外部キーで、DCコードと組み合わせて区画や棚を参照します。備考によると、基準在庫数はキに解答してもよいとされています。
設問1(4)
公式解答例の各空欄と根拠は次のとおりです。
・コ(資材要求とそのサブタイプ):店舗コード、配送年月日、資材コード、要求区分。3種類の要求を要求区分で区別し、店舗ごと資材ごと配送年月日ごとに作るためです。
・サ(出庫要求):店舗コード、配送年月日、資材コード。
・シ(出庫):店舗コード、配送年月日。摘取方式では店舗ごとに出庫完了時分を記録するためです。
・ス(出庫明細):店舗コード、配送年月日、資材コード。
・セ(出荷):DCコード、ルート番号、配送年月日。「配送車が出発するごと」、つまりルートごとに記録するためです。
・ソ(出荷店舗明細):主キーは店舗コードと配送年月日。出荷を参照するための[DCコード][ルート番号]は、店舗マスターから求まる冗長属性です。
・タ(出荷店舗資材明細):店舗コード、配送年月日、資材コード。
・チ(納入):店舗コード、配送年月日。
・ツ(発注とそのサブタイプ):DCコード、発注年月日、資材コード。発注は1日に高々1回だからです。
・テ(入荷):外部キーではない発注年月日。発注との対応はサブタイプ側で表すためです。
・ト(定量発注入荷・計画発注入荷):[発注年月日]。スーパータイプから継承した冗長属性を外部キーとして使い、各発注を参照します。
・ナ(入庫):DCコード、入荷年月日、資材コード。
採点講評は、資材要求では集約前のデータの粒度、出荷と出荷店舗明細では納入に向けて集約した粒度の読み取りが不十分な誤答が多かったと指摘しています。
設問2(1)
公式解答例で追加されているエンティティタイプは、出庫要求、出荷予定明細、出庫、出庫明細の四つです。リレーションシップは次のとおりです。
・出庫→出庫明細、出庫要求→資材要求、出荷予定明細→資材要求、出庫明細→出荷店舗資材明細:いずれも1対多
・出庫要求と出庫明細、出荷予定明細と出荷店舗資材明細:いずれも1対1
種まき方式では、出庫要求は「DCごと資材ごとに対象配送年月日」で導かれるため、店舗単位の資材要求を集約する1対多になります。一方、出荷予定明細は「店舗ごと資材ごと」に資材要求から導かれるので、これも資材要求と1対多です。出庫は区画ごとに行い、出庫明細は出庫要求と1対1で対応します。資材ごとにまとめて出庫したものを店舗へ仕分けるので、一つの出庫明細が複数の出荷店舗資材明細に対応する1対多です。出荷店舗資材明細は、どの出荷予定明細に基づいたかを記録するので、出荷予定明細と1対1です。
設問2(2)
公式解答例の関係スキーマは次の四つです。
・出庫要求(DCコード、配送年月日、資材コード、出庫要求数)
・出荷予定明細(店舗コード、配送年月日、資材コード、出荷予定数)
・出庫(DCコード、区画番号、配送年月日、出庫完了時分)
・出庫明細(DCコード、配送年月日、資材コード、[区画番号]、出庫実績数)
出庫は区画ごと配送年月日ごとに行うため、区画番号が主キーに入ります。出庫明細は出庫要求と同じキーを持ち、出庫を参照するのに区画番号が必要です。区画番号はDC資材在庫の保管区画番号から求まるので、冗長属性として[ ]で示します。採点講評は、(1)で答えた対応関係と(2)の関係スキーマの構造が整合しない答案が散見されたと指摘しています。(1)で1対多・1対1とした関係が、キーの構成に正しく表れているかを確認することが重要です。
設問2(3)
公式解答例の解答と根拠は次のとおりです。
・ニ(資材要求):店舗コード、配送年月日、資材コード、要求区分、[DCコード]
・ヌ(出荷店舗資材明細):店舗コード、配送年月日、資材コード、[DCコード]
変更後の出庫要求と出庫明細はDCコードを主キーに持ちます。そのため、店舗単位の資材要求や出荷店舗資材明細からこれらを参照するにはDCコードが必要です。DCコードは店舗から地区を通じて求まるので、結合で求まる冗長属性として[ ]で示します。出荷予定明細や出荷店舗明細への参照は、店舗コード・配送年月日・資材コードで表せます。関係スキーマから概念データモデルを見直し、両者の整合を確認することが採点講評でも求められています。
学習のポイント
本文の「〜ごと」「1日に1回」などの記述から主キー(識別子)を決める練習が中心です。あわせて、1対1・1対多の判断、冗長属性[ ]の付け方、業務のやり方の変更に伴うデータ粒度の変化を読み取る練習をしましょう。
出典:独立行政法人 情報処理推進機構(IPA)令和7年度秋期 データベーススペシャリスト試験 午後Ⅱ 問2(公式資料:問題冊子(PDF) / 解答例 / 採点講評)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針