1.原子公式
原子公式有三种,第二种,和常量C之间进行关系比较的时候
此时我们还未引入量词
注意,以下操作其实隐含着一次遍历:把整张表遍历,也就是一行一行元组遍历,然后和原子公式的常数相比较,符合条件的元组加入到新的集合里
最关键的第三种原子公式:
这时候引入了第二个元组,不同元组间进行比较,这时候无法直接和常量比较,而是元组之间比较,就需要引入量词,“存在”,“任意”
其实引入量词后,量词后的公式其实就又隐含着一层循环
有点像二层循环的感觉:
- t取一个值t1,然后 遍历整个表,所有的元祖变量u和t 进行比较
t1满足条件则留下,否则丢弃
2.t取下一个值,然后元组变量u再是变量全表,和t2比较
以此类推,直到所有t的遍历完
这就是一个二层循环。
如果量词 的公式里又有量词,那就是嵌套,n层循环了
当然如果是并列多个两量词,那深度来说仍然是二层循环,只不过内层循环有多个而已
量词(公式要满足的范围公式 r)(公式F)
在公式要满足的范围内,若:
举个栗子:
公式r 就是单纯的属于 SC,所以该范围内所有元组都要满足公式F
那么先走外循环
当t=t1时候
这个范围内不可能所有 的元组的 学号 都就是你t1的学号,也不可能所有元组的分数都大于60分
所以这个式子就是错的,他返回的结果为空。
扫描二维码关注公众号,回复:
15341609 查看本文章
如果是这样呢?
此时表示范围的公式r 改变了一下下
那么t取t1时候,
我们哟啊满足公式F的范围是
这样就可以正确判断了,只要某个t 对应的 元组u的范围内,元组u均大于60分就ok啦
比如 t 学号为202 的时候,就可以
所以202这个t就要了~