ストアドプロシージャ・トリガ・ビューは DB エンジン側で処理を持つ仕組み。性能・保守性・セキュリティの観点で使い分けます。
ストアドプロシージャ は DBMS に保存された手続き型プログラム。
複数 SQL を一括実行でき、性能・セキュリティ向上に寄与します。
トリガ は何が違うの?
トリガは INSERT/UPDATE/DELETE などのイベントをきっかけに自動実行される手続きなのよ。
監査ログの自動記録や、整合性の自動維持に使うわ。
ビュー って?
SELECT 文を保存したオブジェクトで、仮想的な表として扱えます。
複雑な結合を隠蔽したり、機密列を除外して権限を分けたりといった用途がありますね。
AP では『どのような場面でストアドプロシージャやトリガを使うべきか』が問われやすいわね。
あと、トリガは『副作用が見えにくいから使いすぎに注意』というのも出題ポイントよ。
確認クイズ
DBMS のトリガ機能を使う典型的な目的として、最も適切なものはどれか。
- アプリケーション側で記述した SQL を DBMS で代わりに実行する
- テーブルに対する更新を契機として、ログ記録や整合性維持を自動化する
- 同じ SELECT 文を複数のクライアントで実行する際の結果共有
- クライアント側のキャッシュ管理を行う
こたえを見る
正解: 2. テーブルに対する更新を契機として、ログ記録や整合性維持を自動化する
トリガはテーブルに対する INSERT/UPDATE/DELETE を契機に自動実行される手続きで、監査ログ記録や整合性維持に向きます。ただし副作用が見えにくく、過剰使用は保守性を下げる点に注意が必要です。