DBデータベーススペシャリスト試験 午前Ⅱ
平成30年度春期 データベーススペシャリスト 午前Ⅱ 問4
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アいかなる部分従属性も成立しない。
- イ推移的関数従属性が存在しない。
- ウ属性の定義域が原子定義域である。
- エ任意の関数従属A→Bに関して,Bは非キー属性である。
解き方のヒントを見る
関数従属と正規形の見直し方
属性どうしの依存関係を一つずつ整理し、分解や正規化の結果が元の情報を保てるか、更新時の不整合を招かないかという観点から検討しましょう。定義と前提を確認してから、各候補を同じ基準で比べることが大切です。
この問題で問われていること
ここでは、属性間の依存関係を整理したうえで、表の分け方がどのような利点や注意点を生むかを確認することに集中し、個別の答えを先に決めないようにしましょう。各段階の目的を言葉で説明できるかも意識してください。
視点
正規化を考えるときは、まず各属性がどの情報を説明しているかを区別し、依存関係の範囲と表の役割を整理します。その後、分割によって重複や更新の負担がどう変わるかを、定義に照らして確認します。
確認ポイント
- 属性間の依存関係を、表全体と一部の属性に分けて整理できているか
- 表を分けた場合に、情報の重複や更新時の負担がどう変わるか
- 各正規形の目的を、個別の選択肢に依存せず説明できるか
正解と解説を見る
正解
イ
解説
第2正規形は部分関数従属性を排除した状態であり、第3正規形にするには、非キー属性が他の非キー属性に依存する推移的関数従属性も排除する必要がある。
理由
第2正規形では、候補キーの一部に非キー属性が従属する部分関数従属性を取り除く。第3正規形ではさらに、キーから非キー属性へ直接ではなく別の属性を経由して従属する推移的関数従属性を取り除く。
比較
属性値を原子化する条件は第1正規形に関係し、部分従属性がないことは第2正規形の条件です。第3正規形では、関数従属性の決定側と従属側がキーかどうかを確認する。
選択肢ア
これは不正解だよ。部分関数従属性が成立しないことは、複合候補キーの一部に非キー属性が従属しないことを表し、第2正規形の条件に当たる。問題文ですでに第2正規形を前提としているため、第3正規形に進むための追加条件そのものではない。
選択肢イ(正解)
これは正解だよ。第2正規形である関係を第3正規形にするには、キーから非キー属性への従属性が、別の非キー属性を経由して成立する推移的関数従属性を排除する必要がある。この条件により、非キー属性間の間接的な依存を防げる。
選択肢ウ
これは不正解だよ。属性の定義域が原子定義域であることは、1つの属性値を分割できない基本的な値として扱う条件であり、第1正規形に関係する。第2正規形を前提に第3正規形となるための追加条件は、原子性ではなく関数従属性の構造に関するものである。
選択肢エ
これは不正解だよ。任意の関数従属で従属側属性が非キー属性であるという条件は、第3正規形の判定条件を正しく表していない。第3正規形では、従属側が非キー属性である場合でも、決定側が候補キーやスーパーキーであるかなどを併せて確認する必要がある。
学習のポイント
第2正規形と第3正規形の違いを、部分従属性と推移的関数従属性の区別で整理する。
出典:独立行政法人 情報処理推進機構(IPA)平成30年度春期 データベーススペシャリスト試験 午前Ⅱ 問4(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針