問題
問81
複数の利用者がデータベースの同じレコードを更新するときに、データの整合性を保つために行う制御として、適切なものはどれか。
- 正規化
- タイマ監視
- ロールフォワード
- ロック/アンロック
[出典:ITパスポート試験 平成28年度秋期 問81]
正解
正解は「エ」です。
解説
正解は「ロック/アンロック」です。ロック/アンロックとは、複数のユーザーが同時に同じデータを更新しようとしたときに、データの整合性を保つための仕組みです。データベースの世界では、複数の人が同時に同じデータ(例えば銀行口座の残高)を更新しようとするような状況が起こり得ます。
もしこの制御がなければ、二人が同時に残高を読み込み、それぞれ引き出し処理を行ってしまう可能性があります。その結果、残高計算が狂い、実際よりも多くのお金が引き出されたように見えたり、逆に残高が正しく更新されなかったりする「データの矛盾」が発生してしまいます。ロック/アンロックは、誰か一人がデータを更新している間は、他の人にはそのデータを更新させないように「鍵をかける」イメージです。これにより、データが常に正しい状態に保たれる(整合性が保たれる)のです。
ア(正規化):
データベースのテーブル設計を最適化し、データの重複をなくして整合性を高めるための手法であり、同時更新時の競合を制御するものではありません。
イ(タイマ監視):
システムや処理の経過時間を監視する機能のことであり、データベースの同時更新におけるデータの整合性保証とは直接関係ありません。
ウ(ロールフォワード):
データベースが障害などで破損した場合に、バックアップ時点の状態から、障害発生直前までの状態に復旧させる(前進させる)ためのリカバリ手法です。
難易度
この問題の難易度は、ITパスポート試験のデータベース分野における基本的な知識を問うものであり、比較的易しい部類に入ります。データベースの基本的な概念を学習していれば、正解を導き出すことは難しくありません。特に、データの整合性を保つための機能は、データベースの重要な要素であるため、しっかりと理解しておくべきポイントです。
用語補足
データベース:
データを効率的に管理・検索・更新できるように整理された情報の集まりです。例えば、図書館の本の目録のように、本(データ)のタイトルや著者、場所といった情報が一箇所にまとめられており、必要な本を探しやすくなっています。
データの整合性:
データが矛盾なく、一貫性のある正しい状態に保たれていることです。例えば、会員情報データベースで「会員番号」と「氏名」が必ずセットで正しく登録されている状態を指します。
ロック/アンロック:
データベースにおいて、複数のユーザーが同時に同じデータを更新しようとした際に、一時的にそのデータへのアクセスを制限(ロック)し、更新処理が完了したら制限を解除(アンロック)する仕組みです。
正規化:
データベースのテーブル構造を、データの重複を排除し、効率的で整合性の高い状態にするための設計手法です。例えば、顧客情報と注文情報を別々のテーブルに分けて管理することで、同じ顧客の住所を何度も入力する手間を省き、データの矛盾を防ぎます。
対策
この種の問題に対応するためには、データベースの基本的な概念、特に「データの整合性」とそれを維持するための各種制御メカニズムを理解することが重要です。ロック/アンロックのような同時実行制御の仕組みだけでなく、正規化やリカバリ処理(ロールフォワード、ロールバック)といった関連用語も合わせて学習しましょう。それぞれの機能がどのような目的で、どのような場面で使われるのかを具体的な例をイメージしながら覚えることが効果的です。

