H16午後II 問2
商品配送業務の概念データモデル設計に関する問題。
このまま,物流系は定番化していくのだろうか。。。
設問1
マスタ系概念データモデルと在庫品モデルの設計に関する設問
〔概念データモデルの作成〕の
1.概念データモデルの記述規則と作成順序~2.マスタ系概念データモデルと在庫品モデルが設問範囲
〔業務分析結果〕の1.取扱商品~5.在庫品配送業務の内容までの範囲をチェック。
設問1(1)
適切なエンティティ名を入れる。。。初見では結構面食らった。
あの三つの四角がスーパータイプ/サブタイプの関係であるなんて疑いもしなかった。。。
過去問のスーパータイプ/サブタイプのエンティティ/リレーション充足においては,もっとヒントがあったのに。。。
・スーパータイプ側が書いてあったり(H12午後2問1)
・線引きが書いてないだけだったり(H15午後2問1,H13午後2問1設問1)
・類似エンティティでヒントが示してあったり(H13午後2問1設問3)
今回,線引きもエンティティ名もなしで出てくるなんて思いもせず,「商品」以外の何かを一生懸命探して挫折したものだった。。。
スーパータイプ/サブタイプの設問は意地悪になって行くものと思われる。
話はそれたが。。本設問のポイントとしては,
〔業務分析結果〕の「配送対象商品は,在庫品と直送品に分類される。」これだけでピンとくる人は解答欄が埋まるんだろうけど。。
ちと,慎重に。
bは,図12の在庫品受注明細のスキーマから主キーは商品番号と想定できる。ここで,「商品」と仮置きするのか,「在庫品」と仮置きするかで過去問熟練度(?)の差が出るところだろう。
cは,直送品メーカから矢印が伸びている。つまりは直送品メーカ毎に決まる「何か」ということだが。。明確に書いてある文章が見つからない。
〔業務分析結果〕の3.メーカと工場から「直送品の仕入先メーカをほかの商品のメーカと区別するため,“直送品メーカ”と呼ぶ。」とはあるが,いまいち弱い。仕方なく「メーカ」と書いてる箇所を片っ端から読む。すると,
6.直送品配送業務の内容の(2)メーカへの発注で「店舗からの受注を仕入先の直送品メーカ単位に分割し,直送品メーカに発注している。」とある。図8と図9をチェックし,商品番号と直送品メーカ(発注先)の対応関係が必要であることが確認できた。で,cは「直送品」と判断できる。
設問1(1)
a:商品
b:在庫品
c:直送品
設問1(2)
リレーションシップを補う問題。この手の問題の解法は3つのアプローチがある。
・関係スキーマから導く。
・問題文からビジネスロジックとなるリレーションを読み解く。
・問題文(帳票)からスキーマを導いてリレーションを完成させる。
問題の傾向として「関係スキーマの完成」とセットで出題されることが多い。
(H14午後2問2,H13午後2問1,H13午後2問2,H11午後2問1)
この場合,「関係スキーマの完成」と合せて解く方が賢いと思われる。
設問1(3)
以降,(2)と(3)を合せて進める。
まず,(1)のスーパータイプ/サブタイプの線引きを忘れずに記入する。
次に,「関係スキーマから導く」。図12の関係スキーマを見て,外部キーと思われるもの「○○番号」にとりあえず下線(点線)を引き,リレーションを充足していく。
在庫品受注(店舗番号)←店舗 ・・・ 線を引く
在庫品受注明細(受注番号)←在庫品受注 ・・・ 線が引いてあることを確認
在庫品受注明細(商品番号)←[b]在庫品 ・・・ 線が引いてあることを確認
在庫品出庫(配送センタ番号)←配送センタ ・・・ 線を引く
在庫品出庫(商品番号)←[b]在庫品 ・・・ 線を引く
在庫品配車(配送エリアコード)←配送エリア ・・・ 線が引いてあることを確認
在庫品配車(車両番号) ・・・ エンティティがないため保留
さて。。。保留した「車両番号」ってのは。。。車両っていうエンティティはマスタ系にないし。。。と,表1直送品の属性対応表を見てみると「車両番号」はA(従属属性)となっている。外部キー属性ではないらしい。図12の「車両番号」の下線を消しておこう。
あとは,関係スキーマを完成させないとリレーションは完成しないようだ。アプローチを「問題文(帳票)からスキーマを導いてリレーションを完成させる」に変更する。
未完成のスキーマに目を移す。モデル図及びスキーマから(一般的に)明らかな箇所を記入する。
在庫品仕分(受注番号, )
完成させなきゃいけないスキーマは,在庫品仕分,在庫品仕分明細,在庫品出荷の三つ。対応する仕分指示書(図5),出荷指示書(図6)に飛びつきたいのを我慢して,帳票もスキーマもある出庫指示書(図4)を観察する。帳票上,明細行の一部に見える「出庫番号」が主キーねぇ。。。へぇ。。。配送日付と配送時間帯はどこから持ってきているんだろうか。。。
〔業務分析結果〕4.配送形態より「在庫品の配送は1日1回」,「配送時間帯は,全店舗で共通」表1の直送品の属性対応表では,直送品配車に持っていると。。。よく分からん。。設問じゃない所で悩んでも仕方ないか。。。
次に図5在庫品仕分指示書に目を移す。対応するスキーマは在庫品仕分と在庫品仕分明細。帳票のヘッダ部分と明細部がそれぞれに対応するのは想像に容易い。ヘッダ部,ボディ部から属性を拾う。
ヘッダ(受注番号,配送先,配送エリア,配送日付,配送時間帯)
ボディ(No.,商品番号,商品名,数量)
スキーマに置き換えていく。。
ヘッダ:受注番号はチェック済。配送先は店舗番号であるが,在庫品受注から導出可能であるため,省く。配送エリアは配送エリアコードであり先ほどの店舗番号から導出可能であるため省略。配送日付は「在庫品受注.納品予定年月日」か「在庫品配車.配送年月日」か。。保留,配送時間帯は「全店舗で共通」なのでデータとして持たなくても良い。
在庫品仕分( 受注番号, ) ・・・ く。。増えてない。。。
ボディ:No.は受注明細番号,商品番号は在庫品受注明細から導出(在庫品納品明細でも保持していない),数量は
〔業務分析結果〕4.配送形態より,業務の各段階で実績の数量を記録となるので,仕分数量として属性を持つ。(直送品の属性名と一致していることを横目で確認)
在庫品仕分明細( 受注番号,受注品明細番号,仕分数量 )
消化不良な感じで在庫品出荷指示書(図6)に目を移す。在庫品出荷は明細がないのに,帳票は明細がある。。厄介な。とりあえずヘッダ部,ボディ部から属性を拾う。
ヘッダ(出荷番号,配送エリア,配車番号,出荷日付,車両番号,配送時間帯,配送センタ)
ボディ(受注番号,店舗名,店舗番号)
在庫品“出荷”なので,出荷番号を主キーとする。
ヘッダのうち(配車番号,配送エリアコード,出荷日付=配送年月日,車両番号)は,在庫品配車から参照すると考えるのが普通(1事実1箇所)だろう。
配送センタは在庫品配車-配送エリア-配送センタと導出可能であるため省略。配送時間帯は「全店舗で共通」なのでデータとして持たなくても良い。
と,いうことで
在庫品出荷( 出荷番号,配車番号 )
リレーションを在庫品配車から在庫品出荷に線を引く。多重度は
〔業務分析結果〕4.配送形態より,配送エリア単位に商品が出荷され,配送車が担当の配送エリア内の全店舗に納品という記述から1:1とする。
ボディの方は。。。ちょっと悩む。何を出荷するのか,図3を確認。配送仕分を行ったものを出荷するんだなと。。。在庫品仕分指示書(図5)と在庫品出荷指示書(図6)を見比べる。出荷の明細1行目と仕分のヘッダの値が一致するじゃないですか!
在庫品仕分( 受注番号,出荷番号 )
リレーションを在庫品出荷→在庫品仕分と線を引く。
5.在庫品発送業務の内容 (5)出荷に,出荷された商品と受注の関係を把握するために,受注番号を記録する。そのまま読むと在庫品出荷に受注番号を持つように思えるなぁ。。仕分の方に持つとは。。。
設問1(2)
[a:商品]-△-[b:在庫品]
[a:商品]-△-[c:直送品]
店舗→在庫品受注
配送センタ→在庫品出庫
[b:在庫品]→在庫品出庫
在庫品配車-在庫品出荷
在庫品出荷→在庫品仕分
設問1(3)
在庫品仕分( 受注番号,出荷番号 )
在庫品仕分明細( 受注番号,受注品明細番号,仕分数量 )
在庫品出荷( 出荷番号,配車番号 )
公式解答例には,在庫品仕分明細に出庫番号を保持している(対応するリレーションもある)。
帳票にないんだよなぁ。。。在庫品仕分指示書に出庫番号が。
設問2,設問3は次の機会に。
やっと俺の得意問題キタ━━━━━━ヽ(゚∀゚)ノ━━━━━━!!
この問題の記事をどんなに待ち侘びたことか・゚・(つД`)・゚・。
> あの三つの四角がスーパータイプ/サブタイプの関係であるなんて疑いもしなかった。。。
初っ端からつまづいてんじゃんw
こんなことすら気付かなかったとは、この頃はずいぶん青かったよのう(´・A・`)gakkoよ
> 話はそれたが。。本設問のポイントとしては,
> 〔業務分析結果〕の「配送対象商品は,在庫品と直送品に分類される。」
> これだけでピンとくる人は解答欄が埋まるんだろうけど。。
うむ(´・A・`)
手元の問題用紙を見ると、「配送対象商品」「在庫品」「直送品」にそれぞれ丸が付けてあった
しかもbとcは二人仲良く並んでおり、その上に偉そうにaが居座っているではないか(´・∀・)ノ
速攻aに商品を入れ、bとcにあのお決まりの△のスッパタイプンサブタイプン用矢印を引いたのは言うまでもないヽ(`Д´)ノ
ところがbとcを入れようとしたとき、どっちが在庫品で直送品かすぐにはわからなかったので、伸びてきている矢印の先のエンティティから推測することにした。すると、
> bは,図12の在庫品受注明細のスキーマから主キーは商品番号と想定できる。
> cは,直送品メーカから矢印が伸びている。
から、在庫品受注明細と関連あるのはもちろん在庫品、直送品メーカと関連があるのももちろん直送品と、速攻判断した。gakkoは慎重よのう(´・∀・)
俺の答:a 商品 b 在庫品 c 直送品
設問1(2)
> 1.関係スキーマから導く。
> 2.問題文からビジネスロジックとなるリレーションを読み解く。
> 3.問題文(帳票)からスキーマを導いてリレーションを完成させる。
あまり記憶が定かでないが、主に1.を前提に、主キー外部キーの関係から矢印を引っ張りまくった希ガス
運のいい事に、図12は元々主キーが引いてあったから、他のスキーマで主キーな属性は、他のスキーマでは外部キーになるのは定番
例)在庫品受注(受注番号,店舗番号,受注年月日時刻,納品予定年月日)
店舗テーブルは示されてないが、この店舗番号が店舗への外部キーになってるのは明らか
したがって、在庫品受注←店舗 と線を引く
例)在庫品出庫(出庫番号,配送センタ番号,商品番号,出庫実績数量,出庫実績年月日時刻)
配送センタ番号、商品番号が、それぞれ配送センタ、在庫品への外部キーになってるのも明らか
したがって、在庫品出庫←配送センタ、在庫品出庫←在庫品と俺は力強く定規で線を引いたヽ(`Д´)ノ
こんな調子で引っ張りまくったんだが、あれれ、なんか余計なものまで引っ張りすぎたみたい(;´・∀・)
俺の答:
商品→在庫品△直送品
在庫品→在庫品仕分明細
在庫品→在庫品出庫
配送センタ→在庫品出庫
配送センタ→在庫品出荷
配送エリア→在庫品出荷
配送エリア→在庫品仕分
店舗→在庫品仕分
店舗→在庫品受注
在庫品配車→在庫品出荷
突っ込みよろすくヽ(`Д´)ノ
設問1(3)
> さて。。。保留した「車両番号」ってのは。。。車両っていうエンティティはマスタ系にないし。。。
うむ(´・A・`)俺も「運送会社」とかそんなようなマスタ系のテーブルが上にあるに違いないと探したんだが、見つからない。どうも出題者的にはここらへんはどうでもよさそうな感じだったのでスルーすることにした(´・∀・)ノ
すまん、なんか疲れてきた…_| ̄|〇
>>3
>初っ端からつまづいてんじゃんw
そうそう(苦笑;
3個の四角が違うモノと。思い込んだら・・・途中でリセット効かないね。
>しかもbとcは二人仲良く並んでおり、その上に偉そうにaが居座っているではないか
aがもうちょっと右に居てくれれば。。。ってb,cの真上に居たらバレバレだなw
もうちょっと出題者の意図を読まないとダメだったなぁと思ったね。改めて考えると単にマスタ系のエンティティが3個欠けているワケないよな。設問1は問題の導入部なワケだし,設問3はモデルの統合がお題なワケだからネタ振りとしては至極当然な設問だわな。
>>4
>突っ込みよろすく
在庫品仕分,在庫品仕分明細,在庫品出荷のスキーマはどうなったのかなぁ。。。と,想像してみる。
在庫品仕分(受注番号,配送エリアコード,店舗番号,・・)
在庫品仕分明細(受注番号,受注明細番号,商品番号,仕分数量,・・)
在庫品出荷(出荷番号,配車番号,配送センタ番号,配送エリアコード,・・)
[在庫品受注]-[在庫品仕分]-[在庫品納品] が 受注番号で
[在庫品受注明細]-[在庫品仕分明細]-[在庫品納品明細] が {受注番号,受注明細番号}で
1:1の関係があるので,
在庫品→在庫品仕分明細
店舗→在庫品仕分
はそれぞれ,在庫品受注と在庫品受注明細を参照すれば良いので省略っすね。
同様に
「在庫品配車→在庫品出荷」を書けば
配送エリア→在庫品出荷 ・・・ 配車番号で在庫品配車を参照し配送エリアコードを取得
配送センタ→在庫品出荷 ・・・ 配車番号で在庫品配車を参照し,配送エリアコードで配送エリアを参照し配送センタ番号を取得
配送エリア→在庫品仕分 ・・・ 受注番号で在庫品受注を参照し,店舗番号で店舗を参照し配送エリアコードを取得
すれば良いのでこちらも省略可能っす。
何を省略して良いのか解答見直し時にしっかりチェックしたいっす。
この問題の場合,設問1のスキーマが大きく違うと後の設問に響くので慎重に行きたいですな。
>>5
>なんか疲れてきた
疲れるっしょ。。。設問1で1問解くくらいの時間がかかって,ぐったりっすw
設問1(3)
めんどいので合格者の答だけ書いとく。まあこんなんでも受かるんだなと思ってw
在庫品仕分(受注番号、配送先店舗コード、配送エリアコード、配送年月日、配送時間帯)
在庫品仕分明細(受注番号、受注明細番号、商品番号、数量)
在庫品出荷(出荷番号、配送エリアコード、配車番号、出荷日付、車両番号、配送時間帯、配送センタ番号)
あと普通PKが先じゃないかなあ(↓のボタンの並び)
なんで先にFKなの?
ちなみに<em>ってタグ知らなかったんだけど、これもちろんあのまったく融通の利かないネスケじゃ無理だよねw
> 疲れるっしょ。。。設問1で1問解くくらいの時間がかかって,ぐったりっすw
うん、やってみて初めてgakkoの大変さがわかったwこりゃ好きじゃなきゃやってられんw
普段依頼とかネタ振り丸投げしてるがこんなに大変だったとはw
>>7
PKを先にしました。
IをFK,UをPKに置き換えただけで,位置の変更はしなかったんだよね。。(めんどかったからw)
EMタグ
movabletypeでイタリックは「I」じゃなく何故か「EM」なんだよね。。。「I」は装飾で「EM」は強調という意味があるからなんだろうなぁ。。。太文字も「B」でなく「STRONG」だし。
下点線ですが。。ネスケでもオペラでも点線で見えました。(よしよし)
>合格者の答
連鎖的に不正解としないように,柔軟な採点が行われていることを期待しますです。。。
>こりゃ好きじゃなきゃやってられん
最近は義務感が。。。w
あれ俺の答えに関する添削は(´・ω・)? そこらへんはgakkoの解説読めばわかるようになってんのかな。それならよし
あとなぜ解答書いてないんだ…_| ̄|〇
あとその解説妙に完璧なんだが、gakkoの自分の考えを書いてるんじゃなくて、既存の解答解説にあわせて柔軟に書いてるだけ?
それならgakkoが推す模範解答なのもキボンo(´・∀・`)o
>>9
解説というか,考え方の流れというか。。。公式解答例をベースに出題者が望むであろう「思考ルート」を模索しています。(アイテック本の解説は全く参考にしていません)
公式解答例が出ているのに推すも何も。。。ないんでは?(ツッコミはあるかもしれないけど)
「公式絶対」「JITEC神様」と拝んでいるんだけどw
この辺はベンダ試験の習性が染み付いているっぽい。
添削? >>7 のスキーマは。。。
ちと,休憩させてくださいまし。
>>7
遅くなりましたが。。。
スキーマを書く時のチェックポイントとしては,
主キー,外部キーの識別の他に
・他のスキーマから導出可能な属性を保持していないか。
・属性の名称は適当か。
・他のスキーマと論理的な整合が取れているか。
と,いうのが挙げられると思います。
在庫品仕分(受注番号、配送先店舗コード、配送エリアコード、配送年月日、配送時間帯) 在庫品仕分明細(受注番号、受注明細番号、商品番号、数量) 在庫品出荷(出荷番号、配送エリアコード、配車番号、出荷日付、車両番号、配送時間帯、配送センタ番号)
在庫品仕分(受注番号、配送先店舗コード、配送エリアコード、配送年月日、配送時間帯)
きっちり図5の在庫品仕分指示書からボトムアップしてますね。
・単に「店舗コード」とするのではなく「配送先店舗コード」のようにロール名をきちんと付与する方が良いと思っています。見直し時も分かりやすいですし。しかし・・・店舗の主キーは「店舗番号」なので・・・「店舗コード」だと減点される可能性があると思われます。
・「配送エリアコード」は店舗を「配送先店舗番号」で参照すれば導出可能なので省略しないと減点対象になると思われます。同様に「配送先店舗番号」も在庫品受注を「受注番号」で参照すれば導出可能です。
・在庫品仕分の主キーは「受注番号」として,導出できていない属性は{配送年月日,配送時間帯}のふたつ。「配送年月日」は配車に保持しているので,配車からのリレーションを検討しなければならないと考えられます。
しかし。。。在庫品配車に「配送時間帯」がないのは意地悪っす。
在庫品仕分明細(受注番号、受注明細番号、商品番号、数量)
こちらも,きっちりボトムアップ。
・こちらの「数量」にはロール名がないっす。。。他のスキーマは「受注数量」,「納品数量」となっているので「仕分数量」としたいです。
・在庫品納品に「商品番号」が無いので在庫品仕分も「商品番号」を保持せずに在庫品受注を参照するものと考えられます。
在庫品出荷(出荷番号、配送エリアコード、配車番号、出荷日付、車両番号、配送時間帯、配送センタ番号)
こちらも,きっちりボトムアップ。
・配車番号を外部キーとして持っているので,{配送エリアコード,車両番号,配送センタ番号}は省略可能です。
・「出荷日付」はタイムスタンプとして持っても良いと思いますが,公式解答例においては,「出荷日付」=「配送年月日」のようですね。。。
・後は在庫品配車と在庫品出荷と在庫品仕分のリレーション(多重度含む)。。。帳票だけ見ていると硬直するっす。初見の時,結構悩んだんだよな。。。
こんばんは。
この問題の難しい点
・出荷明細がなく、仕分に出荷番号を持つ点。問題文からは逆に読めるので意地悪。
・直送品生産の主キーが決めづらい。こういう場合どれでも○になるようだし、どれかに決めて初志貫徹するのが良さそう。
・在庫品仕分明細に出庫番号をいれること
いれないと、設問3(4)で悩む。私はここで入れることにしました。
公式解答例では出庫番号は省略可になっているが、そうなると在庫品仕分明細を直送品仕分明細にすればいいわけで、この設問がなりたたなくなるのではないだろうか。
納得いかない点
表1で直送品には出荷年月日時刻があるのに、なぜ在庫品出荷にはないんだー。どこか見落としてるのだろうか・・・。
ども。おみおみ さん
>問題文からは逆に読める
「出荷された商品と受注の関係を把握するために,受注番号を記録する」ってヤツですね。厄介です。。。
どう読んでも
出荷(出荷番号,受注番号)ですもんねぇ。。。
>直送品生産の主キーが決めづらい
問題文を読んでも決定的な記述がなく,見落としがないかと探し回りますよね。。。
問題文絶対から一般論に切り替えて解き進むのは勇気がいりますw
>この設問がなりたたなくなる
ここで不安になるんですよね。。。非キー属性がない!!って。。。
で,前の設問を見直したくなる。。。でもグッと我慢して,まずは次の設問を解かないと。
>納得いかない点
在庫品の配送は1日1回で,かつ,厳密な鮮度管理が必要でないから。。。とか。
ガッコとお悔やみのレベルは恐ろしいな(;´・∀・)
俺は実際はそこまで考えてなかった気がする
割とシンプルにガンガン解き進めていった気が
逆にそれがよかったのかもしれんが(´・∀・)ノ
まあこんなでも受かると思って(・∀・`)ゞ
>>8 :g@kko
>EMタグ
> movabletypeでイタリックは「I」じゃなく何故か「EM」なんだよね。。。「I」は装飾で「EM」は強調という意味があるからなんだろうなぁ。。。太文字も「B」でなく「STRONG」だし。
HTMLの書き方としては、'I(斜体)'や'BOLD(太字)'のように物理的な見え方を規定するのをやめて、'EM(強調)'や'STRONG(強い強調)'のように論理的な意味づけをしましょうというのが時代の流れ。
'EM'や'STRONG'をどのように表現するのかは、ブラウザに任せるというのが基本的な考え方です。例えば、読み上げ型ブラウザなら声を大きくするとかの表現方法があるのです。
設問3(5)
多くの業者がキーワードを入れろとか言っておきながら、解説では絶対にそのキーワードについて触れられてないのは摩訶不思議w(゚д゚)w
ではこの問題で盛り込んでおくべきキーワードとは何かo(´・∀・`)o
キーワード
〔概念データモデルの作成〕
「在庫品配送業務と直送品配送業務は商品特性に違いがあり,異なる業務である」
肉付け
「異なる業務」を補足
在庫品は受注後:手配
直送品は受注後:メーカへの発注
「商品特性に違い」を補足
同じ属性(商品番号)でも参照しているエンティティ(サブタイプ)が異なる。
※設問3(1)~(4)の内容と矛盾することを書かないこと。
解答例っぽいもの
『在庫品受注明細と直送品受注明細はそれぞれ参照するエンティティが在庫品・直送品と違いがある。また,受注後の業務処理が異なり配送形態も異なるため,このような統合にしたと考える。』(86文字)
。。。んーイマイチ。もうちょっと肉付けした方が良いかも。
>>17
なかなか良い点を突いたと言えるであろう(´・∀・)ノ
しかし俺が聞いてるのはキーワードだm9(´・A・`)
ここは次の二つの点から答える必要があるらしい
・属性の意味的な役割
・属性値の集合(定義域)
このことから、
「参照するエンティティが違う」
「排他的な関係」
「定義域、ドメイン」
といったものがキーワードになると思われる(´・∀・)ノ
最後のは、この前じーさんを引っ掛けた問題の選択肢にある「ある項目のデータ型やけた数などについての制約」もヒントになる。両者の商品番号のドメイン制約はそれぞれまったく別個のものになるからだヽ(`Д´)ノ
ところで俺はどうしたかというと、正直いくら本文のいろんなところを読み直しても、どうしてもヒントらしきものがなく、参っていた
だからこの両者がいかに違うかをひたすらとくことに集中し、適当な言葉で字数も稼ぐことにしたw
「在庫品と直送品は商品としてまったく異質なものであり、生産情報や拡張性を踏まえ、両者を別にして柔軟な対応ができるようにしておく必要があるため」
よくぞこんな答で受かったなと思ってるだろm9(・A・)
ちなみにガッコが持ってる2005年用の問題集では、ここの答えどう書いてあるのo(´・∀・`)o