您的位置:首页 > 其它

关系模型之关系代数

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)中假定存在的全为空值额元组进行连接
    外连接分几种情况:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: