论文标题

语言集成的可更新视图(扩展版本)

Language-Integrated Updatable Views (Extended version)

论文作者

Horn, Rudi, Fowler, Simon, Cheney, James

论文摘要

关系镜头是关系数据库中视图更新问题的现代方法。如Bohannon等人所介绍的。 (2006年),关系镜头允许通过执行单个转换的镜片组成来定义可更新的视图。 Horn等。 (2018年)提供了第一个增量关系镜头的实施,这证明了可以通过传播数据库的更改而不是替换整个数据库状态来有效地实现关系镜头。 但是,两种方法都提出了具体的语言设计。因此,尚不清楚如何将镜头整合到通用编程语言中,或者如何检查镜片满足可预测行为所需的良好形式条件。在本文中,我们通过扩展链接Web编程语言,提出了功能编程语言中关系镜头的第一个完整说明。我们为高阶谓词提供了支持,并提供了可以进行实施的连接关系镜头的第一个说明。我们证明了我们的打字规则的合理性,并通过实现科学数据库应用程序的策展接口来说明我们的方法。

Relational lenses are a modern approach to the view update problem in relational databases. As introduced by Bohannon et al. (2006), relational lenses allow the definition of updatable views by the composition of lenses performing individual transformations. Horn et al. (2018) provided the first implementation of incremental relational lenses, which demonstrated that relational lenses can be implemented efficiently by propagating changes to the database rather than replacing the entire database state. However, neither approach proposes a concrete language design; consequently, it is unclear how to integrate lenses into a general-purpose programming language, or how to check that lenses satisfy the well-formedness conditions needed for predictable behaviour. In this paper, we propose the first full account of relational lenses in a functional programming language, by extending the Links web programming language. We provide support for higher-order predicates, and provide the first account of typechecking relational lenses which is amenable to implementation. We prove the soundness of our typing rules, and illustrate our approach by implementing a curation interface for a scientific database application.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源