精华内容
下载资源
问答
  • 关系代数表达式的优化策略
    千次阅读
    2021-04-21 16:09:58

    关系代数是关系数据库系统查询语言的理论基础。很有必要学习一下,有些是用代数表达式很方便的东西,用SQL写出来还是挺麻烦的,并不是想象当中那么直接。

    一、关系代数的9种操作:

    关系代数中包括了:并、交、差、乘、选择、投影、联接、除、自然联接等操作。
    

    五个基本操作:
    并()、差(-)、笛卡尔积(×)、投影(σ)[Where]、选择(π)[Select]

    四个组合操作:
    交()、
    联接(等值联接):等值连接表示(1)先做笛卡尔积(×)之后,(2)对相应列进行选择或等值关联后的结果(仅筛选行、不筛选列)
            (仅筛选行、不筛选列):即只作用于行上不作用于列上。
            如例子:(σ1=4∧2='C2’∧5=‘C4’(SC×SC)) 1.先(SC×SC)2.作用于列σ1=4∧2='C2’∧5=‘C4’
    自然联接(RcrossS):自然连接表示两个关系中若有相同名称的属性(列),则自动作为关联条件,且仅列出一列。
            如例子:(σCNO=‘C2’(ScrossSC))中的(ScrossSC)
    除法(÷)

    通过下面的例子可以看出,(ScrossSCcrossC)(RcrossS),这样的写法,说明默认肯定了cross的定义为连接表有相同名称的属性(即列)
    π列(σ(条件)(from后面的表))
    ∨[or]

    π 1(σ1=4∧2='C2'∧5='C4'(SC×SC))

    π SNO(σ CNO='C2'∨CNO='C4'(SC))

    二、关系代数表达式:

    由关系代数运算经有限次复合而成的式子称为关系代数表达式。这种表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。

    三、举例说明:

    设教学数据库中有3个关系:

    学生关系S(SNO,SNAME,AGE,SEX)

    学习关系SC(SNO,CNO,GRADE)

    课程关系C(CNO,CNAME,TEACHER)

    (1) 检索学习课程号为C2的学生学号与成绩

    SELECT SNO,GRADE
    FROM SC WHERE CNO=‘C2’

    π SNO,GRADE(σCNO='C2'(SC))


    (2) 检索学习课程号为C2的学生学号与姓名

    SELECT SC.SNO,S.SNAME
    FROM SC,S
    WHERE SC.SNO=S.SNO
    AND SC.CNO=‘C2’

    π SNO,SNAME(σCNO='C2'(ScrossSC))

    此查询涉及S和SC,先进行自然连接,然后再执行选择投影操作。

    π SNO,SNAME(S)cross(πSNO(σCNO='C2'(SC)))

    自然连接的右分量为"学了C2课的学生学号的集合"。
    此表达式比前一个表达式优化,执行起来要省时间、省空间。


    (3) 检索选修课程名为MATHS的学生学号与姓名

    SELECT SC.SNO,S.SNAME
    FROM SC,S,C
    WHERE SC.SNO=S.SNO
    AND SC.CNO=C.CNO
    AND C.CNAME=‘MATHS’

    π SNO,SANME(σCNAME='MATHS'(ScrossSCcrossC))


    (4) 检索选修课程号为C2或C4的学生学号

    SELECT SNO
    FROM SC
    WHERE CNO=‘C2’
    OR CNO=‘C4’

    π SNO(σ CNO='C2'∨CNO='C4'(SC))


    (5) 检索至少选修课程号为C2或C4的学生学号

    SELECT SA.SNO
    FROM SC AS SA,SC AS SB
    WHERE SA.SNO=SB.SNO
    AND SA.CNO=‘C2’
    AND SB.CNO=‘C4’

    π 1(σ1=4∧2='C2'∧5='C4'(SC×SC))


    (6) 检索不学C2课的学生姓名与年龄

    SELECT SNAME,AGE
    FROM S
    MINUS
    SELECT S.SNAME,S.AGE
    FROM SC,S
    WHERE SC.SNO=S.SNO
    AND SC.CNO=‘C2’

    π SNAME,AGE(S)-πSNAME,AGE(σCNO='C2'(ScrossSC))


    (7) 检索学习全部课程的学生姓名

    这个定义用SQL表示比较麻烦,略过

    π SNO,CNO(SC)÷πCNO©
    先用除法取出选取所有课程的SNO集(除法可以理解为一个Filter)

    π SNAME(S cross (πSNO,CNO(SC)÷πCNO(C)))

    再关联S表取出SNAME


    (8) 检索所学课程包含S3所学课程的学生学号

    这个定义用SQL表示比较麻烦,略过

    π SNO,CNO(SC)÷ πCNO(σSNO='S3'(SC))

    同样运用了除法的特性


    (9) 将新课程元组(‘C10’,‘PHYSICS’,‘YU’)插入到关系C中

    INSERT INTO C VALUES(‘C10’,‘PHYSICS’,‘YU’)

    (C∪('C10','PHYSICS','YU'))

    记住该符号的用法


    (10) 将学号S4选修课程号为C4的成绩改为85分

    UPDATE SC SET GRADE=85
    WHERE SNO=‘S4’
    AND CNO=‘C4’

    (SC-('S4','C4',?)∪('S4','C4',85))

    先用’-'实现DELETE功能,再用’∪’实现INSERT功能
    注意使用?来表示检索时忽略该字段值


    四、关系代数表达式的优化:

    目的:为了系统在执行时既省时间又能提高效率。
    基本策略:先做选择,运用投影去除多余属性等等。
    优化算法:语法树(尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值)

    例如:

    π SNO,SNAME(σGRADE>60(ScrossSC))

    进行优化后转换为:

    π SNO,SNAME(πSNO,SNAME(S)crossπSNO(σGRADE>60(SC)))

    —即提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值

    又如:

    SC(S#,C#,GRADE)
    C(C#,CNAME,TEACHER)

    π CNAME,TEACHER(σSEX=‘女’(ScrossSCcrossC))
    进行优化后转换为:

    πCNAME,TEACHER(CcrossπC#(πS#,C#(SC)crossπS#(σSEX=‘女’(S))))

    优化前和优化后的语法树如下所示:
    在这里插入图片描述
    原文链接:http://www.blogjava.net/decode360/archive/2009/04/15/292362.html

    更多相关内容
  • 关系代数表达式优化步骤

    千次阅读 2021-06-26 12:39:22
    关系代数表达式优化步骤 本篇主要讲解怎么画查询语法树并对其优化,因为我在学关系代数的语法树的时候,在网上找不到比较详细的教法或者技巧,最后通过答案反推原理,所以想写一篇技巧来描述一下这类题的解题方法。 ...

    关系代数表达式优化步骤

    本篇主要讲解怎么画查询语法树并对其优化,因为我在学关系代数的语法树的时候,在网上找不到比较详细的教法或者技巧,最后通过答案反推原理,所以想写一篇技巧来描述一下这类题的解题方法。

    先上书内讲解

    1、构造查询树

    第一步:把用高级语言定义的查询转换为关系代数表达式
    ★ 以 SELECT子向对应投影操作,以FROM字向对应笛卡尔积以 WHERE子句对应选择操作,生成原始查询树
    ★ SQL语句转化为原始查询树
    第二步:把关系代数表达式转换为查询树。

    注: 查询树是一种表示关系代数表达式的树形结构。在一个查询树中,叶子结点表示关系,内结点表示关系代数操作。查询树以自底向上的方式执行:当一个内结点的操作分量可用时,这个内结点所表示的操作启动执行,执行结束后用结果关系代替这个内结点。

    2、利用等价转换规则反复地对查询表达式进行尝试性转换,将原始的语法树转換成“优化”的形式(方式的等价变换规则查书)

    1. 对每一个选择,利用等价变换规则4~9尽可能把它移到树的叶端。目的是使选择操作尽早执行
    2. 对每一个投影利用等价变换规则3,9等的一般形式尽可能把它移向树的叶端。目的是使投影操作尽早执行
    3. 对每个叶节点加必要的投影操作,以消除对查询无用的属性。
    4. 如果笛卡尔乘积后还须按连接条件进行选择操作,可将两者组合成连接操作
      选择下沉,投影随后

    题目举例

    对学生-课程数据库,查询信息系学生选修了的所有课程名称。

    ​ SELECT Cname FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno AND Student.Sdept=’IS’;

    ​ 试画出查询树图、关系代数语法树图、优化后的查询树。

    具体的技巧就是 先选择,后投影,按照查询语句的顺序 先写Project(Cname),也就是最终查询结果,然后按照条件语句where从后面往前写,遇到两个表相关联的字段时,可以看看是否这个表后面还有查询,如果没有,则表作为叶端,有的话,就继续连接(join)条件,直到所有的查询条件都连接完毕,剩下的叶端就是表了。
    例如下图的查询树,到join(SC.Cno=Course.Cno)的时候,条件的Course从后往前都没有下一个查询条件了,也就是说这是最后一个关于Course的查询条件,那表名就出来了。
    进行优化语法树的时候,要全部都转为选择σ和投影∏来表示,σ一般表示除了父节点以外的结点,∏ 表示父节点。遇到两个表相关联的情况,下面要用X表示,比查询多这一步而已,读者看图应该能看懂。下一步就是变成优化后的语法树,做法也很简单,就是把那些单表的查询语句移到下面来,移到等值运算后面作为新的查询条件,然后再出结果的表。

    1.构造查询树
    查询语句转关系代数表达式为:∏Cname(σStudent.Sdept=’IS’(Student ⋈ Course ⋈ SC))

    在这里插入图片描述

    2.利用等价代换原则进行优化

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 关系代数优化

    千次阅读 2021-04-16 22:46:47
    关系代数优化是指通过对关系代数表达式的等价变换操作来提高数据库的查询效率。 关系代数有5大基本操作:包括并( Union,U ),差 (Difference , - ),笛卡尔积( X ),投影( project,∏),选择( select...

    数据库 – 关系代数优化(语法树优化)

    关系代数优化是指通过对关系代数表达式的等价变换操作来提高数据库的查询效率。

    关系代数有5大基本操作:包括并( Union,U ),差 (Difference , - ),笛卡尔积( X ),投影( project,∏),选择( select , σ )。
    其他操作:交(Intersection , ∩ ),连接( ⋈ ),除( ÷ );

    代数优化遵循的原则是:先做选择,运用投影去除多余属性等等。
    优化算法:语法树(尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值)。

    一,在优化过程中使用到的等价变换规则如下

    1. 连接,笛卡尔积的交换律
    设E1和E2是关系代数表达式,F是连接运算的条件
    在这里插入图片描述

    2. 连接,笛卡尔积的结合
    在这里插入图片描述

    3. 投影的串接定律
    A1…An,B1…Bn为表的属性。
    在这里插入图片描述

    4. 选择的串接定律
    在这里插入图片描述

    5. 选择与投影的交换
    在这里插入图片描述

    6. 选择与笛卡尔积的交换
    在这里插入图片描述
    7.选择与并的交换
    在这里插入图片描述
    8.选择与差的交换
    在这里插入图片描述
    9. 投影与笛卡尔积的交换
    在这里插入图片描述
    10.投影与并的交换
    在这里插入图片描述

    二,关系代数表达式优化步骤

    1、构造查询树
    第一步:把用高级语言定义的查询转换为关系代数表达式
    ★ 以 SELECT子向对应投影操作,以FROM字向对应笛卡尔积以 WHERE子句对应选择操作,生成原始查询树
    ★ SQL语句转化为原始查询树
    第二步:把关系代数表达式转换为查询树。

    注: 查询树是一种表示关系代数表达式的树形结构。在一个查询树中,叶子结点表示关系,内结点表示关系代数操作。查询树以自底向上的方式执行:当一个内结点的操作分量可用时,这个内结点所表示的操作启动执行,执行结束后用结果关系代替这个内结点。

    2、利用等价转换规则反复地对查询表达式进行尝试性转换,将原始的语法树转換成“优化”的形式
    <1> 对每一个选择,利用等价变换规则4~9尽可能把它移到树的叶端。目的是使选择操作尽早执行
    <2> 对每一个投影利用等价变换规则3,9等的一般形式尽可能把它移向树的叶端。目的是使投影操作尽早执行
    <3> 对每个叶节点加必要的投影操作,以消除对查询无用的属性。
    <4> 如果笛卡尔乘积后还须按连接条件进行选择操作,可将两者组合成连接操作
    选择下沉,投影随后

    ---------------------------------------------------------------------------------------------------------------------------
    应用举例
    从数据库中找出选修了课程名为“IS”的学生姓名
    Select Cname
    From Student, Course, SC
    WHERE Student.Sno = SC.Sno AND SC.Cno = Course.Cno AND Student.Sdept =’IS’;

    1.构造查询树
    查询语句转关系代数表达式为:∏Cname(σStudent.Sdept=’IS’(Student ⋈ Course ⋈ SC))
    在这里插入图片描述
    2.利用等价代换原则进行优化
    (1)
    在这里插入图片描述
    (2)
    在这里插入图片描述
    (3)
    在这里插入图片描述
    优化完毕。

    展开全文
  • 数据库关系代数表达式学习

    万次阅读 多人点赞 2018-01-14 17:15:15
    感谢原作者 ...很有必要学习一下,有些是用代数表达式很方便的东西,用SQL写出来还是挺麻烦的,并不是想象当中那么直接。   一、关系代数的9种操作:    关系代数中包括了:

    关系代数是关系数据库系统查询语言的理论基础。很有必要学习一下,有些是用代数表达式很方便的东西,用SQL写出来还是挺麻烦的,并不是想象当中那么直接。
     
    一、关系代数的9种操作:
     
        关系代数中包括了:并、交、差、乘、选择、投影、联接、除、自然联接等操作。
     
    五个基本操作:
        并(∪)、差(-)、笛卡尔积(×)、投影(π)、选择(σ)
     
    四个组合操作:
        交(∩)、联接(等值联接)、自然联接(RcrossS)、除法(÷) 
    注2:等值连接表示先做笛卡尔积(×)之后,对相应列进行选择或等值关联后的结果(仅筛选行、不筛选列)
    注2:自然连接表示两个关系中若有相同名称的属性,则自动作为关联条件,且仅列出一列
     
     
    二、关系代数表达式:
     
        由关系代数运算经有限次复合而成的式子称为关系代数表达式。这种表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。
     
     
    三、举例说明:
     
        设教学数据库中有3个关系:

        学生关系S(SNO,SNAME,AGE,SEX)
        学习关系SC(SNO,CNO,GRADE)
        课程关系C(CNO,CNAME,TEACHER)
     
     
    (1) 检索学习课程号为C2的学生学号与成绩
    ------------------------------------
    SELECT SNO,GRADE
      FROM SC
    WHERE CNO='C2'
    ------------------------------------
    π SNO,GRADE(σCNO='C2'(SC))
    ************************************
     
     
    (2) 检索学习课程号为C2的学生学号与姓名
    ------------------------------------
    SELECT SC.SNO,S.SNAME
      FROM SC,S
    WHERE SC.SNO=S.SNO
       AND SC.CNO='C2'
    ------------------------------------
    π SNO,SNAME(σCNO='C2'(ScrossSC))
    此查询涉及S和SC,先进行自然连接,然后再执行选择投影操作。
    ----
    π SNO,SNAME(S)crossπSNO(σCNO='C2'(SC)))
    自然连接的右分量为"学了C2课的学生学号的集合"。
    此表达式比前一个表达式优化,执行起来要省时间、省空间。
    ************************************
     
     
    (3) 检索选修课程名为MATHS的学生学号与姓名 
    ------------------------------------
    SELECT SC.SNO,S.SNAME
      FROM SC,S,C
    WHERE SC.SNO=S.SNO
       AND SC.CNO=C.CNO
       AND C.CNAME='MATHS'
    ------------------------------------
    π SNO,SANME(σCNAME='MATHS'(ScrossSCcrossC))
    ************************************
     
     
    (4) 检索选修课程号为C2或C4的学生学号
    ------------------------------------
    SELECT SNO
      FROM SC
    WHERE CNO='C2'
        OR CNO='C4'
    ------------------------------------
    π SNO(σ CNO='C2'∨CNO='C4'(SC))
    ************************************
     
     
    (5) 检索至少选修课程号为C2或C4的学生学号
    ------------------------------------
    SELECT SA.SNO
      FROM SC AS SA,SC AS SB
    WHERE SA.SNO=SB.SNO
       AND SA.CNO='C2'
       AND SB.CNO='C4'
    ------------------------------------
    π 1(σ1=4∧2='C2'∧5='C4'(SC×SC))
    ************************************
     
     
    (6) 检索不学C2课的学生姓名与年龄
    ------------------------------------
    SELECT SNAME,AGE
      FROM S
    MINUS
    SELECT S.SNAME,S.AGE
      FROM SC,S
    WHERE SC.SNO=S.SNO
       AND SC.CNO='C2'
    (Oracle)
    ------------------------------------
    π SNAME,AGE(S)-πSNAME,AGE(σCNO='C2'(ScrossSC))
    ************************************
     
     
    (7) 检索学习全部课程的学生姓名
    ------------------------------------
    这个定义用SQL表示比较麻烦,略过
    ------------------------------------
    π SNO,CNO(SC)÷πCNO(C)
    先用除法取出选取所有课程的SNO集(除法可以理解为一个Filter)
    π SNAME(S cross (πSNO,CNO(SC)÷πCNO(C)))
    再关联S表取出SNAME
    ************************************
     
     
    (8) 检索所学课程包含S3所学课程的学生学号
    ------------------------------------
    这个定义用SQL表示比较麻烦,略过
    ------------------------------------
    π SNO,CNO(SC)÷ πCNO(σSNO='S3'(SC))
    同样运用了除法的特性
    ************************************
     
     
    (9) 将新课程元组('C10','PHYSICS','YU')插入到关系C中
    ------------------------------------
    INSERT INTO C VALUES('C10','PHYSICS','YU')
    ------------------------------------
    (C('C10','PHYSICS','YU'))
    记住该符号的用法
    ************************************
     
     
    (10) 将学号S4选修课程号为C4的成绩改为85分
    ------------------------------------
    UPDATE SC SET GRADE=85
    WHERE SNO='S4'
       AND CNO='C4'
    ------------------------------------
    (SC('S4','C4',?)('S4','C4',85))
    先用''实现DELETE功能,再用'∪'实现INSERT功能
    注意使用?来表示检索时忽略该字段值
    ************************************
     
     
    四、关系代数表达式的优化:
     
        目的:为了系统在执行时既省时间又能提高效率。
        基本策略:先做选择,运用投影去除多余属性等等。
        优化算法:语法树(尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值)
     
        例如:
     
        π SNO,SNAME(σGRADE>60(ScrossSC)) 进行优化后转换为:
        π SNO,SNAME(πSNO,SNAME(S)crossπSNO(σGRADE>60(SC)))
        --即提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值
     
     
        又如:
     
        S(S#,SNAME,AGE,SEX)
        SC(S#,C#,GRADE)
        C(C#,CNAME,TEACHER)
     
        π CNAME,TEACHER(σSEX='女'(ScrossSCcrossC)) 进行优化后转换为:
        πCNAME,TEACHER(CcrossπC#(πS#,C#(SC)crossπS#(σSEX='女'(S))))
     
        优化前和优化后的语法树如下所示:
     
        syntax_tree
    展开全文
  • 1.(2.5分) 关系代数的基本操作组成关系代数的完备操作集,其他操作均可以由基本操作来表达。具体而言,关系代数的基本操作有( )。 A、差、笛卡尔积、连接和选择 B、差、交、连接和选择 C、差、笛卡尔积、...
  • 查询优化代数优化

    2022-01-12 11:50:58
    代数优化策略:通过对关系代数表达式的等价变换来提高查询效率 关系代数表达式的等价:指用相同的关系代替两个表达式中相应的关系所得到的结果是相同的 两个关系表达式E1和E2是等价的,可记为E1≡E2 常用的等价变换...
  • 利用改进查询计划的代数定律,分析基于关系代数树的关系代数式查询优化方法、研究关系代数表达式与SQL查询的等价变换准则、分析关系代数表达式等价变换前后的查询代价;通过实验、实例以及代价估计验证了利用关系...
  • 详细分析关系代数表达式等价变换前后的查询代价。针对DBMS查询优化器如何生成成本最小的查询计划...提出基于关系代数运算等价变换规则的SQL查询优化策略。该策略提供了查询优化器生成成本最小的查询计划的设计依据。
  • 「 数据库原理 」查询优化(关系代数表达式优化) 转载自 http://www.ptbird.cn/optimization-of-relational-algebraic-expression.html 关系代数表达式是进行数据库查询前的理论部分,在简单的查询中一般不会想到...
  • 关系数据语言{关系代数语言(例如ISBL)关系演算语言{元组关系演算语言(例如ALPHA、QUEL)域关系演算语言(例如QBE)具有关系代数关系演算双重特点的语言(例如SQL)关系数据语言\begin{cases} 关系代数语言(例如ISBL) \...
  • 关系数据结构笛卡儿积:给定一组集合D1,D2,…,Dn,这些集合可以相同, 定义D1,D2,…,Dn 的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn) | di?Di,i=l,2,…,n},其中的每一个元素(d1,d2,…,dn)叫做一个n元组,元素中第i...
  • 代数优化策略

    千次阅读 2020-03-01 21:39:02
    尽早执行选择操作 目的:减少中间关系 投影和选择操作同时进行 目的:避免重复扫描关系 投影和前后的双目运算结合 目的:减少扫描关系的遍数 选择和前面要执行的笛卡尔积结合成为一个连接运算...找出公共子表达式 ...
  • 数据库之关系代数

    2015-10-15 11:45:48
     感谢原作者的整理 ...很有必要学习一下,有些是用代数表达式很方便的东西,用SQL写出来还是挺麻烦的,并不是想象当中那么直接。   一、关系代数的9种操作:    关系代数中包括了:并
  • 关系代数和SQL练习(二)

    千次阅读 2017-01-04 13:11:49
    数据库关系代数表达式学习 关系代数是关系数据库系统查询语言的理论基础 一、关系代数的9种操作:  关系代数中包括了:并、交、差、乘、选择、投影、联接、除、自然联接等操作。 五个基本操作:  并(∪)、...
  • 该系列的博客都是基于《数据库系统概论》第五版王珊一书 前提: 因为最近要升学的原因,再加上重温数据库部分内容,所以整理一份比较详细且重点的笔记。适合有考研升学需求的人收藏 ————————————...关系
  • 关系型数据库管理系统查询处理分为四个阶段:查询分析、查询检查、查询优化和查询执行 二、关系数据库系统的查询优化 1、为什么要查询优化? [示例]求选修了C2号课程的学生姓名 用SQL语句表示: SELECT S.SN FROM S....
  • 由于关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性 查询优化概述 关系系统的查询优化关系数据库管理系统实现的关键技术又是关系系统的优点所在 减轻了用户...
  • 数据库 第九章

    2018-11-15 20:14:48
    关系查询处理和查询优化 一:关系数据库系统的查询处理 1.查询处理步骤 关系数据库管理系统查询处理阶段 : 查询分析 查询检查 查询优化 查询执行 实现查询操作的算法示例 选择操作典型实现方法: (1) 全表...
  • 第9章 关系查询处理和查询优化 9.1 关系数据库系统的查询处理 ... 查询优化代数优化(逻辑优化)和物理优化(基于规则、代价、语义),生成查询计划树 查询执行:自底向上/自顶向下策略 ...
  • 9.1关系数据库系统的查询处理 选择操作的实现 P277 简单的全表扫描算法 索引扫描算法 ...连接操作的实现(连接操作是查询处理中最常用也是最耗时...9.2关系数据库系统的查询优化 查询优化的优点不仅在于用户不...
  • 9.1 关系数据库系统的查询处理 查询处理步骤 查询分析→查询检查→查询优化→查询执行 实现查询操作的算法示例 选择操作 连接操作(费时)嵌套循环方法、排序-合并方法、索引...代数优化策略:通过对关系代数表达
  • 原文挺长的 , 就自己摘了点 考试用的到的,以上为原文;... 关系代数中包括了:并、交、差、乘、选择、投影、联接、除、自然联接等操作。 五个基本操作: 并(∪)、差(-)、笛卡尔积(×)、投影(π)、选择(σ) ...
  • 代数优化策略:通过对关系代数表达式的等价变换来提高查询效率 关系代数表达式的等价:指用相同的关系代替两个表达式中相应的关系所得的结果是相同的 物理优化:选择高效合理的操作算法或存取路径,求得优化的查询...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,084
精华内容 2,033
热门标签
关键字:

关系代数表达式的优化策略