基本情報技術者

【基本情報技術者試験】ストアドプロシージャ(データベース)

2024年5月10日

今回のテーマは「ストアドプロシージャ」についてです。

ストアドプロシージャ?

問題

クライアントサーバシステムにおいて,クライアント側からストアドプロシージャを利用したときの利点として,適切なものはどれか。

  • ア:クライアントとサーバ間の通信量を削減できる。
  • イ:サーバ内でのデータベースファイルへのアクセス量を削減できる。
  • ウ:サーバのメモリ使用量を削減できる。
  • エ:データベースファイルの格納領域を削減できる。

基本情報技術者平成27年春期 午前問27

基本情報技術者試験や応用情報技術者試験で出題される「ストアドプロシージャ」についての問題。聞きなれない言葉なので、難しく感じますが、「ストアドプロシージャ」の意味を知っていれば、そこまで難しい問題ではありません。

本記事では、「ストアドプロシージャ」について解説しています。

本記事で学べること

  • ストアドプロシージャについて理解する
  • 基本情報技術者試験の過去問の解き方を学ぶ

スポンサーリンク

ストアドプロシージャとは

ストアドプロシージャとは、データベースに対する一連の処理をまとめた手続きにして、DBMS(データベース管理システム)に保存したものです

ストアドプロシージャは、DBMS(データベース管理システム)側に保存され、ストアドプロシージャを利用する際は、外部からプロシージャ名を指定します。

SQL文の実行

通常SQLは、クライアント(Webサーバなど)から、データベースサーバにあるデータベースに対し、SQLを発行します。

ストアドプロシージャは、データベースを操作する一連のSQL文をひとつのプログラムにまとめたものであり、DBMS(データベース管理システム)側にあらかじめ保存しておきます。

ストアドプロシージャの例

あとは、クライアントからDBMS(データベース管理システム)に保存してある「ストアドプロシージャ名」を指定すれば、ストアドプロシージャが動き出します。

ストアドプロシージャの実行イメージ

ストアドプロシージャの特徴

ストアドプロシージャを利用するメリットには次の2つがあります。

  • クライアント-サーバ間の通信量を削減できる
  • SQLの処理速度が速くなる

クライアント-サーバ間の通信量を削減できる

通常SQLは、クライアント側(Webサーバなど)に配置されているため、SQLを発行するたびに、クライアントとサーバー間で通信が発生します。(SQLを発行するたびに通信が発生する)

SQL文の実行

それに対し、ストアドプロシージャは、DBMS(データベース管理システム)側にあらかじめ保存されているため、1回の通信でストアドプロシージャを実行できます。(ストアドプロシージャを呼び出すたびに通信が発生する)

ストアドプロシージャの実行イメージ

このように、クライアントからサーバに対して、ストアドプロシージャ1回の要求で、データベースに複数のSQLを実行できるので、クライアントから直に同数のSQLを発行する場合と比較して、クライアント-サーバ間のネットワーク負荷の削減が期待できます。

SQLの処理速度が速くなる

ストアドプロシージャは、SQL文の構文解析などが済んだ状態でDBMS(データベース管理システム)に保存されます。

そのため、外部プログラムからSQL文を発行するより、ストアドプロシージャの方が高速に動作します。

基本情報技術者試験 過去問の解説

スポンサーリンク

基本情報技術者平成27年春期 午前問27

問題

クライアントサーバシステムにおいて,クライアント側からストアドプロシージャを利用したときの利点として,適切なものはどれか。

  • ア:クライアントとサーバ間の通信量を削減できる。
  • イ:サーバ内でのデータベースファイルへのアクセス量を削減できる。
  • ウ:サーバのメモリ使用量を削減できる。
  • エ:データベースファイルの格納領域を削減できる。

基本情報技術者平成27年春期 午前問27

クライアント側からストアドプロシージャを利用したときの利点として,適切なものはどれか、ア~エを順番に確認していきます。

ア:クライアントとサーバ間の通信量を削減できる。

正解:ストアドプロシージャを利用したときの利点のひとつです。

イ:サーバ内でのデータベースファイルへのアクセス量を削減できる。

不正解:サーバ内でのデータベースファイルへのアクセス量は削減できません。

ウ:サーバのメモリ使用量を削減できる。

不正解:サーバのメモリ使用量は削減できません。

エ:データベースファイルの格納領域を削減できる。

不正解:データベースファイルの格納領域は削減できません。

「ア」が正解です。

helpful