Given a constraint $c$ assumed to hold on a database $B$ and an update $u$ to be performed on $B$, we address the following question: will $c$ still hold after $u$ is performed? When $B$ is a relational database, we define a confluent terminating rewriting system which, starting from $c$ and $u$, automatically derives a simplified weakest precondition $wp(c,u)$ such that, whenever $B$ satisfies $wp(c,u)$, then the updated database $u(B)$ will satisfy $c$, and moreover $wp(c,u)$ is simplified in the sense that its computation depends only upon the instances of $c$ that may be modified by the update. We then extend the definition of a simplified $wp(c,u)$ to the case of deductive databases; we prove it using fixpoint induction.
展开▼
机译:给定假定要保留在数据库$ B $上的约束$ c $和要在$ B $上执行的更新$ u $,我们将解决以下问题:在执行$ u $之后,$ c $是否仍然成立?当$ B $是一个关系数据库时,我们定义了一个汇合的终止重写系统,该系统从$ c $和$ u $开始,自动导出简化的最弱先决条件$ wp(c,u)$,这样只要$ B $满足$ wp(c,u)$,则更新后的数据库$ u(B)$将满足$ c $,此外,在简化计算方式$ wp(c,u)$的意义上,其计算仅取决于$的实例更新可能会修改的c $。然后,我们将简化的$ wp(c,u)$的定义扩展到推论数据库的情况;我们使用定点归纳法证明了这一点。
展开▼