午後1 問1 60分
設問1 - (1)
a:付与ポイント
b:発行日時
c:支払金額
d:購入数
e:ポイント設定コード(FK)
f:ポイント付与率
g:(未記載) -> ★配布上限数?
h:クーポンコード(PK)
i:会員コード(PK) ★
j:クーポンコード(PK)
k:レシート番号(PK)
設問1 - (2)
クーポン設定対象店舗 <- 店舗
クーポン設定 -> クーポン設定対象店舗
クーポン設定 -> クーポン配布
クーポン設定 -> クーポン利用
クーポン利用 -> 支払
支払方法 <- ポイント設定
設問2 - (1)
候補キー:
{加盟企業コード、加盟企業商品コード}、{加盟企業コード、横断分析用商品コード}
部分関数従属:あり、加盟企業コード -> 加盟企業名
推移的関数従属:
あり、{加盟企業コード、加盟企業商品コード} -> 横断分析用商品コード(★) -> 横断分析用商品名
(★) 候補キーの一部なので推移的関数従属にはならない(気がする)
設問2 - (2)
横断分析用商品コードの設定には数日を要するため(23文字)
(3)
正規化:
第1正規形
関係スキーマ:
加盟企業: 加盟企業コード(PK)、加盟企業名、契約開始日、契約終了日
加盟企業商品: 加盟企業コード(PK)、加盟企業商品コード(PK)、加盟企業商品名、JANコード、横断分析用商品コード(FK)
横断分析用商品: 横断分析用商品コード(PK)、横断分析用商品名
設問3 - (1)
(未記載) ★支払いの翌日以降にポイントの後付けを行なった場合
設問3 - (2)
付与ポイントをポイント残高に反映したかを判断するフラグ
午後1 問3 30分(途中時間切れ)
設問1 - (1)
イ:1000 (= (1,6000,000 / 400 / 2 / 2))
ロ:3000 (= (1,6000,000 / 400 / 2) + (1,6000,000 / 400 / 2 / 2))
ハ:COUNT(*) ★
ニ:TOTAL
ホ:沿線
設問1 - (2)
テーブル定義の変更なく商品の入れ替え処理ができる(24文字)
設問1 - (3)
a:物件コード,'A1',1
b:エアコン='Y'
c:UNION ★
d:物件コード,'A2',1
e:オートロック='Y'
設問1 - (4)
あ:1,200,000
い:2
設問2 - (1)
f:LEFT JOIN ★
g:LEFT JOIN ★
h:S1.設備コード = 'A1' ★
i:S2.設備コード = 'A2' ★
j:S.設備コード IN ('A1','A2') ★
設問2 - (2)
(未記載) ★(30文字)
設問2 - (3)
k:(未記載) BS1.物件コード = 'A1'
l:(未記載) 'Y'
m:(未記載) 'N'
n:(未記載) LEFT JOIN ★
o:(未記載) 物件コード = 'A1'
※ ★: 見直したい箇所です
感想
問1: 問題文を読み進めていくが、概念データモデルや関係スキーマがなかなか埋められず、時間だけが過ぎていくので焦った。推移的関数従属の定義がきちんと頭に入ってなかったせいで設問2に時間がかかった。設問3は見直すと内容的には簡単だった。
問3: 時間がない状態でよく解けた方だと思う。全体的に言えることだが全ての問題を解こうとせず、高得点の問題を解く方向に舵を切った方がよいと思った。