令和3年度データベーススペシャリスト 自己解答 (午後1-問1、午後1-問3、午後2-問2)


午後1 - 問1

序盤からかなり時間を要した。50分以上かかってしまった。

設問1(1)

a:加盟企業コード(FK)1★要見直し
b:店舗コード(FK)1★要見直し
c:支払金額
d:購入数
e:ポイント設定コード(FK)
f:ポイント付与率
g:配布上限数
h:クーポンコード(PK)2
i:会員コード(PK)2
j:クーポンコード(PK)3
k:レシート番号(PK)3

設問1(2)

店舗 -> クーポン設定対象店舗
店舗 -> 支払★
クーポン設定 -> クーポン設定対象店舗
クーポン設定 -> クーポン配布
クーポン設定 -> クーポン利用
会員 -> クーポン配布
支払 -> クーポン利用
ポイント設定 -> 支払い方法

設問2(1)

候補キー:{加盟企業コード, 加盟企業商品コード}、{加盟企業コード, 横断分析用商品コード}

部分関数従属性:あり
加盟企業商品コード -> 横断分析用商品コード
 ★加盟企業コード->加盟企業名が正しいと思う

推移的関数従属性:あり
{加盟企業コード, 加盟企業商品コード} -> 横断分析用商品コード -> 横断分析用商品名

設問2(2)

主キーとして採用できないもの:{加盟企業コード, 横断分析用商品コード}

理由:横断分析用商品コードは登録から数日はNULLのため、主キー制約に反するから

設問2(3)

正規化:第1正規化
関係スキーマ:
加盟企業(加盟企業コード(PK),加盟企業名,契約開始日,契約終了日)
横断分析用商品(横断分析用商品コード(PK),横断分析用商品名)
加盟企業商品(加盟企業コード(PK)、加盟企業商品コード(PK),JANコード,加盟企業商品名,横断分析用商品コード(FK))

設問3(1)

レシートを忘れて後日、ポイントを後付けした場合

設問3(2)

付与ポイントをポイント残高に反映したかを判定するフラグ

午後1 - 問3

思ったより早く解けた(30分くらい)ので時間が足りなかった問1の延長戦ができた

設問1(1)

イ:1,000
ロ:3,000
ハ:count(*)
ニ:TOTAL
ホ:沿線

設問1(2)

設備が増えた場合でも行追加で対応できる

設問1(3)

a:物件コード,'A1',1
b:エアコン='Y'
c:UNION ALL ★ALL不要かも
d:物件コード,'A2',1
e:オートロック='Y'

設問1(4)

あ:1,600,000
い:20

設問2(1)

f:INNER JOIN
g:INNER JOIN
h:S1.設備名='エアコン'
i:S2.設備名='オートロック'
j:S.設備名 IN ('エアコン','オートロック')

設問2(2)

エアコンとオートロックの両方がある物件の場合

設問2(3)

k:BS1.設備コード IS NULL
 ★ BS1.設備コード='A1'か
l:'Y'
m:'N'
n:LEFT JOIN
o:BS1.設備コード='A1'

午後2 - 問2

過去問に近いオーソドックスな問題に思えた。時間も少し余ったのに見直しが甘くて残念

設問1(1)

ア:チェーン法人締め契機

リレーション:
商品カテゴリ -> 商品カテゴリ明細
商品 -> 商品カテゴリ明細
商品 -(△サブタイプ)- PB商品、NB商品
チェーン法人 -> PB商品
チェーン法人 -> チェーン法人締め契機
製造ロット -> 引当在庫
製造ロット -> 払出在庫
物流拠点 -> 引当在庫
物流拠点 -> 払出在庫
締め契機 -> チェーン法人締め契機
荷姿区分 -> 払出在庫

設問1(2)

イ:ピース梱包内訳

リレーション:
出庫指示 -> 出荷指示
出荷指示 -> 受注
出荷指示 -- 出荷実績
  ★なくて良いと思う
