{"title":"Translating Advanced Integrity Checking Technology to SQL","authors":"H. Decker","doi":"10.4018/978-1-930708-38-9.CH007","DOIUrl":null,"url":null,"abstract":"INTRODUCTION The main goal of this chapter is to arrive at a coherent technology for deriving efficient SQL triggers from declarative specifications of arbitrary integrity constraints. The user may specify integrity constraints declaratively as closed queries in predicate calculus syntax (i.e., sentences in the language of first-order logic, abbr. FOL), as datalog denials, as query conditions in SQL WHERE clauses, or in some other, possibly more user-friendly manner (e.g., via a dialog-driven graphical or natural language interface which internally translates to equivalent WHERE clause conditions). As we are going to see, the triggers derived from such specifications behave such that whenever some update event would vi late any of the integrity constraints, one or several of the triggers derived from that constraint are activated in order to enforce the constraint. That is, the violation is either prevented by rolling back the update or repaired instantly by subsequent further updates. In this chapter, we describe how to implement advanced datalog technology for integrity checking in the framework of SQL. That is, we show how to represent and evaluate arbitrarily complex constraints in SQL without incurring major disadvantages usually associated to integrity checking in knowledge-rich applications. Error-prone procedural specification and laborious maintenance of integrity constraints is avoided by the declarativity of datalog. The cost of evaluation is considerably reduced by an automated","PeriodicalId":405229,"journal":{"name":"Database Integrity","volume":"113 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"20","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Database Integrity","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4018/978-1-930708-38-9.CH007","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 20
Abstract
INTRODUCTION The main goal of this chapter is to arrive at a coherent technology for deriving efficient SQL triggers from declarative specifications of arbitrary integrity constraints. The user may specify integrity constraints declaratively as closed queries in predicate calculus syntax (i.e., sentences in the language of first-order logic, abbr. FOL), as datalog denials, as query conditions in SQL WHERE clauses, or in some other, possibly more user-friendly manner (e.g., via a dialog-driven graphical or natural language interface which internally translates to equivalent WHERE clause conditions). As we are going to see, the triggers derived from such specifications behave such that whenever some update event would vi late any of the integrity constraints, one or several of the triggers derived from that constraint are activated in order to enforce the constraint. That is, the violation is either prevented by rolling back the update or repaired instantly by subsequent further updates. In this chapter, we describe how to implement advanced datalog technology for integrity checking in the framework of SQL. That is, we show how to represent and evaluate arbitrarily complex constraints in SQL without incurring major disadvantages usually associated to integrity checking in knowledge-rich applications. Error-prone procedural specification and laborious maintenance of integrity constraints is avoided by the declarativity of datalog. The cost of evaluation is considerably reduced by an automated