令和5年度 春期 応用情報技術者試験 午前 問27
クライアントサーバシステムにおけるストアドプロシージャの記述として,誤っているものはどれか。
解答・解説
正解: エ. データの変更を行うときに,あらかじめ DBMSに定義しておいた処理を自動的に起動・実行するものである。
ストアドプロシージャ (Stored Procedure) は、データベースに対する一連の処理(複数のSQL文など)を一つのプログラムとしてまとめ、サーバ側(DBMS)に保存しておく機能です。
クライアントから呼び出し命令(CALL文など)を送るだけで一連の処理が実行されるため、ネットワークの通信量(トラフィック)を削減でき、処理の高速化が図れます。
一方で、データの変更(INSERT、UPDATE、DELETEなど)が行われたときに、あらかじめ定義しておいた処理を自動的に実行する機能は トリガ と呼ばれます。したがって、エの説明はストアドプロシージャではなくトリガに関するものであり、誤りとなります。
各選択肢の解説
ア: クライアントから複数のSQL文を一つずつ送信する代わりに、ストアドプロシージャを1回呼び出すだけで済むため、正しい記述です。
イ: クライアント側のアプリケーションから
CALL文(またはEXECUTE文)などを発行することによって実行されるため、正しい記述です。ウ: アプリケーションとデータベースサーバ間でSQL文と実行結果を何度もやり取りする必要がなくなり、通信トラフィックを軽減できるため、正しい記述です。
エ(正解): データの変更を契機に自動的に起動・実行される仕組みは トリガ の説明であるため、誤った記述です。