当前位置:
X-MOL 学术
›
arXiv.cs.DB
›
论文详情
Our official English website, www.x-mol.net, welcomes your
feedback! (Note: you will need to create a separate account there.)
Query Lifting: Language-integrated query for heterogeneous nested collections
arXiv - CS - Databases Pub Date : 2021-01-11 , DOI: arxiv-2101.04102 Wilmer Ricciotti, James Cheney
arXiv - CS - Databases Pub Date : 2021-01-11 , DOI: arxiv-2101.04102 Wilmer Ricciotti, James Cheney
Language-integrated query based on comprehension syntax is a powerful
technique for safe database programming, and provides a basis for advanced
techniques such as query shredding or query flattening that allow efficient
programming with complex nested collections. However, the foundations of these
techniques are lacking: although SQL, the most widely-used database query
language, supports heterogeneous queries that mix set and multiset semantics,
these important capabilities are not supported by known correctness results or
implementations that assume homogeneous collections. In this paper we study
language-integrated query for a heterogeneous query language
$NRC_\lambda(Set,Bag)$ that combines set and multiset constructs. We show how
to normalize and translate queries to SQL, and develop a novel approach to
querying heterogeneous nested collections, based on the insight that ``local''
query subexpressions that calculate nested subcollections can be ``lifted'' to
the top level analogously to lambda-lifting for local function definitions.
中文翻译:
查询提升:针对异构嵌套集合的语言集成查询
基于理解语法的语言集成查询是用于安全数据库编程的强大技术,并且为高级技术(例如查询分解或查询展平)提供了基础,这些高级技术可以对复杂的嵌套集合进行高效编程。但是,缺乏这些技术的基础:尽管SQL是使用最广泛的数据库查询语言,但它支持混合了集合和多集语义的异构查询,但是已知的正确性结果或假定同类集合的实现均不支持这些重要功能。在本文中,我们研究了将集合和多集构造相结合的异构查询语言$ NRC_ \ lambda(Set,Bag)$的语言集成查询。我们展示了如何规范化查询并将查询转换为SQL,
更新日期:2021-01-12
中文翻译:
查询提升:针对异构嵌套集合的语言集成查询
基于理解语法的语言集成查询是用于安全数据库编程的强大技术,并且为高级技术(例如查询分解或查询展平)提供了基础,这些高级技术可以对复杂的嵌套集合进行高效编程。但是,缺乏这些技术的基础:尽管SQL是使用最广泛的数据库查询语言,但它支持混合了集合和多集语义的异构查询,但是已知的正确性结果或假定同类集合的实现均不支持这些重要功能。在本文中,我们研究了将集合和多集构造相结合的异构查询语言$ NRC_ \ lambda(Set,Bag)$的语言集成查询。我们展示了如何规范化查询并将查询转换为SQL,