全1376文字

 前回に続き、データベース管理システムの機能を解説します。今回は、データベースの保護を取り上げます。

 データベースの保護とは、データが失われたり、データに矛盾が生じたりすることを防ぐ機能です。この講座の第3回で説明した参照整合性も、データベースの保護機能の一つです。データベース管理システムが提供するデータベースの保護機能には、参照整合性以外にも、排他制御、障害復旧、およびセキュリティ管理があります。

排他制御

 排他制御とは、同時に複数の利用者がデータベースを操作する場合に、データベースの内容に矛盾を生じさせないようにする機能です。排他制御は、操作の対象となっているレコードを一時的にロック(操作禁止)することで実現します。

 例えば、井上太郎の預金口座の残高として、100万円を記録したレコードAがあるとします。このレコードに早坂次郎が10万円を振り込み、矢沢三郎が20万円を引き出したとします。最終的なレコードAの内容は90万円になるはずですが、レコードのロックを行わないと80万円になってしまうことがあるのです。これは、明らかに矛盾しています(図1)。

図1●同時に複数のユーザーが操作すると、データベースの内容に矛盾が生じる
図1●同時に複数のユーザーが操作すると、データベースの内容に矛盾が生じる
[画像のクリックで拡大表示]