令和3年2月に、会社の1年生がIPAの基本情報処理勉強を予定しており、対策講義を行った。今回は、その対策講義中に出た過去問の解説など、備忘のため控えておく。
対策
データベース
(平成22年秋期 午後問題 問2より)
正規化
- 正規化とは? → データの一貫性の維持と効率的なデータアクセスを可能にする関係設計へ導くための方法。
第1正規形~第3正規形 まとめ
正規形 要点 大事なこと 第1 繰り返し部分が取り除かれたもの 各繰り返し部分に1つずつ独立したレコードを作り、横方向の長さを統一する 第2 第1正規形の表から、部分関数従属(※)している列が切り出されたもの
※複合キーの一部の項目だけで、列の値が一意に定まる関係のこと第1正規形にて明細が繰り返される度に重複していたデータを分離する 第3 第2正規形の表から、主キー以外の列に関数従属している列が切り出されたもの 更に分離できる部分を分離する - 具体例:【関係データベースの正規化】第1正規形・第2正規形・第3正規形について紹介
- 練習問題:工業大学生ももやまのうさぎ塾
- 注意:問題の「表」の中身が重複していないからといって、一意列とは限らない。値だけに惑わされず、項目の「意味」を把握すること。
SQL.テーブル結合の書き方
- FROM句でJOINするだけではなく、WHERE句でも指定できる。次の2つは同じである。
- SELECT * FROM TBL1 INNER JOIN TBL2 ON TBL1.COLA = TBL2.COLA
- SELECT * FROM TBL1 ,TBL2 WHERE TBL1.COLA = TBL2.COLA
- FROM句でJOINするだけではなく、WHERE句でも指定できる。次の2つは同じである。
その他 SQL.抽出条件
- INは 複数の値を指定する
- SELECT * FROM TBL1 WHERE COL1 IN (100,200,350)
※(COL1 = 100 OR COL1 = 200 OR COL1 = 350 )と同じ
- SELECT * FROM TBL1 WHERE COL1 IN (100,200,350)
- SELECT * FROM CUSTOMER WHERE NAME LIKE '%田%'
→ 秋田 かずえ、田村 ゆみ、合田 など。
※'%田'は後方一致、'田%'は全法一致となる
法務
- 派遣先企業と労働者との関係
- 決められた予算で開発する「請負契約」と、作業時間に応じて費用が支払われる「準委任契約」「派遣契約」がある。
- 参考URL:請負契約と準委任契約と派遣契約の違いとは?
ネットワーク
CIDR表記(サイダー。『IPアドレス/xx』)
セキュリティ
外部攻撃のリスク
デジタル署名の流れ(A さん to B さん)
- デジタル署名の生成(A さん)
- デジタル署名の検証(B さん)
- 受信したメッセージから、ハッシュ関数を使ってダイジェストを生成します。
- 受信したデジタル署名を、A さんの公開鍵を使って復号します。
- 1 において生成したダイジェストと 2 で復号したダイジェストを比較し、完全に一致することを確認します。
- 参考URL:IPA ISEC 2.4デジタル署名
SSL通信の流れ
- クライアントがサーバに接続を要求
- サーバがクライアントに、サーバ証明書 + 公開鍵を提供
- クライアントが 共通鍵を生成
- クライアントが 公開鍵を使って共通鍵を暗号化し、サーバに送付。
- サーバ
- 参考URL:Alpha SSL SSL/TLS暗号化通信の流れ