
応用情報技術者試験基礎・応用
条件を読む・根拠を説明する
推移的関数従属の分離
条件を整理し、答えを選んでから解き方を確認しましょう。
社員表(社員番号,部門番号,部門名)で社員番号→部門番号、部門番号→部門名が成立する。更新不整合を防ぐ分解はどれか。
答え・解き方を読む
社員(社員番号,部門番号)と部門(部門番号,部門名)
図で見る
番号から別の番号を経て名称が決まる
社員番号→部門番号→部門名の従属を分け、部門番号と部門名の対応を部門表へ置きます。単なる処理順でなく、属性値を決める依存関係の矢印です。
図は問題の関係を整理する模式図です。記号には各問題の数値を当てはめます。寸法・面積・時間の縮尺や、実施工の全条件は表していません。
考える順序
- 1部門名は社員でなく部門番号に従属
- 2同じ部門名の重複保持で更新漏れが起こり得る
- 3部門情報を分離しキーで対応付ける
選択肢ごとの理由
- 比較 · 全行の部門番号を同じ値に置換する
データの意味を変える操作は正規化ではありません。
- 正解 · 社員(社員番号,部門番号)と部門(部門番号,部門名)
部門名は社員でなく部門番号に従属。同じ部門名の重複保持で更新漏れが起こり得る。部門情報を分離しキーで対応付ける。
- 比較 · 社員番号を削除して部門名だけ残す
社員を一意に識別する情報が失われます。
- 比較 · 部門名を社員ごと自由記述にする
自由記述では表記揺れや不整合が増えます。