メインコンテンツへスキップ
基本情報技術者2009年度 春期午前32

2009年度 春期 基本情報技術者 午前32

難度標準

“従業員”表を第3正規形にしたものはどれか。ここで、下線部は主キーを表す。

従業員(従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})

({}は繰返しを表す)

選択肢

従業員番号 従業員氏名 技能コード 技能名 技能経験年数
従業員番号 従業員氏名 技能コード 技能経験年数 技能コード 技能名
従業員番号 技能コード 技能経験年数 従業員番号 従業員氏名 技能コード 技能名
従業員番号 技能コード 従業員番号 従業員氏名 技能経験年数 技能コード 技能名

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

ウが正解です。第3正規形(3NF)とは、第2正規形(2NF)であり、かつ、非キー属性が主キー以外の属性に関数従属しない状態を指します。問題文の「従業員(従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})」において、{技能コード,技能名,技能経験年数}は繰返し属性なので、このままでは正規化されていません。

詳細Layer 2

まず、繰返し属性を解消し、従業員と技能の関連を表現するために、従業員表と技能表に分割することを考えます。従業員表には従業員番号と従業員氏名を、技能表には技能コード、技能名、技能経験年数を格納します。ここで、技能経験年数は技能コードにのみ関数従属します(技能コード→技能名, 技能経験年数)。また、従業員番号と技能コードの組み合わせで、特定の従業員が持つ特定の技能の経験年数を表すとすると、従業員番号と技能コードは複合主キーとなり、技能経験年数はその複合主キーに関数従属します。

補足Layer 3

選択肢ウは、「従業員番号 技能コード 技能経験年数」と「従業員番号 従業員氏名」と「技能コード 技能名」という3つの表に分割しており、これは第3正規形を満たしています。従業員番号と技能コードと技能経験年数の表では、従業員番号と技能コードの組み合わせが複合主キーとなり、技能経験年数はこれに依存します。従業員番号と従業員氏名の表では、従業員番号が主キーで従業員氏名がそれに依存します。技能コードと技能名の表では、技能コードが主キーで技能名がそれに依存します。

アは、技能名が技能コードにのみ関数従属するにも関わらず、1つの表にまとめられており、第3正規形ではありません。イは、従業員番号と技能コードが主キーとなる場合、技能経験年数が技能コードにのみ関数従属してしまう(部分関数従属)ため、第2正規形を満たしていません。エは、従業員番号と技能コードを主キーとした場合、従業員氏名が従業員番号にのみ関数従属し、技能名が技能コードにのみ関数従属するといった非キー属性の関数従属関係を考慮すると、第3正規形とは言えません。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「データベース」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
正規化・SQL・トランザクション特性(ACID)・同時実行制御・分散DBの基本。
学習の進め方
ER 図 ⇄ 関係スキーマ ⇄ SQL の3者を行き来できるよう演習。3NF までの正規化を手で実行できると強い。
関連キーワード
正規化SQLACIDトランザクションロックデッドロックER図
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

データベース の他の問題