忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【データベース】正規化理論の基礎!アームストロングの公理系と「関数従属」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、データベーススペシャリスト試験の「データベース・正規化理論」分野で出題される「関数従属(かんすうじゅうぞく)」。難しそうな記号を使わず、日常の「特定できる関係」に置き換えてスッキリ攻略しましょう。

1. 【 問題 】:テクノロジ系(データベース・正規化理論)

【 問題 】 データベースにおけるデータ同士の関係(関数従属:一方を決めるのにもう一方が決まる関係)に関する記述のうち、適切なものはどれか。

(ア)BがAで決まり、CがAで決まれば、CはBで決まる
(イ)BがAの一部であり、CがAで決まれば、CはBで決まる
(ウ)BがAの一部であれば、AはBで決まる
(エ)BとCのセットがAで決まれば、BとCは、それぞれAで決まる

2. 正解:

正解:(エ)BとCのセットがAで決まれば、BとCは、それぞれAで決まる

3. 解説:「『Aを決めればBが決まる』というルールを現実の例で考える!」

関数従属(かんすうじゅうぞく)とは、難しく聴こえますが**「Aが決まれば、自動的にBがただ1つに決まる関係」**のことです。
例えば、「学籍番号(A)」が決まれば、「名前(B)」も「学部(C)」も1つに特定できるという関係のことを指します。

【身近な例で見る!各選択肢が「正しいか・間違いか」の検証】 ← 超分かりやすい解説!

選択肢現実のデータに置き換えた例判定と理由
(ア) 「学籍番号(A)」が決まれば「名前(B)」と「学部(C)」が決まるなら、「名前(B)」を決めれば「学部(C)」が決まる。 間違い。
同姓同名の人がいるかもしれないので、名前だけでは学部を特定できません。
(イ) 「学籍番号とクラス(A)」の一部である「クラス(B)」だけで、「学部(C)」を特定できる。 間違い。
「A組」という情報だけでは、どの学部の何さんか特定できません。情報が足りません。
(ウ) 「学籍番号とクラス(A)」の一部である「クラス(B)」を決めれば、「学籍番号とクラス(A)」が決まる。 間違い。
正しくは逆です。「学籍番号とクラス(A)」が分かっていれば、その中の「クラス(B)」も分かります。
(エ) 「学籍番号(A)」が決まれば「名前と学部(BとCのセット)」が決まるなら、「名前(B)」も「学部(C)」も個別に特定できる。 正しい!
学籍番号でセットの内容が決まるなら、当然その中の名前単体も、学部単体も特定できます。

1. 理解のコツ:
・「セットで特定できるものは、バラバラにしても当然特定できる」という「分解のルール」を言っているのが(エ)です。

2. 試験対策の視点:
・試験問題で「関数従属」という言葉が出たら、自分の頭の中で「A=学籍番号」「B=名前」「C=学部」のように実際のデータに置き換えて考えると、数式を使わずに直感で正解が選べます!


4. まとめ

セットの情報がAによって特定できるなら、その中の1つひとつの項目(BやC)も当然Aによって特定できる(分解のルール)。これが関数従属の基本的な性質です。難しそうな言葉に惑わされず、身近なデータに置き換えて解くコツをマスターしておきましょう!

PR