「応用情報技術者試験/平成30年秋期午前問28」

問題

出典:応用情報技術者令和平成30年秋期午前問28

第1,第2,第3正規形とそれらの特徴a~cの組合せとして、適切なものはどれか。

a.どの非キー属性も、主キーの真部分集合に対して関数従属しない。
b.どの非キー属性も、主キーに推移的に関数従属しない。
c.繰返し属性が存在しない。

解説

第一正規形は簡単である、繰返し属性が存在しないことである。

第二正規形は「どの非キー属性も、主キーの真部分集合に対して関数従属しない。ことである。

は?何?意味わかんない。

非キー属性→わかる。一意キーではないキーのことだよね?
主キーの真部分集合→主キーの全部ではないもの。
関数従属→ある項目が別のある項目の値を決定すること。

関数従属とは、要は商品コードが分かれば、商品の値段が分かるように、ある項目の値が別のある項目の値を決定していることを言う。

真部分集合とは、「全部取り出す」を認めない部分集合である。とのこと。

つまり「a.どの非キー属性も、主キーの真部分集合に対して関数従属しない。」というのは、
キーじゃない項目の全てが、「主キーの全てではない組合せ」に対して項目の値を決定することがない。ということである。

すげぇ分かりにくいな。真部分集合が特に分かりにくい。

真部分集合というのは、部分集合の種類の一つなのである。
1,2,3という値があった時に、部分集合なら、
・取り出さない
・1
・2
・3
・1,2
・1,3
・2,3
・1,2,3
というパターンがあるが、

真部分集合というのは、
・取り出さない
・1
・2
・3
・1,2
・1,3
・2,3
なのである。1,2,3は認めないのである。

キーじゃない項目の全てが真部分集合に対して依存しない値である、ということである。

最後、第3正規形。

「どの非キー属性も、主キーに推移的に関数従属しない。」

意味わかんねぇよ。推移的って何?もうちょっと簡単に言え。

推移的関数従属とは、間接的関数従属と言った方が分かりやすい。
つまり直接的には関数従属しないのである。
何かをクッションにして関数従属するのである。

商品コードで商品名と商品分類コードが決まる。
商品分類コードで商品分類名が決まる。
という関係があったとき、商品コードと商品分類名が推移的関数従属の関係である。

で、これが行われないことが、第3正規形である。

推移的関数従属は、関数従属より遠いのである。

だから順番としては
・繰返しが行われない
・関数従属が行われない
・推移的関数従属が行われない
という順番になる。

解答

正解:ウ

アドセンス
改行

テックキャンプ