情報セキュリティ講座(79) データベース③
データベースのセキュリティにおいて、トランザクションという考え方は重要です。トランザクションとは、一つの取引に複数の取引が発生して、どちらか片方ではデータの整合性が保てない、データの組み合わせです。仕訳を考えてみた時、売上を計上する際は、売上高と売掛金は、同時に発生させる必要があります。どちらか片方だけでは、帳簿がおかしくなります。支払いも同様で、買掛金の消し込みと現預金の引き落としは同時です。
しかしデータベースに障害が発生すると、どちらか一つのデータ処理しか行われないことも考えられます。そのような事態が発生しないよう、DBMSは厳密なトランザクション管理を行います。
DBMSは、どこまでデータが書き込まれたか、常に記録します。これをチェックポイントと言います。渉外が発生して、データを復旧する際には、このチェックポイントポイントを参照し、トランザクションの一連のデータが全て書き込まれていれば、データを更新します。しかし一連のデータの一つでも脱落していれば、そのトランザクションの全てのデータを削除します。前者をロールフォワード、後者をロールバックと言います。
中途半端なデータを残すより、データベース全体としての整合性を優先するというかんごえかたです。
データベースは、重要なデータを格納する場所ですので、特にセキュリティ面では考慮が必要なので、このような管理が必要なわけです。