平成21年度 春期 ITパスポート試験 問58 解説 DBMSの役割
オンライントランザクション処理システムを構成するサーバ上のソフトウェアのうち,データベース管理システムの役割として,適切なものはどれか。
- ア アプリケーションプログラムからデータの検索や更新の要求を受け付けて,データベース内のデータの検索や更新をする。 ✓ 正答
- イ クライアントからトランザクション処理要求を受け付けて,要求に対応するアプリケーションプログラムを起動する。
- ウ トランザクション処理要求によって,必要に応じてデータの検索や更新の要求を出して業務処理をする。
- エ ネットワークを介してクライアントとの通信処理をする。
解説
データベース管理システム(DBMS)という言葉を、「データベースそのもの」ではなく「データベースを管理・操作するための橋渡し役」と捉えることが、この問題を解く最短の鍵です。
データベース管理システム(DBMS)の役割
DBMSは、データベースを安全かつ効率的に利用するために、アプリケーションとデータベースの間に立つソフトウェアです。アプリケーションが直接ファイル形式のデータを読み書きするのではなく、DBMSに対して「このデータを更新してほしい」「この条件に合うデータを検索してほしい」という命令を出すことで、DBMSが代わりにデータベースを操作します。
この仕組みがあることで、複数の人が同時にアクセスしてもデータが壊れないようにしたり(排他制御)、処理の途中でエラーが起きても整合性を保ったり(トランザクション管理)といった、複雑な処理を自動化してくれます。
選択肢を吟味する考え方
問題文にある「オンライントランザクション処理システム(OLTP)」という言葉に惑わされず、各選択肢が「誰の役割か」を整理すると正解が見えてきます。
ア:DBMSの最も根本的な役割です。アプリケーションからの命令(SQLなど)を解釈し、実際のデータを操作して結果を返します。これが正解です。
イ:トランザクション処理監視モニタやWebサーバーなどが担う役割です。クライアントからの入り口となり、処理の振り分けを行う部分です。
ウ:これは「アプリケーションプログラム」そのものの役割です。ビジネスロジックに基づき、どんな処理が必要かを判断してDBMSに要求を出します。
エ:OSの通信機能や、ネットワークサーバーソフトウェアの役割です。データベースの中身には直接触れません。
システム開発における位置付け
ITパスポートの試験では、システムを「役割分担の集合体」として捉えることが重要です。システム開発の現場では、Webサーバー、アプリケーションサーバー、データベースサーバーと、それぞれの役割が物理的または論理的に分かれています。
DBMSは、アプリケーションからの抽象的な命令を、ハードディスク上の物理的なデータ配置に変換する「通訳」のような存在です。もしDBMSが存在しなければ、アプリケーション開発者はハードディスクのどの場所にデータが保存されているか、どのような形式で読み取るかをすべて自分でプログラムしなくてはならず、開発コストが膨大になります。DBMSを使うことで、私たちはビジネスロジックの開発に集中できるのです。