数据库应用之关系代数(relational algebra)

  1. 关系代数表达式的五个基本算子
    1.选择(selection):即选择某些行。代码:select ··· from ··· where。表达式:σ<条件>(<表>)。
    2.投影(projection):即选择某些列。代码:select ··· distinct from ··· (distinct有去重的功能)。表达式:Π<属性>(<表>)。
    3.叉乘(cross product):笛卡尔积,就像矩阵相乘。表达式:<表>X<表>。
    4.做差(set-differences):减去交集。表达式:<表>-<表>。
    5.并集(union):将两表合起来,注意去重。表达式:<表>U<表>。
    6.更名(rename):将B改名为A。表达式:ρ(A,B).
  2. 重要的组合算子
    1.交集(intersection)。
    2.连接(join):▷◁


    1. 自然连接(natural join):R叉乘S,选择公共属性匹配的记录,投影去除重复的公共属性。
      (1)对于多个公共属性的,每个公共属性都要匹配;
      (2)对于没有公共属性的,连接相当于叉乘;
      (3)对于所有属性都是公共属性的,连接相当于交集。
    2. 条件连接(conditional join):R叉乘S,根据条件进行选择。

    3.除法(division):性质:R ÷ S = q,但是 q X S 只是R的子集。
    数据库应用之关系代数(relational algebra)_第1张图片
    数据库应用之关系代数(relational algebra)_第2张图片

  3. 查询优化
    先选择数据和投影属性后再进⾏行连接(连接效率⽐比筛选低)

  4. 关系演算:描述法表示某一集合

    **可使用与或非,蕴含,谓词,量词
    无限集合会越界,不安全,因此这是不合法的**

  5. 关系演算与关系代数之间的关系
    数据库应用之关系代数(relational algebra)_第3张图片

例题:

数据库应用之关系代数(relational algebra)_第4张图片
数据库应用之关系代数(relational algebra)_第5张图片
数据库应用之关系代数(relational algebra)_第6张图片

你可能感兴趣的:(数据库,关系代数,基本算子,关系演算)