第 36章ルールシステム
- 目次
- 36.1. 問い合わせツリーとは
- 36.2. ビューとルールシステム
- 36.2.1. SELECTルールの動き
- 36.2.2. 非SELECT文のビュールール
- 36.2.3. PostgreSQLにおけるビューの能力
- 36.2.4. ビューの更新について
- 36.3. INSERT、UPDATE、DELETEについてのルール
- 36.4. ルールと権限
- 36.5. ルールおよびコマンドの状態
- 36.6. ルール対トリガ
本章ではPostgreSQLのルールシステムについて説明します。 本番で稼働するルールシステムは概念としては単純ですが、実際に使ってみると、わかりにくいところが少なからずあります。
通常それらはストアドプロシージャとトリガですが、他のいくつかのデータベースシステムは能動的データベースルールを定義しています。 PostgreSQLでは関数とトリガとして実装されています。
ルールシステム(より正確に言うと問い合わせ書き換えルールシステム)はストアドプロシージャとトリガとはまったく異なります。 ルールシステムはルールを参照して問い合わせを修正し、修正した問い合わせを、計画作成と実行のために問い合わせプランナに渡します。 これは非常に強力なため、問い合わせ言語プロシージャ、ビューあるいはバージョンなど多くのパターンで使用することができます。 このルールシステムの基礎理論と能力は On Rules, Procedures, Caching and Views in Database Systems およびA Unified Framework for Version Modeling Using Production Rules in a Database Systemで解説されています。