数据库工程师基础学习7----元组演算,查询优化与关系库设计

1,元组演算,域演算与查询优化
在这里插入图片描述
这里的元组运算是以元组为单位的,就是行为单位.之前的运算是表的基础上.
这里的t就是行变量.
t(i)其实就表示列变量.
在这里插入图片描述
以例子来了解上面定义.
在这里插入图片描述
对于第一个,首先R(t)和非S(t)都为原子公式,那么交起来也是公式.
其中R(t)表示在R(t)中,非S(t)表示不在S(t)中的行,合起来就是在r(t)但不在s(t)中的行,构成R1,其实就是R-S.

方法:对于长串的公式,化繁为简,可以和题目一样,按优先级标出来.
在这里插入图片描述
对于第二小问,很简单就是满足三个条件,这个结果用选择也可以做出来.
在这里插入图片描述
这里的第三小问,首先r3的元组变量为t,所以r3中出现的只能是r中的元组(因为R(t)),其次这里出现存在u,表示,S(u)中只要存在一个u满足t(3)<u(2),就可以.例子就是拿r(4)(10,11,12)中的12与s2(s的第二列)中的每一个比较,只要存在一个数大于12就可以选中r(4)这一行,但是一个都没有,所以不选.
在这里插入图片描述
第四小问,很好理解.
重点在于第五小问,这里的t由后面三个公式构造.
并且前面有存在u,存在v,满足后面的式子就好了(u(2)>v(1)),这里的做法是:固定起左边表,然后一 一与右边表各行比较,这种做法类似于θ连接.
这里特别注意,存在u,不是说u中只要有一个满足条件,就把整列取出来.这里的存在不是这个意思.如存在5>3,就取u(2)(25811).不是这样的.存在更像是一 一操作,任取是将一列看作整体.

会有疑问,第五种情况的存在u,是什么意思,表面上看与第三问,都是左边表与右边表一 一比较.两种有什么区别呢?
就在于公式中的t,第三题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值