2012 年 29 巻 2 号 p. 2_174-2_192
ビューとはデータベースに含まれる情報の一部をある変換言語によって抽出・整形したものである.ビュー側の更新をデータベースに反映するというビュー更新問題は,データベース研究者のみならず,双方向変換とよばれる枠組みとしてプログラミング言語の研究者にも盛んに取り組まれている.我々は,これまでの研究において,グラフ変換言語UnCALを対象にしたビュー更新問題の解決法を提案してきたが,任意のビュー更新に対してデータベースへの反映を計算しようとしたため,ビューが値域に含まれていない場合や対応するデータベースがユーザの意図から外れている場合に結果的に不要な計算を行ってしまっていた.本論文では,この問題を解決するために,ユーザの意図するデータベースに対応する値域をあらかじめ算出し,更新されたビューがユーザの与えたグラフスキーマの値域に含まれるかを事前に判定する手法を提案する.ユーザの意図は本研究で提案する独自のグラフスキーマによって表現するが,このスキーマは,Bunemanらが提案したUnCAL用グラフスキーマと同様に模倣関係に基づいて定義されているため,そのスキーマを満たす入力に対する値域が自然に算出することができる.一方で,我々のグラフスキーマは,従来表現できなかった“必要な辺”に関する記述ができるように拡張されているため,より正確なビュー更新の妥当性を事前に確認することが可能となる.