首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt 全流程实战企业级项目 – 云对象存储浏览器(慕K无密)

Qt 全流程实战企业级项目 – 云对象存储浏览器(慕K无密)

下载看水印

谓词(Predicate)是指一个返回 true,false 或 unknown 的标量表达式. 常用 p 表示,从表达式的角度看也可以用 e 表示

标量表达式可以包含关系算子和关系

如 1()≠∅,∈2(2) 中 predicate 部分是一个返回标量结果的子查询.

不含关系算子和关系数据的标量表达式称为纯标量表达式.

比如 a+b 中 + 只接受数值类型, 所以 a+b是一个纯标量表达式.

Relational Expression

关系表达式指返回一个'关系'(一组元组)的表达式.一般由关系算子,自由变量和常量组成.

逻辑算子 Filter 定义

():={|∈,()}

Filter 运算过程: 遍历关系 R 中每一行(元组) r, p(r)的结果为true则保留.

通过自由变量与绑定的概念, 关系表达式可以消费输入, 产生输出, 嵌套成更复杂的关系表达式.

自由变量(Free variable)

指表达式中需要从输入中获取绑定值的属性

以 谓词  为 =′′ 为例,其中 name 是一个自由变量

获取自由变量函数 ()

() 表示获取关系表达式(或标量表达式)  中的自由变量集,如:

(=′′ ∧ >18)=(=′′ ∧ >18)={,}

按照属性绑定自由变量

对于一个表达式 e 有自由变量集

()={1,2,...,} 且()⊆() ,

定义

():=[1.1,...,.]

表示将元组 t按照属性绑定在 e 的自由变量上,从而完成求值.

同样,定义可以扩展到包上以及表达式的复合上:

2(1)=2(′)=2(1′,2′,...,′)

自由变量与属性绑定示例

比如令关系 ={{:2000,ℎ:12},{:2050,ℎ:1}} ,

想过滤出 year > 2008 的月份数据时, 令含自由变量的表达式 1=>2008,2=Πℎ,

则完成自由变量按属性绑定后的表达式的结果为:

″=2(1())=>2008(Πℎ())={{ℎ:1}}

含自由变量表达式等值的含义

当后续讨论两个含自由变量表达式等价时(如 1≡2), 则表示两个表达式自由变量部分一致.

也就是说, 等价意味着在两个表达式分别绑定相同的任意输入时, 产生相同的计算结果.

另外, 为了讨论方便, 后续也会用符号 = 表示与符号 ≡ 同样的含义, 即表达式等价.

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O5U7PHTHoK7SpQan2Q4X43nA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券