«続きを隠す
参照要件(b)
変更前後の販売実績テーブル&商品軸テーブルは以下のとおり

商品軸.大分類コードで選択(WHERE),SKUコードで結合すれば要件を満たせる。
解答:×
※○としている示現塾の解答例は間違っていることになる。
参照要件(c)
後継品テーブルを前提とする場合(アイテック解答例)
(設問文に「設問3(1)を前提とする」ことが明示されていないため,前提として良いか疑問が残る)
変更前後の販売実績テーブル&商品軸テーブル&後継品テーブルは以下のとおり

A:商品軸.大分類コードで選択(WHERE),商品軸.商品コードと後継品.後継品コードを結合し,後継品.前商品コードを射影
B:商品軸.大分類コードで選択(WHERE),商品軸.商品コードを射影
AとBを和演算(UNION)したものと販売実績.商品テーブルを結合する。
解答:×
他(示現塾,DB Magazine,iTAC,TAC(web))の解答例は○,ファクトテーブルの変更が必要となっている。
が,しかし,今回,図を作っていて気が付いたんだが。。。中分類コードの変更がなければ,

商品軸.大分類コードで選択(WHERE),中分類コードで結合すれば要件を満たせるんでないかい?
設問4(3)
vol.2にも書いたが,2通りの考え方がある。
月末の夜間バッチ処理をどう捉えるかであるが,問題文に明言がないため,判断を悩む。
A:月末のバッチ処理で,業務系システムの「当月分の販売実績」から,「当月分の大分類別月別販売実績」を「現時点で有効な商品軸」で作成する。
B:月末のバッチ処理で,業務系システムの「すべての販売実績」から,「すべての大分類別月別販売実績」を「現時点で有効な商品軸」で作成する。
前者(A)は,示現塾,DB Magazine,iTAC,TAC(web)の解答例の考え方であり
後者(B)は,アイテックの解答例の考え方である。
私は,前者(A)を推したい。
では,それぞれの参照要件において,AとBの違いを見ていきたい。
参照要件(a)
Aの場合
大分類別月別販売実績テーブルは以下のとおり

※(中分類)と(商品コード)は実際のテーブルにはないが,それぞれがどの大分類に集計されているかを示すために同一の表に記載している。(以下,同様)
問題なく要件を満たしている。(解答:×)
Bの場合
大分類別月別販売実績テーブルは以下のとおり

中分類P11が大分類B1内に反映されていない。(解答:○)
参照要件(b)
Aの場合
大分類別月別販売実績テーブルは以下のとおり

大分類B2に変更前の大分類B1の実績(中分類P11,P12)が含まれない。(解答:○)
Bの場合
大分類別月別販売実績テーブルは以下のとおり

問題なく要件を満たしている。(解答:×)
参照要件(c)
Aの場合
大分類別月別販売実績テーブルは以下のとおり

ケース4以前に大分類B3の実績はなく,大分類B1に大分類B3中分類P12の実績が含まれる。(解答:○)
Bの場合
大分類別月別販売実績テーブルは以下のとおり

ケース1以前の大分類B3の集計に商品コードM122が含まれていない。(解答:○)
以上のように,前提条件が違うと解答が大きく違う。
問題が悪かった。選択運がなかった。で,済む範囲なのか??