关系代数 为什么用
作者&投稿:项贪 (若有异议请与网页底部的电邮联系)
学习数学的目的是培养逻辑思维能力要 是单纯的应用小学水平就足够了而你以后,比如大学,那时的数学除了培养逻辑思维能力还是你学习其他科学的工具语文是百科之母的话,数学绝对的百科之父
关系代数表达式由关系代数操作组合而成。操作中,以笛卡尔积和联接操作最费时,并生成大量的中间结果。如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低。在执行前,由DBMS的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影操作,以便减少中间结果,并节省时间。
望采纳 谢谢
这两个式子开始都是做选择操作,得到两个子表,这没什么不同。后面的操作就不一样了:
式子1:先投影;再做差;
式子2:先做差;再投影;
它们可能有相同的结果,也可能有不同的结果。原因在于:
1)关系表的差运算,其实就是集合的差运算。本质就是:从被减集合中,去掉两集合的交集;
2)而投影运算,会影响集合元素的结构,进而影响集合本身。两集合在投影之前的交集,和它们在投影之后的交集,未必相同。更详细地说:
投影运算,削弱了集合中元素间的差异性;导致两集合产生“相同元素”的可能性增大(这里不妨暂时允许集合中有重复的元素,只为了“相同元素”的计数之用)。总之,投影有可能使两个集合的交集增大;但不会令其减小。如果发生这种情况,那么,在投影之后再做差,就会比直接做差过滤掉更多的元素。虽然后者又进行了一次投影运算,但这只是让它与前者具有相同的结构,并不会影响集合中的元素个数。此时,前者完完全全是后者的真子集。
所以,作为适用于所有关系表(而不是只考虑特定的某个关系表)的表达式而言:
式子1 的结果“小于等于”式子2;
野凡头孢: 括号里面的S▷◁SC表示的是自然连接,当查询的选择条件涉及的属性和查询结果要求的属性不在同一张表里的时候,这时就需要使用连接查询将条件和结果关联起来.
岚县17719551630: 为什么要对关系代数表达式进行优化 - ?
野凡头孢: 关系代数表达式由关系代数操作组合而成.操作中,以笛卡尔积和联接操作最费时,并生成大量的中间结果.如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低.在执行前,由DBMS的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影操作,以便减少中间结果,并节省时间.望采纳 谢谢
岚县17719551630: 关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算 - ?
野凡头孢: 关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算(1)R∩S=R-(R-S) 或 R∩S=S-(S-R) (2) R∞S = AθB(R*S) = A=B(R*S) R∞S=∏ ( R.B=S.B(R*S)) (3)R÷S =∏X(R)-∏X(∏X(R)*∏Y(S)-R)
岚县17719551630: 代数和函数有什么区别? - ?
野凡头孢: 一、定义不同: 代数是研究数、数量、关系、结构与代数方程(组)的通用解法及其性质的数学分支.初等代数一般在中学时讲授,介绍代数的基本思想:研究当我们对数字作加法或乘法时会发生什么,以及了解变量的概念和如何建立多项式并...
岚县17719551630: 关系代数怎么学 - ?
野凡头孢: 关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具. 关系代数的运算对象是关系,运算结果亦为关系.关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符 比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的,所以关系代数的运算按运算符的不同主要分为传统的集合运算和专门的关系运算两类.
岚县17719551630: 代数是什么? - ?
野凡头孢: 代数是研究数、数量、关系、结构与代数方程(组)的通用解法及其性质的数学分支.初等代数一般在中学时讲授,介绍代数的基本思想:研究当我们对数字作加法或乘法时会发生什么,以及了解变量的概念和如何建立多项式并找出它们的根.代数的研究对象不仅是数字,而是各种抽象化的结构.在其中我们只关心各种关系及其性质,而对于“数本身是什么”这样的问题并不关心.常见的代数结构类型有群、环、域、模、线性空间等.
岚县17719551630: 为什么要对关系代数式进行优化? - ?
野凡头孢: 答:不将关系式简化,会使关系式变得十分复杂,不方便代值计算.因此要进行简化. 注:如果有疑问可来询问. 祝你学习愉快!
岚县17719551630: 数据库 - 关系代数 - 投影 看图 - ?
野凡头孢: 投影操作是一个关系操作,所谓的出现重复行是指多个记录在投影属性上具有相同的取值,例如: 学号 姓名 性别 年龄 01 艾伦 男 17 02 三笠 女 17 03 阿明 男 17在性别和年龄两个属性上投影后数据集只保留这两个属性列,结果如下: 性别 年龄男 17 女 17 男 17 其中第一行和第三行就是重复行,虽然来自不同记录,但是这两个属性上的内容相同 对于关系代数来说,需要消除相同的行(SQL语句默认不消除重复) 最后结果就是: 性别 年龄 男 17 女 17
岚县17719551630: 计算机题,,设有关系R,,若做关系代数操作后,所得的结果关系应该为什么,求详细解答, - ?
野凡头孢: 图1,先看括号里的,δB=b2(R),这是选择操作,从R中选择符合条件的行那么肯定是第2行;πD,B,是纵向切割操作,选满足条件的列,那么答案肯定是d2,b2咯