メインコンテンツへスキップ
見出し画像

【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つで構成してますが、好きなとこだけ読んでください。

    1. とりあえず正解できればOKな方
      ー>図解を見て、表分けできそうかチェック

    2. 理論的に解きたい方
      ー>関数従属性と正規化の講座

    3. 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




     
     
    大学・専門学校の先生の解説Note。 学生時代にITパスポート試験・基本情報技術者試験・応用情報技術者試験を独学で高得点合格。情報処理安全確保支援士試験(セキスペ)・データベーススペシャリスト試験・ネットワークスペシャリスト試験・G検定なども取得。 2027年にPD-S受験予定。