ITパスポート 令和5年度 問59
データベース
正規化に関する問題
関係データベースで管理された“会員管理”表を正規化して,“店舗”表,“会員種別”表及び“会員”表に分割した。“会員”表として,適切なものはどれか。ここで,表中の下線は主キーを表し,一人の会員が複数の店舗に登録した場合は,会員番号を店舗ごとに付与するものとする。
会員管理
| 店舗 | 店舗名 | 会員番号 | 会員名 | 会員種別 | 会員種別名 |
|---|---|---|---|---|---|
| 001 | 札幌 | 1 | 試験 花子 | 02 | ゴールド |
| 001 | 札幌 | 2 | 情報 太郎 | 02 | ゴールド |
| 002 | 東京 | 1 | 高度 次郎 | 03 | 一般 |
| 002 | 東京 | 2 | 午前 桜子 | 01 | プラチナ |
| 003 | 大阪 | 1 | 午前 桜子 | 03 | 一般 |
店舗
| 店舗 | 店舗名 |
|---|
会員種別
| 会員種別 | 会員種別名 |
|---|
〔選択肢〕(原典では選択肢そのものが図=項目を横一列の枠で並べ,主キーに下線を引いたもの。項目の並びに書き起こしたもの)
- ア {会員番号|会員名}
- イ {会員番号|会員名|会員種別コード}
- ウ {会員番号|店舗コード|会員名}
- エ {会員番号|店舗コード|会員名|会員種別コード}
答えと解説
✓ これが正解エ {会員番号|店舗コード|会員名|会員種別コード}
解説
店舗コードも主キーに含め、会員種別コードを残した形です。
正規化では、繰り返し現れる情報を別の表に切り出し、残った表には、その表でしか決まらない項目だけを置きます。店舗名は店舗表へ、会員種別名は会員種別表へ移るので、会員表に残るのは会員名と会員種別コードです。ここで決め手になるのが、一人の会員が複数の店舗に登録した場合は会員番号を店舗ごとに付与するという条件です。会員番号だけでは行を一つに決められないので、店舗コードと会員番号の二つを合わせて主キーにする必要があります。よって会員番号と店舗コードを主キーとし、会員名と会員種別コードをもつ形が適切です。切り出した先の表に移った項目を、元の表にも残しておくと、同じ事実が二か所に置かれることになり、正規化した意味が薄れます。
ほかの選択肢の解説
- ア {会員番号|会員名}:会員番号と会員名だけの形です。会員番号だけを主キーにすると、店舗が違えば同じ番号があり得るため、行を一つに決められません。会員種別コードも落ちているので、どの種別に属するかをたどれなくなります。
- イ {会員番号|会員名|会員種別コード}:会員種別コードは残していますが、主キーが会員番号だけになっています。店舗ごとに番号を付ける以上、同じ番号の会員が別の店舗に存在し得るので、これでは行を見分けられません。複合キーが必要かどうかは、同じ値の行があり得るかで決まります。会員番号だけでは足りません。
- ウ …}:主キーは会員番号と店舗コードの二つで正しいのですが、会員種別コードが落ちています。会員がどの種別に属するかを示す項目が無くなると、会員種別表との結び付きが切れてしまいます。
関連用語
- 正規化表の重なりを消して、同じ事実を一か所に集める手立てです。
- 主
キー 表の中の一行を選び出すための項目です。 - 関係
データベース データを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。
出典:令和5年度 ITパスポート試験 問59(改変:原典の図表をテキストに書き起こした)
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
関連問題
- 令和8年度 問69:
正規化に 関する 問題 (正規化) - 令和8年度 問72:
外部 キーに 関する 問題 (主 キー) - 令和8年度 問57:
外部 キーに 関する 問題 (関係 データベース) - 令和7年度 問65
(主 キー) - 令和6年度 問81:
正規化を 行った 結果の 表の 組合せ (正規化)
同じ分野の問題
誤りを見つけたら報告する