受注 -(△サブタイプ)- 店舗別梱包指定受注
出荷指示梱包明細 -(△サブタイプ)- 出荷指示店舗別梱包明細、出荷指示商品カテゴリ別梱包明細
出庫実績 -(△サブタイプ)- ケース出庫実績、ピース出庫実績
出荷実績 -- 梱包実績
  ★1対多か?
梱包実績 -(△サブタイプ)- ピース梱包実績、ケース梱包実績
ケース出庫実績 -- ケース梱包実績
  ★1対多か?
ピース出庫実績 -> ピース梱包内訳
ピース梱包実績 -> ピース梱包内訳

設問1(3)

a:商品コード(PK),チェーン法人コード(FK)
b:商品コード(PK),売上金額ランク
c:チェーン法人コード(PK),商品カテゴリコード(PK),商品カテゴリ名
d:チェーン法人コード(PK),締め年月日(PK),回目(PK)
e:拠点コード(PK),商品コード(PK),製造ロット番号(PK),在庫数,引当済数,引当可能数
f:拠点コード(PK),商品コード(PK),製造ロット番号(PK),荷姿区分(PK),荷姿別在庫数

設問1(4)

g:出荷指示番号(FK)
h:受注番号(PK),チェーン店舗コード(FK)
i:在庫引当て成否
j:締め年月日(FK),回目(FK),出庫指示番号(FK)
k:チェーン店舗コード(FK)
l:商品カテゴリコード(FK)
m:商品コード(FK),製造ロット番号(FK),出荷指示数
n:拠点コード(FK),締め年月日(FK),回目(FK)
o:製造ロット番号(FK),出庫指示数
p:荷姿区分(FK)
  ★「出庫指示明細」から線が引かれているので「出庫指示番号(FK),出庫指示明細番号(FK)」が必要
q:出庫実績番号(PK),出庫ケース数
r:出庫実績番号(PK),出庫ピース数
s:ダンボール箱区分,出荷実績番号(FK)
t:ケース出庫実績番号(FK)
u:ピース出庫実績番号(PK),ピース梱包実績番号(PK),商品数
v:車両番号(FK),出荷年月日時刻

設問2(1)

チェーン法人 -> 直納対象チェーン店舗
チェーン組織 -(△サブタイプ)- 受注先
チェーン組織 -(△サブタイプ)- 納入先
受注先 -(△サブタイプ)- チェーンDC、チェーン本支部
納入先 -(△サブタイプ)- チェーンDC、直納対象チェーン店舗
チェーン店舗 -(△サブタイプ)- 店舗別梱包対象チェーン店舗、直納対象チェーン店舗

設問2(2)

あ:チェーン組織コード(PK),受注先フラグ,納入先フラグ
い:チェーン組織コード(PK),受注先区分,納入先チェーン組織コード(FK)
  ★「納入先チェーン組織コード」は「う」に「受注先」として書くのが正しい
う:チェーン組織コード(PK),配送地域コード(FK)
  ★同上
え:梱包配送区分
  ★チェーン組織コード(FK)がいる
お:チェーン本支部名称
  ★チェーン組織コード(FK)がいる
か:チェーン店舗区分
き:チェーン法人コード(PK),チェーン店舗コード(PK)
  ★旧チェーン店舗を呼び替えるとのことなので「チェーン店舗名」も必要
く:チェーン法人コード(PK),チェーン店舗コード(PK),梱包配送区分

設問2(3)

<設計変更前>
①納入商品最終ロット
②受注
③出荷指示

<設計変更後>
①納入先
②受注先
③納入先

全体を通して

初挑戦にしては出来たと思うがけっこうミスもある。頼む受かっててくれ笑

(追記)TACの速報で採点

PM1 87点、PM2 73点
あとは誤記がなければ何とか合格できたかも


  1. 順不同 

  2. 順不同 

  3. 順不同