【AP1問】正規化と関数従属性(応用情報技術者試験)
このNoteでは、応用情報技術者試験から「正規化」問題を集めました。令和7年~元年の11回で1問でしたが、データベース自体は出題頻度はめちゃ大きいです(このNoteも4個ぐらいのシリーズになりそう)。
今回の「正規化」は、APまでなら何となくやっても大丈夫かなぁ。私はデスペで本格的に理論を学びました。
とはいえ、AP午後問題もあるし、複雑な表の正規化は難しいので、理論&用語をそろそろ学んでも良い頃。
このNoteでは講座とAP1問を解説しました。たった1問なので、Iパスとデータベーススペシャリストの解説Noteへのリンクも貼ったので、もし自信がなければ一緒にどうぞ。
>【Iパス7問❸】「キー」と「正規化」Note
>【Iパス4問❹】正規化問題Note
>【デスペ5問➐】正規形の定義Note
>【デスペ3問➑】正規化の実習Note
それでは始めましょう!
講座 | 少しずつ知っていけば
私はDB(データベーススペシャリスト)で本格的に学びました。それまでは何となくでしたね。良いか悪いかはさておき。
この節は3つで構成してますが、好きなとこだけ読んでください。
とりあえず正解できればOKな方
ー>図解を見て、表分けできそうかチェック理論的に解きたい方
ー>関数従属性と正規化の講座APが1問だけだから大事にしたい方
ー>APを解く前に、Iパスとデスペでの解説Note
何となく表を分けられる
まず「表をこんぐらいに分ければ良いかな」って分かればOKです。>【Iパス4問❹】正規化問題Note
何から何が芋づるで決まるかを見て。

表を分けたら、表同士を紐づける項目(外部キー)があるかチェック。外部キーと相手表の主キーが共通になるのが通常です。

これがパッと分かるならAPまでは問題ありません。少なくとも私は、何とかやってきました💦
APから知っておいても良い理論
APから少し理論を見ておきます。
私はDB(データベーススペシャリスト)で本格的に学んだので、デスペ用Noteから引用してきました。
でも第1~第3正規形までで大丈夫。用語も「部分関数従属」「推移的関数従属」だけ。とはいえ、早々出ないかなぁ。
正規化は「関数従属性」を解消して進めていきます。データベースでは第3正規形を目指すのが通常です。

「関数従属性」を図示してみます。>【デスペ5問➐】正規形の定義Note
非正規形の「繰り返し項目」は少し難しいので放置しても良いです。実際のデータを見れば異常さが分かるので。

第2正規化をして第2正規形にします。
主キーが複数のキーの組合せ「複合主キー」の時、複合主キーの一部だけに従属するのが「部分関数従属」。
下図では、2つの項目が複合主キーで、うち1つの項目だけに従属している項目がありました。

もし複合主キーが3つから成れば、1or2つの項目に従属している項目が「部分関数従属」です。
複合主キーでなかったら、既に第2正規形になっているので第2正規化をしなくて良いです。
第3正規化をして第3正規形にします。
主キーでない項目に従属している項目があるかチェック。「推移的関数従属」があるなら、表を分けます。

もし第2正規化をして「推移的関数従属」がなかったら既に第3正規形です。
APまでに解けるべき問題
APの出題は1問だけだったので、事前学習が良いかも。
Iパス, FEの正規化問題は正解できるようになっておきます。
>【Iパス7問❸】「キー」と「正規化」Note
>【Iパス4問❹】正規化問題Note
関数従属の理論をしっかり意識したいなら、デスペの問題を少し覗いてみてください。AP合格後にデスペに挑戦する方もいらっしゃいますよね(私もセキスペよりネスペが先でした)。
>【デスペ5問➐】正規形の定義Note
>【デスペ3問➑】正規化の実習Note
ここから先は
メンバーシップ
¥ 500 /月
学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ
