ITパスポート 2020年 秋期 問64
問題文
データ処理に関する記述a~cのうち、DBMSを導入することによって得られる効果だけを全て挙げたものはどれか。
a 同じデータに対して複数のプログラムから同時にアクセスしても、一貫性が保たれる。
b 各トランザクションの優先度に応じて、処理する順番をDBMSが決めるので、リアルタイム処理の応答時間が短くなる。
c 仮想記憶のページ管理の効率が良くなるので、データ量にかかわらずデータへのアクセス時間が一定になる。
選択肢
ア:a(正解)
イ:a, c
ウ:b
エ:b, c
🔒 解説は解答すると表示されます
DBMS導入で得られる効果に関する問題【ITパスポート 解説】
正解の理由
この問題で正しいのは、ア(a のみ)です。
まず「DBMS(Database Management System:データベースを管理するソフトウェア)」は、複数のプログラムや利用者が同じデータを安全に扱えるようにする仕組みを提供します。具体的には「トランザクション(処理のまとまり。全て成功するか全て失敗することを保証する単位)」や同時実行制御(Concurrency control)を備え、同時アクセスがあってもデータの一貫性が保たれるようにします。これが選択肢aの内容に該当するため、a は DBMS 導入で得られる効果です。
まず「DBMS(Database Management System:データベースを管理するソフトウェア)」は、複数のプログラムや利用者が同じデータを安全に扱えるようにする仕組みを提供します。具体的には「トランザクション(処理のまとまり。全て成功するか全て失敗することを保証する単位)」や同時実行制御(Concurrency control)を備え、同時アクセスがあってもデータの一貫性が保たれるようにします。これが選択肢aの内容に該当するため、a は DBMS 導入で得られる効果です。
一方、b と c は DBMS の本来の役割ではないため誤りです。b は「優先度に基づく処理順でリアルタイム応答が短くなる」と述べていますが、優先度スケジューリングやリアルタイム保証は通常 OS(またはリアルタイムOS)や専用のリアルタイムシステムの役割で、一般的な DBMS がそれを保証するわけではありません。c は「仮想記憶(virtual memory:物理メモリと補助記憶を組み合わせて見せる仕組み)のページ管理でアクセス時間が一定になる」としていますが、ページ管理やページ置換は OS の機能で、DBMS 自体が仮想記憶のページ管理を行ってアクセス時間を無条件に一定にすることはできません。
解法ステップ
- 問題文の各記述(a〜c)を1つずつ切り分ける。
- 「DBMS(Database Management System)」の主要な機能を頭に思い浮かべる:
- トランザクション管理、同時実行制御、回復(障害対策)、データ独立性、クエリ処理など。
- 各記述が上の機能に該当するか照合する:
- a:トランザクションと同時実行制御に該当 → ○
- b:処理順の優先度制御やリアルタイム保証は一般的には OS/リアルタイムOS の領域 → ×
- c:仮想記憶のページ管理は OS の領域。DBMS は独自のキャッシュは持つが「データ量にかかわらず一定時間」は保証しない → ×
- 正しい記述だけを選ぶ → a のみ → ア
選択肢別の誤答解説
-
ア(a)
正しい。DBMS はトランザクション管理と同時実行制御により、複数プログラムから同時にアクセスされてもデータの一貫性を保つ仕組みを提供します。 -
イ(a, c)
c が誤りのため不正解。DBMS がキャッシュやインデックスでアクセスを速くすることはあるが、「仮想記憶のページ管理の効率化でデータ量にかかわらずアクセス時間が一定になる」という主張は OS の仮想記憶機能に関するもので、DBMS の導入効果とは言えません。 -
ウ(b)
b が誤りのため不正解。DBMS はトランザクションの順序や同時実行を管理するが、各トランザクションの優先度に基づくスケジューリングでリアルタイム性を保証するのは一般的な DBMS の役割ではありません。 -
エ(b, c)
b と c の両方が誤りのため不正解。
よくある誤解
-
「DBMS を入れればすべての性能問題が解決する」
- 誤りです。DBMS はデータの整合性や効率的な検索(インデックス等)を助けますが、OS のメモリ管理やリアルタイム応答の保証は別の領域です。性能改善の手段(ハードの増強、キャッシュ設計、インデックス、クエリ最適化など)は別に考える必要があります。
-
「DBMS が仮想記憶(ページ)を管理する」
- 誤りです。仮想記憶のページ管理やページ置換は OS の仕事です。DBMS は独自のバッファプール(キャッシュ)を持ち、ディスクI/O を減らす工夫はしますが、OS のページ管理そのものを置き換えるわけではありません。
補足コラム
- ACID の簡単な説明
- ACID(Atomicity, Consistency, Isolation, Durability:アトミック性、一貫性、独立性、永続性)はトランザクション処理の重要な性質です。DBMS はこれらを満たすことで、複数の操作がまとまって安全に実行されるようにします。例えば銀行振込で、「口座Aから引き落とし」と「口座Bへの入金」が両方成功するか両方失敗するかを保証するのが Atomicity(原子性)です。
- 同時実行制御の方法(簡単に)
- ロック方式(共有ロック・排他ロック)と MVCC(Multi-Version Concurrency Control:複数版を使って同時実行を緩和する方式)があります。これらによりデータの整合性と並列性を両立します。
- DBMS と OS の役割分担の例
- DBMS:データの構造(テーブル・インデックス)、クエリ最適化、トランザクション管理、キャッシュ(バッファプール)
- OS:プロセス/スレッドのスケジューリング、メモリの仮想化(ページ管理)、デバイス(ディスク)管理
FAQ
Q1: DBMS は応答速度(レスポンス)を速くできますか?
A1: 場合によっては速くなります。インデックスやバッファプール(キャッシュ)で検索や読み書きを減らせるからです。ただし「リアルタイムで応答時間を短くする」ことを保証する機能ではありません。
A1: 場合によっては速くなります。インデックスやバッファプール(キャッシュ)で検索や読み書きを減らせるからです。ただし「リアルタイムで応答時間を短くする」ことを保証する機能ではありません。
Q2: 「トランザクションの優先度」を設定すれば DBMS が順序を変えてくれますか?
A2: 一部の商用DBMSには優先度機能がある場合もありますが、一般的に優先度でリアルタイム応答を保証するのは難しく、OSやリアルタイムシステムの方が適切です。
A2: 一部の商用DBMSには優先度機能がある場合もありますが、一般的に優先度でリアルタイム応答を保証するのは難しく、OSやリアルタイムシステムの方が適切です。
Q3: DBMS を使えばメモリ不足の問題は解決しますか?
A3: 部分的には改善できます(キャッシュ設計等)。しかし仮想記憶やページ置換は OS の仕事なので、根本的なメモリ不足は OS 設定やハードウェア増設で対処する必要があります。
A3: 部分的には改善できます(キャッシュ設計等)。しかし仮想記憶やページ置換は OS の仕事なので、根本的なメモリ不足は OS 設定やハードウェア増設で対処する必要があります。
関連キーワード: DBMS(Database Management System)、トランザクション、同時実行制御、ACID(Atomicity, Consistency, Isolation, Durability)、仮想記憶、ページ管理、キャッシュ、インデックス、リアルタイム処理、MVCC

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

