科目A問59
関係データベースで管理された"会員管理"表を正規化して,"店舗"表,"会員種別"表及び"会員"表に分割した。"会員"表として,適切なものはどれか。ここで,表中の下線は主キーを表し,一人の会員が複数の店舗に登録した場合は,会員番号を店舗ごとに付与するものとする。

![]() | |
![]() | |
![]() | |
![]() |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- エ
解説
関係データベースにおける正規化(Normalization)とは、データの重複や不整合を防ぐために、表を分割して構造を整理する手法です。
正規化のポイントは次の2つです。
・「店舗コード」→「店舗名」は店舗表へ分離
・「会員種別コード」→「会員種別名」は会員種別表へ分離
その結果、「会員」表には、
・会員を識別する「会員番号」
・どの店舗かを示す「店舗コード」
・どの種別かを示す「会員種別コード」
が必要になります。
したがって、会員表は
「会員番号、店舗コード、会員名、会員種別コード」
となります。
正規化のポイントは次の2つです。
・「店舗コード」→「店舗名」は店舗表へ分離
・「会員種別コード」→「会員種別名」は会員種別表へ分離
その結果、「会員」表には、
・会員を識別する「会員番号」
・どの店舗かを示す「店舗コード」
・どの種別かを示す「会員種別コード」
が必要になります。
したがって、会員表は
「会員番号、店舗コード、会員名、会員種別コード」
となります。
| ア. | |
| 店舗コードがないため、どの店舗の会員か分からず不適切です。 | |
| イ. | |
| 会員種別コードがないため、会員種別表と関連付けできず不適切です。 | |
| ウ. | |
| 主キーや外部キーの構成が不十分で、正規化が不完全なので不適切です。 | |
| エ. | |
| 店舗コードと会員種別コードを持ち、正しく表を関連付けできるので適切です。 |



