关系模型--关系代数
关系代数语言就是把关系看做是代数结构中的一个对象,通过定义的一系列关系运算,运算的结果任是关系
关系演算语言用谓词来表达查询要求,有 “元组关系演算语言” 和 “域关系演算语言”
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: