语言集成查询用于时间数据(扩展版)

摘要:通过在SQL:2011标准中添加时间数据操作,历经数十年的时态数据库研究,现代应用程序通常管理时间变化数据。然而,在大多数主流数据库管理系统中,时间数据查询和操作操作不可用,这使得开发人员不得不从头开始实现此功能。在本文中,我们扩展了“语言集成查询”(language-integrated query)以支持在统一的宿主语言中编写时间查询和更新,并且宿主语言将自动进行所需的重写以模拟在任何标准关系数据库中的时间功能。我们引入了两种核心语言$lambda\_{mathsf{TLINQ}}$和$lambda\_{mathsf{VLINQ}}$,分别用于操作事务时间和有效时间数据,并通过给出经过形式化的、保证正确的语义保持转换,将其转换为非时间核心语言$lambda\_{mathsf{LINQ}}$。我们展示了现有的查询规范化研究如何支持一个令人惊讶地简单的“顺序连接”(sequenced joins)实现策略。我们在Links编程语言中实现了我们的方法,并描述了一个基于整理COVID-19统计数据的非平凡案例研究。

作者:Simon Fowler, Vashti Galpin, James Cheney

论文ID:2210.12077

分类:Programming Languages

分类简称:cs.PL

提交时间:2022-10-24

PDF 下载: 英文版 中文版pdf翻译中