ストアドプロシージャ・トリガ・ビュー

DB エンジン側で動作するストアドプロシージャ・トリガ・ビューの違いと使い分けを整理。

ストアドプロシージャ・トリガ・ビューは DB エンジン側で処理を持つ仕組み。性能・保守性・セキュリティの観点で使い分けます。

鳴海 理央(普段) 鳴海 理央

ストアドプロシージャ は DBMS に保存された手続き型プログラム。
複数 SQL を一括実行でき、性能・セキュリティ向上に寄与します。

砂原 ニコ(普段) 砂原 ニコ

トリガ は何が違うの?

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

トリガは INSERT/UPDATE/DELETE などのイベントをきっかけに自動実行される手続きなのよ。
監査ログの自動記録や、整合性の自動維持に使うわ。

藤咲 まりあ(普段) 藤咲 まりあ

ビュー って?

鳴海 理央(普段) 鳴海 理央

SELECT 文を保存したオブジェクトで、仮想的な表として扱えます。
複雑な結合を隠蔽したり、機密列を除外して権限を分けたりといった用途がありますね。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

AP では『どのような場面でストアドプロシージャやトリガを使うべきか』が問われやすいわね。
あと、トリガは『副作用が見えにくいから使いすぎに注意』というのも出題ポイントよ。

確認クイズ

DBMS のトリガ機能を使う典型的な目的として、最も適切なものはどれか。

  1. アプリケーション側で記述した SQL を DBMS で代わりに実行する
  2. テーブルに対する更新を契機として、ログ記録や整合性維持を自動化する
  3. 同じ SELECT 文を複数のクライアントで実行する際の結果共有
  4. クライアント側のキャッシュ管理を行う
こたえを見る

正解: 2. テーブルに対する更新を契機として、ログ記録や整合性維持を自動化する

トリガはテーブルに対する INSERT/UPDATE/DELETE を契機に自動実行される手続きで、監査ログ記録や整合性維持に向きます。ただし副作用が見えにくく、過剰使用は保守性を下げる点に注意が必要です。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。