您好,欢迎访问三七文档
第六讲关系代数理论关系数据库模型(3)关系数据操作•关系数据模型的操作–查询•选择、投影、连接、除、并、交、差–数据更新•插入、删除、修改关系代数•概述•传统的集合运算•专门的关系运算概述1.关系代数一种抽象的查询语言用对关系的运算来表达查询概述(续)2.关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类概述(续)–集合运算符•将关系看成元组的集合•运算是从关系的“水平”方向即行的角度来进行–专门的关系运算符•不仅涉及行而且涉及列–算术比较符•辅助专门的关系运算符进行操作–逻辑运算符•辅助专门的关系运算符进行操作集合运算符∪-∩×并差交广义笛卡尔积比较运算符>≥<≤=≠大于大于等于小于小于等于等于不等于运算符含义运算符含义表1关系代数运算符概述(续)专门的关系运算符σπ÷选择投影连接除逻辑运算符∧∨非与或运算符含义运算符含义表关系代数运算符(续)概述(续)概述(续)4.关系代数运算的分类传统的集合运算并、差、交、广义笛卡尔积专门的关系运算选择、投影、连接、除传统的集合运算•并•差•交•广义笛卡尔积1.并(Union)•R和S–具有相同的目n(即两个关系都有n个属性)–相应的属性取自同一个域•R∪S–仍为n目关系,由属于R或属于S的元组组成R∪S={t|tR∨tS}并(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S2.差(Difference)•R和S–具有相同的目n–相应的属性取自同一个域•R-S–仍为n目关系,由属于R而不属于S的所有元组组成R-S={t|tR∧tS}差(续)ABCa1B1c1a1B2c2a2B2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S3.交(Intersection)•R和S–具有相同的目n–相应的属性取自同一个域•R∩S–仍为n目关系,由既属于R又属于S的元组组成R∩S={t|tR∧tS}R∩S=R–(R-S)交(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S4.广义笛卡尔积(ExtendedCartesianProduct)•Rn目关系,k1个元组•Sm目关系,k2个元组•R×S–列:(n+m)列的元组的集合•元组的前n列是关系R的一个元组•后m列是关系S的一个元组–行:k1×k2个元组•R×S={trts|trR∧tsS}广义笛卡尔积(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×SABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1专门的关系运算•选择•投影•连接•除选择(续)•3)选择运算是从行的角度进行的运算•4)举例设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。σ选择(续)学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS(a)Student例1例2例4例3例9选择(续)[例1]查询信息系(IS系)全体学生σSdept='IS'(Student)或σ5='IS'(Student)结果:SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS2.投影(Projection)•2)投影操作主要是从列的角度进行运算–但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)π投影(续)•3)举例[例3]查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影πSname,Sdept(Student)或π2,5(Student)结果:投影(续)SnameSdept李勇CS刘晨IS王敏MA张立IS连接(续)•3)两类常用连接运算–等值连接(equijoin)•什么是等值连接–θ为“=”的连接运算称为等值连接•等值连接的含义–从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:RS={|trR∧tsS∧tr[A]=ts[B]}A=Btrts连接(续)–自然连接(Naturaljoin)•什么是自然连接–自然连接是一种特殊的等值连接•两个关系中进行比较的分量必须是相同的属性组•在结果中把重复的属性列去掉•自然连接的含义R和S具有相同的属性组BRS={|trR∧tsS∧tr[B]=ts[B]}trts连接(续)•4)一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。AθBRS连接(续)•5)举例[例5]ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS连接(续)RSAR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310C<E连接(续)等值连接RSR.B=S.BAR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32连接(续)自然连接RSABCEa1b153a1b267a2b3810a2b3824.除(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。R÷S={tr[X]|trR∧πY(S)Yx}Yx:x在R中的象集,x=tr[X]除(续)•2)除操作是同时从行和列角度进行运算÷RS除(续)ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS小结l关系代数运算–关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除–基本运算并、差、笛卡尔积、投影、选择–交、连接、除可以用5种基本运算来表达引进它们并不增加语言的能力,但可以简化表达
本文标题:第六讲关系代数理论
链接地址:https://www.777doc.com/doc-7844364 .html