トリガ/ストアードモジュールの実装方式
スポンサーリンク
概要
- 論文の詳細を見る
リレーショナルデータベースシステムにおける保全制約機能はデータベースの状態を、論理的に整合性のとれた状態に保持する機能であり、代表的なものには、primary key, not null, unique, check, assertion等の制約が存在する。これ等の制約の保守規則は、通常、制約違反を監視し、違反が発生した場合にそのトランザクションをロールバックする方法がとられる。リファレンシャルインテグリティの様に、制約を実現するためにアクションを伴う機能も定義されつつあるが、制約の種類や、アクションが限定されており、一般化された機能提供とはいえない。従って、一般的な制約を論理的に解決するためには、アプリケーションプログラムに必要なアクションを記述することが必要となる。この問題を解決するために、一般的な制約をプロダクションルールとしてデータベースに格納し、論理的に解決する方式として、トリガ機能による実装が提案されている。一方、近年のデータベース管理システムも、様々な機能拡張に伴い、スキーマ情報が複雑化してきており、システム内での情報整合性を保証するための機能も必要となってきている。そこで我々は、リレーショナルデータベース管理システムの基本機能として、トリガ機能を位置づけ、SQL言語をベースとした、プロダクションルール記述を実装した。本気能は、我々のプロダクトであるRIQSII V2の定義情報の管理や、表制約機能の実現に利用され、システムの拡張性や生産性の向上に貢献している。トリガ機能の実装に当たっては、性能を重視し、ストアードモジュール方式をトリガ機能に拡張して適用している。本稿では、トリガ機能の概要と、ストアードモジュールによる実装方式を報告する。さらに、トリガによるルールの伝播の問題とルールの遅延について考察する。
- 一般社団法人情報処理学会の論文
- 1992-09-28