当前位置: 首页 > >

关系模型之关系代数

发布时间:

基于集合,提供了一系列的关系代数操作:并、差、笛卡儿积(广义积)、选择、投影和更名等基本操作,以及交、连接和关系除等扩展操作,是一种集合思维的操作语言

关系代数运算符:






像并、差、交等关系运算需要满足“并相容性”:


? ? 定义:关系R与关系S存在相容性当且仅当


? ? ? ? (1)、R,S属性项目相同;


? ? ? ? (2)、R,S中相同位序属性的域相同。


? ? 并相容性例子:


? ? ? ? STUDENT(SID char(10), Sname char(10), Age char(10))


? ? ? ? TEACHER(PID char(10), Pname char (10),PAge char (10)).由定义知相容


对关系R和S进行关系运算:







并、交、差运算与离散中的相同


? ? 并:x属于R或者x属于S都可以,不可以有相同元素


? ? 交:x即属于R也属于S。只有a b c; a d g;是交运算的结果


? ? 差:R-S ? ?属于R但是不属于S ? f b e为结果


? ? ? ? ? ?S-R ? ?属于S但是不属于R ? a b e; h d g是结果


? ? 笛卡儿积:


? ? ? ? R中元组数是3,S元组数是4,多疑笛卡儿积的元组数是12.笛卡儿积就是R元组与S元组的组合







选择:


? ? σ_con(R):con是条件(condition)R是要查找的关系


? ? 例如:
?
σA3>0(R) ? 结果就是:a a 10;f b 5


投影:

? ?

A (R):从关系R中选出属性包含在A中的列构成,可以把列元素重新排序。投影之后有重复的元组要删除掉

? ? 例如:
πA 1,A3(R)结果 ? ?


? ? ? ? ? ? A1 a a 10



? ? ? ? ? ? A3 f b 5


连接操作: ?


? ? 1.对两个表进行笛卡儿积操作;


? ? 2.按照条件帅选满足的元组;


? ? 3.进行投影操作,只选出要求的列。


外连接:





? ? Teacher(T#, Tname, Salary) ? Course(C#, Cname) ? Teach(T#, C#) ? ?三个关系。 ?


? ? 外连接的时候就是,R,S进行连接的时候,如果R(S)中的元组在S(R)中找不到匹配项,就把R(S)与S(R)中假定存在的全为空值额元组进行连接


? ? 外连接分几种情况:






友情链接: