データベース設計に関する次の記述を読んで,設問1,2に答えよ。
A社は,関東圏に展開している食料品スーパマーケットチェーンである。A社が取り扱う商品には,青果,鮮魚,精肉などがあるが,その中の自社商品の弁当・総菜類について,商品配送管理システムを用いて配送業務を実施してきた。A社は,デザートケーキ類の追加を計画しており,データベース設計を見直すことにした。
〔現状業務の概要〕
1.拠点
(1)拠点は,拠点コードで識別し,拠点名,所在地,代表電話番号をもつ。
(2)拠点には生産工場と店舗があり,拠点区分で分類する。
(3)生産工場は,A社の自社商品だけを生産する。A社には3か所の生産工場がある。生産工場には,自社商品を生産する役割と,自社商品を仕分けして各店舗へ配送する役割がある。生産工場は,生産能力と操業開始年月日をもつ。
(4)店舗は,約70あり,店舗基本情報をもつ。
①生産工場から店舗への配送では,配送ルートを設定している。一つの配送ルートは,1台のトラックで2〜3時間で配送できる3〜8の店舗を配送先としている。店舗への配送順序をあらかじめ決めている。
②配送ルートは,ルート番号で識別し,ルート名称と一つの配送元の拠点コードをもつ。
③店舗は,一つの配送ルートに属し,そのルート番号をもつ。また,配送ルート上何番目に配送されるかを表す配送順序をもつ。
2.自社商品
(1)自社商品は,A社の商品仕様に基づく弁当,総菜,おにぎりなどである。
(2)自社商品は,商品コードで識別し,商品名,商品価格,商品仕様をもつ。
(3)各生産工場は,全ての自社商品を生産する。
(4)自社商品ごとに生産ロットサイズを決めている。
3.発注から配送まで
(1)A社本部は,店舗からの発注を昼食前と夕食前の時間帯に合わせて受け付ける。
①店舗は,必要な自社商品とその発注数量を設定して発注する。
②発注は,配送を受ける時間帯に対する締め時刻(以下,締め時刻という)まで,複数回に分けて行うこともある。一つの発注の中で同一の自社商品を複数回登録することができる。店舗が発注数量を減らす又は取り消す場合,当該自社商品の発注数量をマイナスの値で設定して発注する。
③発注は発注番号で識別し,発注明細は発注番号と発注明細番号で識別する。
④A社本部は,店舗からの発注について,店舗の拠点コード,発注登録日時を確認し,配送予定日時を記録する。
(2)A社本部は,店舗からの発注に基づき生産の指示を行う。生産工場は,生産の指示に基づき生産する。
①A社本部は,締め時刻の対象となる発注について,生産工場ごとに配送先の店舗の自社商品ごとの発注数量を集計し,生産の指示とする。
②生産は,生産番号で識別し,生産工場の拠点コード,生産完了予定日時を記録する。
③生産明細は,生産番号と商品コードで識別し,生産数量を記録する。生産数量は,集計した発注数量を満たすように,自社商品の生産ロットサイズの倍数で設定する。
④生産の対象とした発注明細に対して,生産番号を記録する。
⑤生産工場は,生産完了後に生産完了日時を記録する。
(3)生産工場は,自社商品を店舗ごとに仕分けて配送する。
①A社本部は,締め時刻の対象となる発注に対して店舗ごとに自社商品別に発注を集計し,配送の指示を行う。
②配送は,配送番号で識別し,配送完了予定日時と配送先の拠点コードを記録する。
③配送明細は,配送番号と商品コードで識別し,配送数量を記録する。配送数量は,実際の配送数量である。
④配送の対象とした発注明細に対して,配送番号を記録する。
⑤店舗は,配送された自社商品を受領し,配送に対して,店舗受領日時,店舗受領担当者を記録する。
〔概念データモデルと関係スキーマの設計〕
〔現状業務の概要〕についての概念データモデルを図1に,関係スキーマを図2に示す。
図1 概念データモデル(未完成)
図2 関係スキーマ(未完成)
〔新たな商品の追加〕
1.新たな商品及び委託先
(1)A社は,新たな商品として,デザート・ケーキ類を追加することにした。
(2)デザート・ケーキ類は,B社に生産を委託する。委託して生産する商品を委託商品と呼ぶ。委託商品は,A社の商品仕様に基づいて生産する。自社商品と委託商品を併せて自社仕様商品と呼ぶ。
(3)B社の工場を委託工場と呼び,委託工場は委託開始年月日をもつ。委託工場は5か所ある。個々の委託商品を生産する委託工場は,一つに決まっている。また,委託工場の追加に伴って,生産工場を自社工場と呼ぶことにする。自社工場と委託工場を併せて工場と呼ぶ。
(4)A社は,既存の配送ルートを使って自社商品と委託商品を併せて店舗へ配送する。
(5)これまで自社工場内で仕分けと配送を行っていた役割に,工場の拠点コードとは別に物流センタとしての拠点コードを付与する。
(6)自社工場から物流センタへ,委託工場から物流センタへ,自社仕様商品を運ぶことを納入と呼ぶ。
2.物流センタ追加に伴う納入ルートの追加と配送ルートの変更
(1)納入の指示及び納入は,次のように行う。
①各自社工場と自社工場内の物流センタ,各委託工場と各物流センタの組を納入ルートと呼ぶ。納入ルートは,ルート番号で識別する。
②A社本部は,締め時刻の対象となる発注について,次のように納入の指示を行う。
・自社商品については,物流センタごとに配送先の店舗の発注数量を自社商品別に集計して,納入の指示とする。
・委託商品については,物流センタごとに配送先の店舗の発注数量を委託商品別に集計し,委託商品を生産する委託工場ごとに分けて,納入の指示とする。
③納入は,納入番号で識別し,納入するルート番号と納入予定日時を記録する。納入が完了後,納入完了日時を記録する。
④納入明細は,納入番号と商品コードで識別し,納入数量を記録する。
⑤納入の対象となる発注明細に対して,納入番号を記録する。
(2)配送ルートの配送元を自社工場から物流センタに変更し,物流センタに対する配送の指示及び店舗への配送は,現状業務と同様に行う。
(3)配送ルートと納入ルートを併せてルートと呼ぶ。
(4)生産の指示及び生産は,次のように行う。
①自社工場に対する生産の指示及び生産は,現状業務と同様に行う。
②委託工場に対する生産の指示は,全店舗の委託商品ごとの発注数量を集計して行う。
③委託工場は,生産の指示に基づいて,生産を行い,自社工場と同様の記録を行う。
新たな商品の追加に対応するために,工場,ルート及び自社仕様商品をサブタイプに分割した。新たな商品を追加した概念データモデルを図3に,工場,物流センタ,ルート及び納入の関係スキーマを図4に示す。
図3 新たな商品を追加した概念データモデル(未完成)
図4 工場,物流センタ,ルート及び納入の関係スキーマ(未完成)
解答に当たっては,巻頭の表記ルールに従うこと。ただし,エンティティタイプ間の対応関係にゼロを含むか否かの表記は必要ない。
なお,エンティティタイプ間のリレーションシップとして“多対多”のリレーションシップを用いないこと。エンティティタイプ名及び属性名は,それぞれ意味を識別できる適切な名称とすること。また,識別可能なサブタイプが存在する場合,他のエンティティタイプとのリレーションシップは,スーパタイプ又はサブタイプのいずれか適切な方との間に記述せよ。また,関係スキーマは第3正規形の条件を満たしていること。
設問1 図1,2について(1),(2)に答えよ。
(1)図1の概念データモデルは未完成である。図1中の ア , イ に入れる適切なエンティティタイプ名を答えよ。また,必要なリレーションシップを全て記入し,概念データモデルを完成させよ。
解答・解説
解答例
ア:発注
イ:発注明細
解説
ー
(2)図2中の a 〜 h に一つ又は複数の適切な属性名を入れ,図を完成させよ。また,主キーを構成する属性の場合は実線の下線を,外部キーを構成する属性の場合は,破線の下線を付けること。
解答・解説
解答例
a:ルート番号, 配送順序
b:生産ロットサイズ
c:生産工場拠点コード
d:発注番号, 店舗拠点コード, 発注登録日時, 配送予定日時
e:発注番号, 発注明細番号, 商品コード, 発注数量, 生産番号, 配送番号
f:生産工場拠点コード
g:商品コード
h:店舗拠点コード
解説
ー
設問2 〔新たな商品の追加〕について,(1)〜(3)に答えよ。
(1)図3中の ウ 〜 カ に入れる適切なエンティティタイプ名を答えよ。また,必要なリレーションシップを全て記入し,概念データモデルを完成させよ。
解答・解説
解答例
ウ:委託工場
エ:自社工場
オ:納入ルート
カ:配送ルート
解説
ー
(2)図4中の i 〜 k に一つ又は複数の適切な属性名を入れ,図を完成させよ。また,主キーを構成する属性の場合は実線の下線を,外部キーを構成する属性の場合は,破線の下線を付けること。
解答・解説
解答例
i:拠点コード, 委託開始年月日
j:工場拠点コード, 物流センタ拠点コード
k:物流センタ拠点コード
解説
ー
(3)工場と オ の間のリレーションシップは1対多に設定しているが,このリレーションシップの多側のカーディナリティは2種類の値をとる。それぞれについて,カーディナリティの値(数値)と,どのような場合に発生するかを25字以内で具体的に答えよ。
解答・解説
解答例
①カーディナリティの値:1
発生する場合:自社工場から物流センタに納入する場合
②カーディナリティの値:3
発生する場合:委託工場から物流センタに納入する場合
解説
ー
IPA公開情報
出題趣旨
データベース設計では,業務要件を的確に把握し,モデル化する能力が求められる。 本問では,食料品スーパマーケットチェーンにおける商品配送業務を題材に,業務要件に基づくデータモデルの把握力,データベース設計能力,リレーションシップと外部キーの適切な設計能力,及び,業務要件の変化に伴うデータモデルの拡張やデータベース設計の変更能力を問う。
採点講評
問 1 では,食料品スーパマーケットチェーンにおける商品配送業務を題材に,業務要件に基づくデータベース設計について出題した。全体として正答率は平均的であった。
設問 1(1)は,ア,イともに正答率が高かったが,概念データモデルの作成は正答率がやや低かった。“発注明細”,“生産明細”及び“配送明細”と“自社商品”のエンティティタイプ間のリレーションシップが,記入 できていない解答が散見された。状況記述や関係スキーマ,属性とその意味・制約などから業務ルールを的確に読み取り,解答するようにしてほしい。
設問 2(2)は,正答率が低かった。納入は,工場から物流センタへの商品の移動を表し,配送は,物流センタから店舗への商品の移動を表す。納入と配送の違いを,正確に読み取れていない解答が散見された。また,(3) も正答率が低かった。“工場”と“納入ルート”のエンティティタイプ間のリレーションシップについて,自社工場から物流センタへの納入の場合に 1 対 1,委託工場から物流センタへの納入の場合に 1 対 3 になることが,正確に読み取れていない解答が散見された。新たな商品の追加による業務ルールの変更が,概念データモデルにどのように反映されたのかを注意深く読み取ってほしい。