关系模型--关系代数


关系代数语言就是把关系看做是代数结构中的一个对象,通过定义的一系列关系运算,运算的结果任是关系

关系演算语言用谓词来表达查询要求,有 “元组关系演算语言” 和 “域关系演算语言”

SQL(Structured Query Language)具有关系代数和关系演算双重特点的语言

1.关系代数的运算符:集合运算符,专门的关系运算符

2.集合运算

(1)R:R(A1,A2,,,,,An):表示一个关系R

    t ∈ R:表示 t 是 R 的一个元组

    t [ Ai ]:表示元组 t 中相应于属性 Ai 的一个分量

    A:A  = {Ai1,Ai2,,,,,Ain},Ai1∈A1,Ai2∈A2,,,,Ain∈An,则 A 称为属性列或属性组

    t [ A ]:t [ A ] = { t [ A1 ],,,,,t [ An ]} 表示元组 t 在属性列 A 上的诸分量

    A非:从整个关系的属性集中去掉了 A 中的属性,即 {A1,A2,,,,,An}中去掉{Ai1,Ai2,,,,,Ain}

        

       

(2)并运算

  1)做并运算的两个关系 R 和 S 满足下列条件:

    a:具有相同的目数 n (即两个关系都有 n 个属性)

    b:相同的属性取自同一个域

  2)R U S 仍为 n 目关系,由属于 R 或 S 的元组组成,即 R U S = {t | t ∈ R V t ∈S }

(3)差运算

  1)做差运算的两个关系 R 和 S 满足下列条件:

    a:具有相同的目数 n (即两个关系都有 n 个属性)

    b:相同的属性取自同一个域

  2)仍为n 目关系,R - S = {t | t ∈ R ∧ t ∈ S}

(4)交运算

  1)做交运算的两个关系 R 和 S 满足下列条件:

    a:具有相同的目数 n (即两个关系都有 n 个属性)

    b:相同的属性取自同一个域

   2)仍为n 目关系,R ∩ S = { t | t ∈ R ∧ t ∈ S};R ∩ S = R -(R - S)

(5)笛卡尔积

  1)R :n 目关系,k1 个元组;S :m 目关系,k2 个元组

  2)R 叉乘 S

    a:列:

    b:

相关