我们学习一个知识点c;必须要从一个最基本的定义出发c;然后再慢慢剖析其内部潜在的规律c;再而就是与class="tags" href="/tags/ShengHuo.html" title=生活>生活结合起来分析c;达到共鸣c;那么这个知识点就算搞定了。那么我们这次来说说元组演算。我想说说“共鸣”:为什么你看一部泡沫剧不困c;看到大半夜还想继续看c;但是如果让你看一集某某的教程c;你噼里啪啦的c;就睡着了c;这是因为泡沫剧与你的class="tags" href="/tags/ShengHuo.html" title=生活>生活中有很多的交叉点c;我们管它叫共鸣c;所以一个知识点c;你要是理解不了c;你找身边的例子c;或者融入到class="tags" href="/tags/ShengHuo.html" title=生活>生活中去c;那么这个看似很难的问题就迎刃而解了。相信你也有过这样的感受。
定义:在元组关系演算系统中c;称{t|Q(t)}为元组演算表达式c;其中t是元组变量c;Q(t)是元组关系演算公式;它是由原子公式和运算符组成。
我们接下来看看原子公式的三类:
1、R(t):R是关系名c;t是元组变量c;R(t)是元组变量c;R(t)表示t是R中的元组c;一般用{t|R(t)}来表示
2、t[i]Θu[j],tc;u是元组变量c;Θ是算术比较运算符。t[i]Θu[j]表示命题“元组t的第i个分量与元组u的第j个分量满足比较关系Θ”
3、t[i]Θc或者cΘt[i]这里的c是常量c;该公式表示“t的第i个分量与常数c满足比较关系Θ”举个很简单的例子:t[4]=3表示t的第4个分量等于3。
公式的递归定义:
其实就是一个逻辑运算c;特别简单的一个道理:我们先看是什么个情况:
c="https://img-my.csdn.net/uploads/201205/30/1338366381_3071.jpg" />
这个就是咱们代数上的“且”c;“并”c;“非”关系c;这个我相信大家都明白c;这里咱们就不多说了。
接下来c;我们分析例题c;我们从例题中来进行更好的理解。
两个关系R和S:
c="https://img-my.csdn.net/uploads/201205/30/1338384750_4692.jpg" />
我们看R1的要求:
c="https://img-my.csdn.net/uploads/201205/30/1338385049_1666.jpg" />
我们看到t[1]是属于S(t)中的元素c;那么我们很直观的就发现c;在关系S中t[1]=1<2c;那么与咱们的要求t[1]>2不吻合c;所以我们发现t[1]是指A这一列c;那么就是说c;在A这一列当中c;那个数是>2的c;所以我们发现了3和5c;那么我们就取出了第二行和第三行:
c="https://img-my.csdn.net/uploads/201205/30/1338387876_9852.jpg" />
那么我们再与S(t)进行“且”的组合c;就能很快的得到了我们的答案了。
我们继续看第二个要求:
c="https://img-my.csdn.net/uploads/201205/30/1338388071_7071.jpg" />
我们看的出来c;t是包含在R中的元组c;同时要满足非S(t)代表t不能包含在S中c;那么我们看到第一条:1,2,3是R中的元组c;同时也是S中的元组c;那么就不符合要求c;我们看的出来c;R中的4,5,6;7,8,9是满足我们的要求的c;因为这些元组不在S中c;然后我们去除了相同的元素:1、2、3.得到我们的结果:
c="https://img-my.csdn.net/uploads/201205/30/1338388265_9214.jpg" />
我们继续看要求:
c="https://img-my.csdn.net/uploads/201205/30/1338388333_9717.jpg" />
我们从题目的要求看的出来c;t是包含在S中的c;所以我们就很直观的从S中找答案;同时我们还发现u是包含在R中的。我们首先要满足这么个条件就是t[3]<u[2]c;我们就找出了这两列
c="https://img-my.csdn.net/uploads/201205/30/1338389000_5503.jpg" width="321" height="248" />
那么我们很easy的发现了:u[2]有三个值c;2,5,8,;其中5和8大于3c;所以满足条件;那么S中的1,2,3是符合条件的。再而我们发现R中的2、5、8里边c;对应的S的3,6,9里边c;我们存在了8>6的元组c;那么我们得出S中的3,4,6也是符合条件的要求的c;那么最后我们得出的答案就是:
c="https://img-my.csdn.net/uploads/201205/30/1338389329_3235.jpg" />
其实对于这个元组的知识点c;有些人觉得很烦恼c;其实我的理解是c;你首先在边看例题的同时c;遇到不明白的地方c;回头看定义c;这样的效果也许会更好点。