1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データベーススペシャリスト 令和5年 午後2 解説解答

Last updated at Posted at 2024-06-30

公式サイトの問題冊子はこちら。
https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05a_db_pm2_qs.pdf

問1-設問1-(1)

表3中のaに入れる適切な業務ルールを、エンティティタイプ“生産拠点”と”商品“との間のリレーションシップに着目して25字以内で答えよ

  • 図1より、生産拠点と商品は1対多
  • 一つの生産拠点では複数の商品を生産することがある

問1-設問1-(2)

表3中のb~fに入れる適切な番号(①~④)を全て答えよ

b

①在庫を記録するのは物流拠点だけである

  • 物流拠点と在庫のリレーションシップは存在するが、生産拠点と在庫のリレーションシップは存在しない(○)

②全拠点を集計した商品別在庫の記録をもつ

  • 商品/物流拠点と在庫のリレーションシップは存在するが、生産拠点と在庫のリレーションシップは存在しない(×)

③各拠点では全商品について在庫の記録を作成する

  • 商品と在庫のリレーションシップの在庫側が○になっているので、存在しない場合もある(×)

④拠点ごと商品ごとに在庫数量、引当済数量を記録する

  • 在庫(拠点#商品#、在庫数量、引当済数量)なので○
  • b: ①、④

c

①一つの棚に複数の商品を保管する

  • 棚別在庫と商品は多対1(×)

②同じ商品を複数の棚に保管することがある

  • 棚別在庫と商品は多対1(○)

③同じ棚#を異なる拠点の棚に割り当てることがある

  • 棚の主キーは{拠点#、棚#}(○)

④各棚には保管する商品があらかじめ決まっている

  • 棚別在庫(拠点#棚#、商品#(FK)、在庫数量)なので、商品を修正することは可能(×)
  • c: ②、③

d

①取引先に該当するのは出荷先だけである

  • 出荷先は取引先のサブタイプなので、出荷先ではない取引先もあり得る(×)

②請求先には出荷先が一つ決まっている

  • 出荷先と請求先取引先は多対1(×)

③出荷先には請求先が一つ決まっている

  • 出荷先と請求先取引先は多対1(○)

④請求先と出荷先とが同じになることはない

  • 出荷先は請求先のサブタイプなので、同じ場合がある(×)
  • d: ③

e

①入荷#ごとに一つの入庫#を記録する

  • 入荷明細と入庫明細は1対多だが、入荷と入庫にリレーションシップはない(×)

②入庫は入庫の実施単位に拠点#、入庫#で識別する。

  • 入庫(拠点#入庫#、入庫年月日、登録TS)なので○

③入荷した商品を入庫せずに出荷することもある

-図1にて、入荷と入庫の間は、通して●のリレーションシップなので、入荷に対して必ず入庫が存在する(×)

④入荷明細を棚に分けて入庫明細に記録する

  • 入庫明細(拠点#入庫#入庫明細#、入荷#(FK)、入荷明細#(FK)棚#(FK)、入庫数量)なので (○)
  • e: ②、④

f

①出庫は出荷と同じ単位で行う

  • 出荷と出庫のリレーションシップは1対1(○)

②出荷明細には出庫明細との対応を記録する

  • 出荷明細(拠点#出荷#出荷明細#、商品#(FK)、出荷数量)なので出庫明細との対応は記録されない(×)

③出荷に対応する出庫を記録しない場合がある

  • 出荷と出庫のリレーションシップは出庫側が○なので、出庫がない出荷はあり得る(○)

④商品ごとの出庫数量は出荷数量と異なる場合がある

  • 出庫明細と出荷明細にリレーションシップは無いので出庫数量は出荷数量に依存しない(○)
  • f: ①、③、④

問1-設問2-(1)

この二つのグラフから読み取れる商品の出荷量の傾向を、それぞれ30字以内で答えよ

  • 累計が直線なら毎月一定
  • 移動累計が右肩下がりなら減少傾向
  • 累計出荷数量: グラフの期間はほぼ増減なし
  • 移動累計出荷数量: 前年同月比で減少傾向

問1-設問2-(2)

表4中のア、カに入れる適切な数値、及びイ~オに入れる適切な字句を答えよ

  • 「指定年月と指定年月の11か月前までを合わせた12か月分を表示範囲とした」
  • 「移動累計出荷数量は、各年月と各年月の11か月前までを合わせた12か月の月間出荷数量を累計したもの」
  • 移動累計出荷数量の計算のために、「指定年月の11か月前の11か月前」からの月間出荷数量が必要
  • ア: 22
  • 「移動累計出荷数量は、各年月と各年月の11か月前までを合わせた12か月の月間出荷数量を累計したもの」
  • イ: 11行前の行
  • ウ: 現在の行
  • 「累計出荷数量は、グラフの表示範囲の最初の年月から各年月までの月間出荷数量の累計」
  • エ: 最初の行
  • オ: 現在の行
  • 「指定年月と指定年月の11か月前までを合わせた12か月分を表示範囲とした」
  • カ: 11

問1-設問2-(3)

図3中のキ~コに入れる適切な字句を答えよ

  • 出庫回数は、出庫明細の行数を棚別に計算したもので、COUNT(集計対象)とGROUP BY 集約単位を組み合わせる
  • キ: T.棚, COUNT(S1.棚#)
  • ク: GROUP BY T.棚#
  • 出庫回数順位は、出庫回数の多い順であり、RANK OVER (ORDER BY 出庫回数)で得られる
  • ケ: ORDER BY S2.出庫回数 DESC
  • 「出庫頻度区分は、指定した物流拠点及び期間において、棚別に集計した出庫回数が多い順に順位付けを行い、上位20%を‘高’、上位50%から‘高’を除いたものを‘中’、それ以外を‘低’としたものである」
  • S3の出庫回数順位を取り出すSELECT文において、その行数は棚の数に一致し、それぞれの行に棚#と出庫回数順位が記録される
  • 上位何%かは、出庫回数順位÷棚の総数で算出できる
  • コ: 出庫回数順位/COUNT(*)

問1-設問2-(4)

最も効果が高いと考えられる、入替えを行う棚の棚#の組を答えよ

  • 「出庫作業における移動距離を短縮して効率化を図るため、出庫の頻度を識別できるヒートマップを作成して可視化」
  • 移動距離を短縮するにはできるだけ最短経路上に出庫頻度の高い棚を配置する
  • 棚307は高頻度なのに最短距離上に配置されていない唯一の棚
  • 棚604は低頻度なのに最短距離上に配置されている唯一の棚
  • 307と604

問1-設問2-(5)

更新が必要となるテーブルを二つ挙げ、それぞれ行の挿入、行の更新のうち該当する操作を○で囲んで示せ

  • 図1の中で棚#と在庫数量を含むエンティティタイプは棚別在庫
  • 倉庫内移動に移動元棚#、移動先棚#、移動数量を記録できる
  • テーブル名: 棚別在庫 行の挿入×・行の更新○
  • テーブル名: 倉庫内移動 行の挿入○・行の更新

問1-設問3-(1)

表5中のg~lに入れる適切な数値を答えよ

  • 単価85の前回残高の数量は260
  • 260-50=210
  • g: 210
  • h: 85
  • 単価85の前回残高の数量は210
  • 210-(-50)=260
  • i: 260
  • j: 85
  • 単価90の前回残高の数量は150
  • k: 150
  • l: 90

問1-設問3-(2)

対象行の選択条件を、列名を含めて、それぞれ35字以内で具体的に答えよ

(a)処理WTに、同じ年月、拠点#、商品#の赤伝、黒伝が複数ある場合に、洗替えの起点となる行を選択する条件

  • 「対象となる行を入荷年月日又は出荷年月日、登録TSの順に取得して洗替えを行う」
  • 入荷年月日又は出荷年月日、登録TSの一番小さい行

(b)(a)の洗替えの起点となる行を基に、洗替えの対象となる入荷、入荷明細、出荷、出荷明細を取得するときに、計数格納処理の開始時点で登録済の入出荷だけを反映した状態にするために指定する条件

  • 「連携WT全体をロックし、連携WTの全行を処理用のワークテーブル(以下、処理WTという)に追加後、連携WTの全行を削除してコミット」
  • 処理WTには、計数格納処理の開始時点で登録済の入出荷だけが格納されている
  • 入荷、出荷の登録TSには登録日時が記録されている
  • 登録TSが、処理WT内で最大の登録TS以下であること

問1-設問3-(3)

確認方法の例を60字以内で具体的に答えよ

  • 「図5中のテーブルに入出荷を反映した最新のデータを格納する処理」
  • 入出荷の数量は入庫明細と出庫明細に格納される
  • 計数格納処理の結果は年月ごとに残高集計に格納される
  • 計数格納処理による在庫数が、入出庫明細と相違無いことを確認できればいい
  • 入庫明細と出庫明細から計算した拠点#、商品#ごとの入荷数量と出荷数量が、計数格納処理で得られた結果から計算したものと一致

問1-設問3-(4)

本文中のm~oに入れる適切な字句を答えよ

  • 「在庫回転率は、“当月支払÷((月初残高+月末残高)÷2)”によって、数量、金額をそれぞれ決める」
  • 当月支払は当面、製造原価が上昇する前の在庫から計上されるので、以下式において比較的分母が大きくなりやすい
在庫回転率=\frac{当月支払(上昇前)}{月初残高(上昇前) + 月末残高(上昇後)}
  • m: 下降
  • 「適用区分には、‘前月繰越’、‘出荷’、‘入荷’、‘赤伝’、‘黒伝’、‘次月繰越’のいずれかを指定する」
  • 「受払明細ごとに、受払による収支を反映した後の残高数量を、基になる受入ごとに記録する。残高の基になった受入(前月繰越又は入荷)の受払#、単価を、受払残高の基受払#、単価に設定する」
  • n: 入荷
  • o: 単価

問1-設問3-(5)

表9中の太線内の空欄に適切な字句を入れて表を完成させよ

  • 図5を概念データモデルで表すと
  • 「受払明細及び受払残高の対象行を残高集計表の作成要領に従って集計・計算して残高集計テーブルの行を作成する」
  • 表6には記載されていないが、残高集計表は「年月、拠点、商品ごとに」とあるので、拠点、商品各テーブルとのリレーションシップが必要
  • 「受払明細ごとに、受払による収支を反映した後の残高数量を、基になる受入ごとに記録する。残高の基になった受入(前月繰越又は入荷)の受払#、単価を、受払残高の基受払#、単価に設定する」なので、受払残高の参照先に受払明細を設定
  • 表3より「在庫を記録するのは物流拠点だけである」
  • 物流拠点は、拠点#が主キー
  • 商品は、商品#が主キー
追加エンティティタイプ 外部キーの属性名 参照先エンティティタイプ
受払残高 年月、拠点#、商品#、基受払# 受払明細
残高集計 商品# 商品
残高集計 拠点# 物流拠点

問2-設問-(1)

図1中のa、bに入れる適切なエンティティタイプ名を答えよ

  • 「DCからTCへの配送を行うルートを幹線ルート、TCから配送先への店舗を回って配送を行うルートを支線ルートという」
  • 「TCは、各店舗に複数のDCから多数の納入便の車両が到着する混乱を防止するために、DCから届いた荷を在庫にすることなく店舗への納入便に積み替える役割を果たす」
  • DCとTCを多対多でつなぐ幹線ルートが存在する
  • TCとは多対1、店舗とは1対多でつなぐ支線ルートが存在する
  • 図1のbは店舗とのリレーションシップが存在するので、幹線ルートはあてはまらない
  • a: 幹線ルート
  • b: 支線ルート

問2-設問-(2)

図1は、幾つかのリレーションシップが欠落している。欠落しているリレーションシップを補って図を完成させよ

  • 「物流拠点によって、TCの機能だけをもつところと、DCとTCの両方の機能をもつところがある」ので、物流拠点は、切り口の異なるサブタイプTCとDCをもつ
  • TCは物流拠点のサブタイプ
  • DCは物流拠点のサブタイプ
  • 「TCは、各店舗に複数のDCから多数の納入便の車両が到着する混乱を防止するために、DCから届いた荷を在庫にすることなく店舗への納入便に積み替える役割を果たす」「DCからTCの構造には例外としてたすき掛け(TCから見て木構造の上位に位置するDC以外のDCからの販路)が存在している」ので、a幹線ルートはDCとTCを多対多でつなぐ
  • 「支線ルート間で店舗の重複はない」「直納品を除いて、店舗に配送を行うTCは1か所に決めている」ので、b支線ルートは、TCとは多対1でつなぐ
  • 「商品カテゴリーには、部門、ライン、クラスの3階層木構造のカテゴリーレベルがある」
  • 「商品カテゴリーは、~上位のカテゴリーコードを設定している」
  • 商品カテゴリーは、同じ切り口のサブタイプ、部門、ライン、クラスをもつ
  • 各商品カテゴリーは、上位カテゴリーと多対1でつなぐ
  • 部門、ライン、クラスは、商品カテゴリーのサブタイプ
  • 「アイテムには、調達先のBP、温度帯(常温、冷蔵、冷凍のいずれか)、属するクラスを設定している。また、同じアイテムを別のBPから調達することはない
  • 「DCでは、DCごと商品ごとに、在庫数を把握し、発注点在庫数、DC納入LT、DC発注LSを定めている」
  • 「店舗では、品揃えの商品ごとの在庫数を把握し、発注点在庫数を定めている」
  • 「店舗は、次を定めている~直納品を除くDC補充品について、どのDCの在庫から補充するか」
  • 直納品を除くDC補充品の在庫数は、DC補充品店舗在庫に相当

問2-設問-(3)

図2は、幾つかのリレーションシップが欠落している。欠落しているリレーションシップを補って図を完成させよ

  • 「DCの出庫指示書は、店舗から当該DCに届いた補充要求を基に、配送指示番号をキーとして店舗ごと出庫指示年月日ごとに出力する」
  • 「DCからの幹線ルートの出荷指示書は、その日に積むべきコンテナの配送指示番号を明細にして」
  • 「積替指示書の明細は、配送先店舗ごとに作り、その内訳に、店舗へ運ぶコンテナの配送指示番号を印字する」
  • DC出庫指示のキーは、配送指示番号
  • 「店舗への配送指示書は、積替指示書の写しが、配送先店舗ごとに切り取れるようになっており」

問2-設問-(4)

図3中のア~ノに入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ

  • 図1にある郵便番号と配送地域の多対1関係より、郵便番号に配送地域への外部キーが必要
  • ア: 配送地域コード(FK)
  • 「物流拠点に、DCの機能があることはDC機能フラグで、TCの機能があることはTC機能フラグで分類する」
  • イ: DC機能フラグ、TC機能フラグ
  • DCとTCは、物流拠点のサブタイプ
  • 「物流拠点は、拠点コードで識別し~」
  • 「DCには、倉庫床面積を記録:: している」
  • 「TCは、運営を外部に委託しているので、委託先物流業者名を記録している」
  • ウ: 拠点コード、倉庫床面積
  • エ: 拠点コード、委託先物流業者名
  • 前問で幹線ルートはDCとTCの多対多テーブルなので、DC/TCそれぞれの拠点コードを外部キーにもつ
  • 「支線ルートは、TCごとの支線ルートコードで識別している。また、支線ルートには、車両番号配送先店舗とその配送順を定めている」
  • 図1より店舗は支線ルートと多対1なので、TC拠点コードと支線ルートコードを外部キーにもつことで、支線ルートと配送先店舗を紐付ける
  • 車両番号は、支線ルート内で共通だが、配送順は店舗によって異なる
  • 「DCからTCの配送LTを幹線LTと呼び、TCから店舗への配送LTを支線LTと呼ぶ」
  • 支線LTは、店舗によって異なる
  • オ: DC拠点コードTC拠点コード、幹線LT
  • カ: TC拠点コード支線ルートコード、 車両番号
  • キ: TC拠点コード(FK)、支線ルートコード(FK)、配送順、支線LT
  • 「商品カテゴリーは、カテゴリーコードで識別し、カテゴリーレベル、カテゴリー名、上位のどの部門又はラインに属するかを表す上位のカテゴリーコードを設定している」
  • ク: カテゴリーレベル
  • ケ: 上位部門カテゴリーコード(FK)
  • コ: 上位ラインカテゴリーコード(FK)
  • 「アイテムには、調達先のBP、温度帯(常温、冷蔵、冷凍のいずれか)、属するクラスを設定している」
  • サ: 調達先BPコード(FK)、温度帯、クラスカテゴリーコード(FK)
  • 図1より商品は、アイテムと多対1なので、アイテムコードを外部キーにもつ
  • 「店舗へのDCからの補充のために、商品ごとに全店舗一律の補充LSを定めている」
  • シ: アイテムコード(FK)、補充LS
  • DC在庫はDCと商品を多対多でつなぐテーブルなので、商品の主キーJANコードを主キーに持たせる
  • 「DCでは、DCごと商品ごとに、在庫数を把握し、発注点在庫数、DC納入LT、DC発注LSを定めている」
  • ス: JANコード(FK)、在庫数、発注点在庫数、DC納入LT、DC発注LS
  • 「店舗では、品揃えの商品ごとの、在庫数を把握し、発注点在庫数を定めている」
  • セ: 在庫数、発注点在庫数
  • 「店舗は、次を定めている~直納品を除くDC補充品について、どのDCの在庫から補充するか」
  • ソ: DC拠点コード(FK)
  • 「直納品の場合、加えて直納LT直納品発注LSを定めている」
  • タ: 直納LT、直納品発注LS
  • 「DCの出庫指示書は、店舗から当該DCに届いた補充要求を基に、配送指示番号をキーとして店舗ごと出庫指示年月日ごとに出力する」
  • 「DCからの幹線ルートの出荷指示書は、その日(出荷指示年月日)に積むべきコンテナの配送指示番号を明細にして行き先のTCごとにまとめて出力する」
  • (配送指示番号を主キーとする)DC出庫指示はDC出荷指示の明細なので、DC出荷指示との間に多対1のリレーションシップがあり、外部キーに出荷指示番号が必要
  • 「積替指示書の明細は、配送先店舗ごとに作り、その内訳に、店舗へ運ぶコンテナの配送指示番号を印字する」
  • DC出庫指示のキーは、配送指示番号
  • 「店舗への配送指示書は、積替指示書の写しが、配送先店舗ごとに切り取れるようになっており」
  • DC出庫指示と積替指示明細に多対1のリレーションシップがあり、積替指示明細の主キーは積替指示番号
  • チ: 店舗コード(FK)、出庫指示年月日、出荷指示番号(FK)、積替指示番号(FK)
  • 「店舗の補充要求は、商品の在庫数が発注点在庫数を割り込む都度、店舗コード、補充要求年月日時刻、JANコードを記して発行する」
  • 「出庫指示書の明細には、配送指示明細番号を付与して店舗からの該当する補充要求を対応付けて、出庫する商品と出庫指示数を印字する」とあるので、出庫指示明細の外部キーに店舗補充要求の主キー(店舗コード、補充要求年月日時刻、DC補充品JANコード)を持たせる
  • ツ: 店舗コード(FK)、補充要求年月日時刻(FK)、DC補充品JANコード(FK)
  • 「DCからの幹線ルートの出荷指示書は、その日(出荷指示年月日)に積むべきコンテナの配送指示番号を明細にして行き先のTCごとにまとめて出力する」とあるので、DC出荷指示の外部キーに幹線ルートの主キー(TC拠点コード、DC拠点コード)を持たせる
  • テ: 出荷指示明年月日、TC拠点コード(FK)、DC拠点コード(FK)
  • 「TCの積替指示書は、積替指示番号をキーとしてその日の支線ルートごとに伝票を作る」とあるので、積替指示書の外部キーに支線コードの主キー(TC拠点コード、支線ルートコード)を持たせる
  • ト: TC拠点コード(FK)、支線ルートコード(FK)
  • 「DCは、その日の出庫業務の完了後に、在庫数が発注点在庫数を割り込んだ商品について、発注番号をキーとして発注先のBPごとに、当日を発注年月日に指定してDC発注を行う」
  • BPごとにとあるが、JANコードをもつDC発注明細と1対多、アイテムを介して、BPコードをもつBPと1対多のリレーションシップがあるので、新たにBP コードを持たせると冗長になる
  • ナ: DCコード(FK)、発注年月日
  • 「DC発注の明細には、明細番号を付与して対象のJANコードを記録する」
  • 「入荷では、入荷ごとに入荷番号を付与し、どの発注明細又は直納品発注が対応付くかを記録する」
  • 入荷とDC発注は1対多なので、DC発注に入荷番号を外部キーとしてもつ
  • ニ: JANコード(FK)、入荷番号(FK)
  • 「直納品の発注では、店舗、補充要求の年月日時刻、対象の商品を記録する」
  • 「入荷では、入荷ごとに入荷番号を付与し、どの発注明細又は直納品発注が対応付くかを記録」
  • ヌ: 店舗コード補充要求年月日時刻JANコード、入荷番号(FK)
  • 「入荷では、入荷ごとに入荷番号を付与し、どの発注明細又は直納品発注が対応付くかを記録し、併せて入荷年月日を記録する」
  • ネ: 入荷年月日
  • 「DC及び店舗は、入荷した商品ごとに入庫番号を付与して入庫を行い、どの発注明細又は直納品発注が対応付くかを記録する」なので、発注明細の主キー(発注番号、発注明細番号)と直納品発注の主キー(店舗コード、補充要求年月日時刻、JANコード)を外部キーにもつ
  • ノ: 発注番号(FK)、発注明細番号(FK)、店舗コード(FK)、補充要求年月日時刻(FK)、JANコード(FK)
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?