Separate programming models for data transformation (declarative) and computation (procedural) impact programmer ergonomics, code reusability and database efficiency. To eliminate the necessity for two models or paradigms, we propose a small but high-leverage innovation: the introduction of complete relations into the relational database. Complete relations and the discipline of constraint programming, which concerns them, are founded on the same algebra as relational databases. We claim that by synthesising the relational database of Codd and Date, with the results of the constraint programming community, the relational model holistically offers programmers a single declarative paradigm for both data transformation and computation, reusable code with computations that are indifferent to what is input and what is output, and efficient applications with the query engine optimising and parallelising all levels of data transformation and computation.
翻译:数据转换(声明式)与计算(过程式)的分离编程模型影响了程序员的开发体验、代码复用性以及数据库效率。为了消除对两种模型或范式的需求,我们提出一项虽小但收益显著的创新:将完备关系引入关系数据库。完备关系及其相关的约束规划学科,与关系数据库基于相同的代数基础。我们声称,通过综合Codd与Date提出的关系数据库理论及约束规划领域的研究成果,关系模型能够在整体上为程序员提供:用于数据转换与计算的单一声明式范式;对输入输出不敏感的可复用计算代码;以及借助查询引擎优化与并行化所有层级的数据转换与计算过程的高效应用程序。