投稿する

[0550] 令和3年 午後I 問1

 Flatailさん(No.1) 
タイトルの設問1(1)において、
関係[支払]の選択肢a,bに項目[加盟企業コード]、[店舗コード]が入るというのは問題文中のどの部分からわかるでしょうか?

関係[支払]に"店舗"ごとの情報が一般的には必要で、その場合は関係[店舗]の主キーである[加盟企業コード]と[店舗コード]を外部キーとして関係[支払]に持たせなければいけないことは常識的には理解できるものの、問題文中のどの部分からそれを確定させるべきなのかがわからない状態です。

よろしくお願いいたします。
2023.08.30 23:30
logres_fanさん(No.2) 
DB ブロンズマイスター
> 問題文中のどの部分からそれを確定させるべきなのかがわからない状態です。
  関係スキーマだけで確定させて下さい。問題文に根拠を求める受験生を落とす設問です。
  関係スキーマだけで解答する訓練をやらない限り、点数は伸びない仕組みなので、問題文はおまけ程度と思いましょう。
2023.08.31 01:22
 Flatailさん(No.3) 
ご回答ありがとうございます!
「概念スキーマ」の問題だと(問題の大半が関係スキーマとER図を埋める設問ということもありますが)問題文中から抜き出すものが多いので、「DB設計」の問題でも同様のアプローチで文中から都度抜き出しながらやる方法で完結できればと思いましたが、そう甘くはないですね。

重ねての質問で申し訳ないのですが、関係スキーマから確定させるというのは具体的にはどの部分に着目している等ありますでしょうか?
今回の問題だと、ER図でも[支払]-[店舗]に元からはリレーションが貼られていないのもあり、関係スキーマのみで判定する際の勘所のようなものがあれば教えていただきたい次第です!
2023.08.31 16:30
logres_fanさん(No.4) 
DB ブロンズマイスター
例、レシート番号が決まると、諸々が決まるテーブル(空欄を除く)
[支払]{レシート番号},会員番号,支払日付,利用ポイント
  まず、レシート番号以外に注目して、Xが決まるとYが1つに定まる、という形式に当てはめます。会員番号と支払日付が決まると利用ポイントが1つに定まる、と当たり障りがないものを選びます。
[支払]{レシート番号},会員番号,空欄a,空欄b,支払日付,利用ポイント
[支払方法明細]{レシート番号,支払方法コード},…
[購入商品明細]{レシート番号,加盟企業コード,加盟企業商品コード},…
  そして、空欄から他のテーブルを参照する、という方針を試します。
  支払方法テーブルや加盟企業商品テーブルを参照する場合は、矛盾が生じるので却下。会員テーブルを参照する場合は、既に参照済なので却下。残りは店舗テーブルを参照する場合。
[支払]{レシート番号},支払方法コード,…
[支払方法明細]{レシート番号,支払方法コード},…  正規化違反
[支払]{レシート番号},加盟企業コード,加盟企業商品コード,…
[購入商品明細]{レシート番号,加盟企業コード,加盟企業商品コード},…  正規化違反
  最後に、「Xが決まるとYが1つに定まる」の形式に当てはめます。会員番号と支払日付と参照キー(参照先:店舗テーブル)が決まると利用ポイントが1つに定まる。当たり障りがないので採用。(省略しましたが、ポイント設定やクーポン設定を参照先にすると、意味がちぐはぐで通じなくなるので却下)
2023.09.01 00:51
wahiroさん(No.5) 
スレ主様の疑問が解決済みであれば申し訳ありませんが、掲題の設問の場合、問題文中の下記の内容から判断可能です。

>5.ポイントの後付け(1)
>~会員が申告すると店員は支払時のレシートに押印する。会員がこのレシートを1か月以内にこの店舗に持って行き~

ポイントの後付けを行う場合、支払時のレシートを、支払を行った店舗に持ち込む必要があります。したがって、支払の記録がどの店舗で行われたものかを識別するために店舗の主キーを外部キーとして持たせる必要があります。
2023.09.02 22:23

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop