関係データベースで管理された“会員管理”表を正規化して,“店舗”表,“会員種別”表及び“会員”表に分割した。“会員”表として,適切なものはどれか。ここで,表中の下線は主キーを表し,一人の会員が複数の店舗に登録した場合は,会員番号を店舗ごとに付与するものとする。
| 店舗コード | 店舗名 | 会員番号 | 会員名 | 会員種別コード | 会員種別名 |
|---|---|---|---|---|---|
| 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 |
