关系模型之关系代数
2016-06-03 20:14
204 查看
基于集合,提供了一系列的关系代数操作:并、差、笛卡儿积(广义积)、选择、投影和更名等基本操作,以及交、连接和关系除等扩展操作,是一种集合思维的操作语言
关系代数运算符:
像并、差、交等关系运算需要满足“并相容性”:
定义:关系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)中假定存在的全为空值额元组进行连接
外连接分几种情况:
关系代数运算符:
像并、差、交等关系运算需要满足“并相容性”:
定义:关系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)中假定存在的全为空值额元组进行连接
外连接分几种情况:
相关文章推荐