関係データベースで管理された“会員管理”表を正規化して,“店舗”表,“会員種別”表及び“会員”表に分割した。“会員”表として,適切なものはどれか。ここで,表中の下線は主キーを表し,一人の会員が複数の店舗に登録した場合は,会員番号を店舗ごとに付与するものとする。
店舗コード | 店舗名 | 会員番号 | 会員名 | 会員種別コード | 会員種別名 |
---|---|---|---|---|---|
001 | 札幌 | 1 | 試験 花子 | 02 | ゴールド |
001 | 札幌 | 2 | 情報 太郎 | 02 | ゴールド |
002 | 東京 | 1 | 高度 次郎 | 03 | 一般 |
002 | 東京 | 2 | 午前 桜子 | 01 | プラチナ |
003 | 大阪 | 1 | 午前 桜子 | 03 | 一般 |
店舗コード | 店舗名 |
---|
会員種別コード | 会員種別名 |
---|
-
会員番号 会員名 -
会員番号 会員名 会員種別コード -
会員番号 店舗コード 会員名 -
会員番号 店舗コード 会員名 会員種別コード
解答
エ
解説
“会員管理”表から、[会員番号]は店舗ごとに割り当てられており、単独では重複して主キーにならないことがわかります。
したがって、[会員番号]のみを主キーとしているア、イは不適切です。
またウは、[会員種別コード]がないため、会員がどの会員種別かの情報が抜け落ちてしまいます。
よって、エが正解とわかります。(データの意味を考えると、[会員番号]と[店舗コード]の並びは逆の方が適切かと思います。)
なお、正規化した表は次のようになります。
店舗コード | 店舗名 |
---|---|
001 | 札幌 |
002 | 東京 |
003 | 大阪 |
会員種別コード | 会員種別名 |
---|---|
01 | プラチナ |
02 | ゴールド |
03 | 一般 |
会員番号 | 店舗コード | 会員名 | 会員種別コード |
---|---|---|---|
1 | 001 | 試験 花子 | 02 |
2 | 001 | 情報 太郎 | 02 |
1 | 002 | 高度 次郎 | 03 |
2 | 002 | 午前 桜子 | 01 |
1 | 003 | 午前 桜子 | 03 |