めも

メモ.

基本情報技術者試験の対策時のメモ(74日前)

申し込みから試験当日までの学習メモ。

試験概要

  • 毎年4月・10月第三日曜日
  • 試験を申し込んだのが85日前

前回

paper.hatenadiary.jp

調べた内容

データベース周辺から。

DB

  • 正規形
    • 正規化が完了した状態=第三正規形までの正規化を完了した状態
    • 従属状態
      • bはaに関数従属している:aが決まればbは自動的に決まる状態
      • 部分関数従属:候補キーの一部に関数従属している状態
      • 推移的関数従属:a->b, b->c の状態のデータ
    • 正規化するメリットとデメリット
      • メリット:冗長性を排除できる、データベース更新時のエラーを減らせる、データベースの構造の変更がしやすくなる(可能性がある)
      • デメリット:管理する表の数が増える、データ参照時に表を結合する回数が増える
    • 正規化を完了するまでの手順
      • 第一正規形:繰り返し出現するデータをなくす
      • 第二正規形:部分関数従属した項目を別のテーブルに分ける
      • 第三正規形:推移的関数従属をなくす=全ての主キーでない属性が主キーに関数従属している状態
    • 第三正規形でない場合に発生する問題点を頭に入れる

SQL

  • HAVING, WHERE
    • FROM>WHERE>GROUPBY>HAVING>SELECT>ORDERBYの順番で実行される
  • GROUPBYで集約したのちの結果に条件を加えるのがHAVING
  • DELETE, INSERT, UPDATE: DELETEしてINSERTすればUPDATEと同じことをすることができる。しかし、内部的にはDELETEしてINSERTした場合はROWIDを変更することになる。
  • トランザクション
    • UPDATEやINSERTなど複数の処理を一つにまとめたもの
    • もしもトランザクションに含まれる処理が全て完了しない状態で中断してしまうと、矛盾(不整合)が発生してしまう→なんらかの問題が発生した時は、それらの処理をキャンセルする
  • トランザクション処理の構文
    • トランザクション開始
    • 処理の確定=コミット
    • 処理の取り消し=ロールバック
      • ロールバックしたトランザクションを再実行する=ロールフォワード
  • ACID特性
    • 原子性(Atomicity):トランザクション処理はそれ以上に細かく分割することはできない=完全に実行されるか全く実行されないかの2状態しかない
    • 一貫性(Consistency): 整合性条件を満たさないトランザクションは実行されない
    • 独立性(Isolation): トランザクション中の内部の実行状態を外部から読み取ることはできない
    • 永続性(Durability): トランザクション処理が完了した時、結果は確実に記録されている ACID (コンピュータ科学) - Wikipedia
  • 排他制御
    • ロストアップデートを回避する仕組み
    • デッドロック:トランザクションの完了をお互いに待ち続け、処理が終わらない状態
  • 参考文献

ネットワーク

  • LANとWAN
    • LAN:閉じたネットワーク、ルーターからPCまでの間のネットワーク
      • スター型:ハブとPCを直接つなげるもの
      • バス型:PCを繋げてネットワークにするもの、途中のPCが使用できなくなると繋がらない
    • WAN:LAN同士をつなげるネットワーク
  • プロコトル
    • ネットワークの通信規約
    • HTTP
    • SMTP: メールを相手のサーバまで送り届けるためのプロコトル
    • POP3: メールサーバーからメールを取得するプロトコル
    • FTP: File Transfer Protocol - Wikipedia, コンピュータネットワーク上のクライアントとサーバの間でファイル転送を行うための通信プロトコル
    • NTP: Network Time Protocol - Wikipedia, ネットワークに接続される機器において、機器が持つ時計を正しい時刻へ同期するための通信プロトコル
    • Telnet: 遠隔地にあるサーバやルーター等を端末から操作する通信プロトコル
    • SSH: 暗号化した状態でサーバーを遠隔操作するためのプロトコル
  • OSI基本参照モデル
    • プロコトルの階層構造の規格
    • ネットワークやモデルを7つの階層に分割しテイル
    • 第7層から第1層へ、角層のプロトコルなどに必要な情報を梱包していく(カプセル化していく)
    • 付加される情報をヘッダと呼ぶ
    • 5, 6, 7層でカプセル化したデータ:データ(アプリケーションデータ):HTTPなど
    • 4 〃 :セグメント:TCP、UDP
    • 3 〃 :パケット:IP
    • 2 〃 :フレーム:イーサネット
    • 1 〃 :ビット:イーサネット

参考文献