http:www.sip-ac.jp/sip/konan_text/is04-03.html,        © 2001 Ayumi Yoshikawa
主観情報処理研究所

情報セキュリティ:ソフトウェアとセキュリティ(その3)(最終更新:2015/12/06 16:33:44 JST)

ソフトウェアとセキュリティ(その3)

データベース管理システム(教科書169ページ)

データベース管理システムはそれだけで1科目開講するくらいの内容がありますので,ここではほんのごく一部だけしか触れません.

データベース管理システムの機能(教科書169ページ)

データベース管理システムはDBMS(Database Management System)と略されることも多い.文字通り,データベースを管理するために使用される.主な機能は次のようなものがある.詳細は教科書参照のこと.

関係データベースの基本(教科書171ページ)

ここでは基本の中のさらにごく一部だけです.もっと詳しく知りたい人はデータベースマネジメントを受講するか,自分で学習してください.

現在もっとも多く利用されているデータベースは関係データベース,あるいはリレーショナルデータベース,RDB(Relational Database)である.このRDBの中で特に重要な概念は次のものである.

RDBの正規化(教科書173ページ)

RDBではデータをテーブルに格納する時に,できるだけ不要なデータ項目を分離して整形する.その操作が正規化である.正規化には内容に応じて,第1正規形から第5正規形まであるが,ここでは最初の3段階のみ触れておく.

関数従属(教科書174ページ)

教科書の順序と異なるが,正規化の前に関数従属について理解する必要があるため,先に説明する.関数従属とは,あるデータ項目の値が定まれば,ほかのデータ項目の値が一意に決定されることである.

「学籍番号」によって,「氏名」が決まる

正規化のレベル(教科書173ページ)

正規化の段階は次の条件を満たす必要がある.

  1. 第1正規形:データ項目の繰り返し構造を取り除いたもの
  2. 第2正規形:主キーに他のデータ項目が完全関数従属するようにしたもの
  3. 第3正規形:推移関数従属を取り除いたもの

DBMSによる機密保護(教科書181ページ)

データベースの機密保護が必要な理由は次の2つが挙げられる.

そのため,通常はDBへのアクセスを制限することで機密保護が行われる.アクセス制限の内容は次のようなものがある.

トランザクション管理(教科書189ページ)

トランザクションとは(教科書189ページ)

データベースにアクセスする単位はトランザクションと呼ばれる.トランザクションに関連した手続きは次のようなものがある.

トランザクションは,一連の手続きが確定されるか,まったく行われないかのどちらかでないとデータに矛盾が生じるので,中途半端は許されない.

トランザクションの性質(教科書189ページ)

トランザクションの性質はその頭文字を取ってACIDとも呼ばれる.

排他制御とロック(教科書191ページ)

DBでは複数のトランザクションが同時にアクセスすることになる.DBMSは同じデータを扱う場合の矛盾を回避するために排他制御を行う.よく利用されるのはロックと呼ばれる手法である.ロックには次の2種がある.

複数のトランザクションが実行されるDBで,時間的な重複なくシリアルに実行した場合と結果が等しい時,直列化可能と呼ぶ.直列可能性を保証するためのロックの組合せは,教科書192ページ参照.共有ロックは複数かかってもOK.それ以外はダメ.

互いにロック待ちになり,処理が先に進まなくなる状態をデッドロックと呼ぶ.デッドロックの対処方法は次のようなものがある.

なお,ロックをかけるデータ範囲の大きさをロックの粒度と呼ぶ.粒度によりユーザの待ち時間とシステムへの負荷が変化する(教科書193ページ).

ロック対象が複数存在する時,ロックをかける相とロックを解除する相の2つの相から構成する方式を2相ロックと呼ぶ(教科書194ページ).

分散データベース(教科書195ページ)

分散データベースとは位置的に離れた地点にDBを分散させたものを指す.複数のDBを論理的上1つのDBとして扱う.この方式ではデータの整合性に注意を払う必要がある.そのため2相コミット方式(2相コミットメント)でデータの操作が行われる(教科書196ページ).全DBにデータ更新要求を出した後,セキュアを送信,全部のDBから応答があればコミット,1つでも応答がなければロールバックする.コミット可否応答を返してからコミットを命令を受けるまでの状態をセキュア状態と呼ばれる.

一般に分散システムでは,論理的に1つのシステムとして扱えることが必須である.この基準は分散の透過性と呼ばれ,次のような性質を満たす必要がある(教科書197ページ)

障害回復処理(教科書202ページ)

DBシステムの管理の中で重要なものの一つに障害からの回復処理がある.障害の原因とその回復処理は次のとおり(教科書202ページ)

DBにおけるデータ更新時の記録をログ,あるいはジャーナルと呼ぶ.ログにはDB更新前と更新後の値を記録.

ログ(ジャーナル)を用いた障害回復(教科書202ページ)

障害回復処理の方法には,ロールフォワードとロールバックがある.

DBMSは,DBへのアクセス回数を減らすためにバッファ領域にデータを蓄え,適当な間隔でDBに反映させる.このDBへデータを反映させるタイミングをチェックポイントと呼ぶ.チェックポイント時にコミットされるため,チェックポイント前に処理が完了しているトランザクションは,チェックポイント後に発生した障害に対しては障害回復処理は不要である(教科書204ページ).

[*]下へ▼ ▲[#]上へ

このサイトに関するお問い合わせは,連絡先のページをご覧ください.

このページのボトムへ講義資料このページのトップへ

前のページに戻る  1  2  3  次のページへ進む   情報セキュリティの目次に戻る ,        © 2001 Ayumi Yoshikawa