令和5年度 春期 応用情報技術者試験 午前 問27

クライアントサーバシステムにおけるストアドプロシージャの記述として,誤っているものはどれか。

解答・解説

正解: エ. データの変更を行うときに,あらかじめ DBMSに定義しておいた処理を自動的に起動・実行するものである。

ストアドプロシージャ (Stored Procedure) は、データベースに対する一連の処理(複数のSQL文など)を一つのプログラムとしてまとめ、サーバ側(DBMS)に保存しておく機能です。

クライアントから呼び出し命令(CALL文など)を送るだけで一連の処理が実行されるため、ネットワークの通信量(トラフィック)を削減でき、処理の高速化が図れます。

一方で、データの変更(INSERT、UPDATE、DELETEなど)が行われたときに、あらかじめ定義しておいた処理を自動的に実行する機能は トリガ と呼ばれます。したがって、エの説明はストアドプロシージャではなくトリガに関するものであり、誤りとなります。

各選択肢の解説

  • ア: クライアントから複数のSQL文を一つずつ送信する代わりに、ストアドプロシージャを1回呼び出すだけで済むため、正しい記述です。

  • イ: クライアント側のアプリケーションから CALL文(または EXECUTE文)などを発行することによって実行されるため、正しい記述です。

  • ウ: アプリケーションとデータベースサーバ間でSQL文と実行結果を何度もやり取りする必要がなくなり、通信トラフィックを軽減できるため、正しい記述です。

  • エ(正解): データの変更を契機に自動的に起動・実行される仕組みは トリガ の説明であるため、誤った記述です。

Spineチーム