




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.2关系代数关系模型的重要部分是关系操纵,关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。利用关系代数可以演示一个查询语言从关系数据库系统中检索信息的潜力,可以用最简单的形式来表达所有关系数据库查询语言必须完成的运算的集合,这些基本的运算对解释标准查询语言SQL如何被执行很有帮助,同时也有利于培养关系运算的思维能力。1.2关系代数关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类;集合运算符、专门的关系运算符、算术比较符和逻辑运算符。关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类。其中传统的集合运算将关系看成元组的集合,其运算是从关系的“水平”方向即行的角度来进行。而专门的关系运算不仅涉及行而且涉及列。比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的。
关系代数运算符运算符
符号含义
键盘格式
示例
集合运算符∪
并
UNION
R∪S,或RUNIONS∩
交
INTERSECTR∩S,或RINTERSECTS
-差
MINUS
R-S,或RMINUSS×
乘
TIMES
R×S,或RTIMESS专门关系运算符
σ
选择
RwhereC
σ姓名=“张三”(S)或Swhere姓名=‘张三’π
投影
R[]
π考号,姓名(S)或S[考号,姓名]
∞
连接
JOINR∞S,或RJOINS
÷
除
DIVIDEBY
R÷S,或RDIVIDEBYS关系代数中,这些运算经有限次复合后形成的式子称为关系代数表达式。
1.2.1传统的集合运算传统的集合运算是二目运算,包括并、差、交、广义笛卡尔积。定义1.2.1设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则可以定义并、差、交运算如下:
并(Union):关系R与关系S的并记作:R∪S={t|t∈R∨t∈S}其结果仍为n目关系,由属于R或属于S的元组组成。差(Difference):关系R与关系S的差记作:R—S={t|t∈R∧t!∈S}其结果仍为n目关系,由属于R而不属于S的所有元组组成。1.2.1传统的集合运算交(Intersection):关系R与关系S的交记作:R∩S={t|t∈R∧t∈S}其结果仍为n目关系,由既属于R又属于S的元组组成。关系的交可以用差来表示,即R∩S=R-(R-S)。广义笛卡尔积(ExtendedCartesianProduct):两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。记作:R×S={trts|tr∈R∧ts∈S}传统集合运算举例RABCa1b1c1a1b2c2a2b2c1R∪SABCa1b1c1a1b2c2a2b2c1a1b3c2SABCa1b2c2a1b3c2a2b2c1R∩SABCa1b2c2a2b2c1传统集合运算举例RABCa1b1c1a1b2c2a2b2c1R-S
ABCa1b1c1R×S
ABCABCa1b2c1a1b2c2a1b2c1a1b3c2a1b2c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2
a2b2c1a2b2c1SABCa1b2c2a1b3c2a2b2c11.2.2专门的关系运算专门的关系运算包括选择、投影、连接、除等。为了叙述上的方便,先引入几个常用记号。设关系模式为R(Al,A2,…,An)。它的一个关系设为R。t∈R表示t是R的一个元组。t[Ai]则表示元组t中相应于属性Ai的一个分量。若A={Ai1,Ai2,…,Aik},其中Ail,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列。1.2.2专门的关系运算R为n目关系,S为m目关系。tr∈R,ts∈S,trts称为元组的连接。它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。给定一个关系R(X,Z),X和Z为属性组。定义t[X]=x时,x在R中的象集(ImagesSet)为:Zx={t[Z]︱t∈R,t[X]=x}它表示R中属性组X上值为x的诸元组在Z上分量的集合。学生-课程数据库S学生表学号姓名性别年龄所在系SnoSnameSsexSageSdept2000101张明男19CS2000102李华女20IS2000103王强男18MA2000104秦永男19CSC课程表课程号课程名学分CnoCnameCcredit1数据库32数学43信息系统34操作系统3SC学生选课表
学号课程号成绩SnoCnoGrade200101192200101285200101388200102290200102380选择(Selection)定义1.2.2选择选择又称为限制(Restriction),它是在关系R中选择满足给定条件的诸元组,记作:σF(R)={t︱t∈R∧F(t)=‘真’}其中F表示选择条件,它是一个逻辑表达式,取逻辑值‘真’或‘假’。逻辑表达式F由逻辑运算符﹁,∧,∨连接各算术表达式组成。算术表达式的基本形式为:X1θY1,其中θ表示比较运算符,它可以是>、≥、<、≤、=或≠;X1,Y1等是属性名,或为常量,或为简单函数;属性名也可以用它的序号来代替。选择(Selection)选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算,是对行的水平分解。例1
查询信息系(IS)全体学生σSdept=”IS”(S)或σ5=”IS”(S)其中下角标“5”为Sdept的属性序号。或SwhereSdept=”IS”例2查询年龄在19到20岁之间的学生σSage≥19∧Sage≤20(S)或σ4≥19∧4≤20(S)或SwhereSage>=19andSage<=20投影(Projection)定义1.2.3投影关系R上的投影是从R中选择出若干属性列组成新的关系,是对关系的垂直分解。记作:πA(R)={t[A]|t∈R}其中A为R中的属性列集合。投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。投影(Projection)例3查询学生的姓名和所在系。πSname,Sdept(S)或π2,5(S)
或S[Sname,Sdept]例4
查询学生关系Student中都有哪些系。
πSdept(S)或S[Sdept]连接(Join)定义1.2.4连接连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:R∞S={trts|tr∈R∧ts∈S∧tr[A]θts[B]}AθB其中A和B分别为R和S上度数相等且可比的属性组。θ是比较运算符。连接运算的结果是从R和S的广义笛卡尔积R×S中选取R关系在A属性组上的值与S关系在B属性组上值满足比较关系θ的元组。
连接(Join)连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equijoin),另一种是自然连接(Naturaljoin)。另外还有外连接、左连接、右连接等。θ为“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组.自然连接(Naturaljoin)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
外连接定义1.2.5外连接表R(A1,A2,…,An,B1,B2,…,Bk)和S(B1,B2,…,Bk,C1,C2,…,Cm)的外连接R∞oS,行t属于表R∞oS,如果下列情况之一发生:1)可连接的行u,v分别在R和S中,有u[Bi]=v[Bi](0<=i<=k)成立,此时t[A]=u[A],t[B]=u[B],t[C]=v[C]。2)表R中的一个行u使得S中没有一个可以与之连接的行,此时,t[A]=u[A],t[B]=u[B],t[C]=null。3)表S中的一个行v使得R中没有一个可以与之连接的行,此时,t[A]=null,t[B]=v[B],t[C]=v[C]。外连接由定义知,外连接保留了未匹配的行。也就是说,在外连接一端的表上的行,即使在另一端上的表没有与之相匹配的连接列值也会出现在外连接的结果中。左连接和右连接运算只是因为我们需要在某一边上保留未匹配的行而已。左连接保留了在操作符左边的未匹配行,右连接保留了在操作符右边的未匹配行。一般的连接操作是从行的角度进行运算。但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。关系代数连接运算符符号含义键盘格式示例∞AiθBjθ连接JOIN(AiθBj)R∞A1>B2S∞o外连接OUTERJOINR∞oS∞Lo左连接LOUTERJOINR∞LoS∞Ro右连接ROUTERJOINR∞RoS连接运算举例RABCa1b15a1b26a2b38a2b412SBEb13b27b310b32b52
θ连接R∞C<ES
AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310等值连接R∞R.B=S.BSAR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32
自然连接R∞SABCEa1b153a1b267a2b3810a2b382连接运算兔举例RABCa1b15a1b26a2b38a2b412SBEb13b27b310b32b52外连接R∞oSABCEa1b153a1b267a2b3810a2b382a2b412nullnullb5null2
左连接R∞LoSABCEa1b153a1b267a2b3810a2b382a2b412null右连接R∞RoSABCEa1b153a1b267a2b3810a2b382nullb5null2郭文明右2企003插.06印.05除(Di卖visi合on)定义1否.2.疏6除给定关卫系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]|t孝r∈R∧读πy(S散)∈Yx桌}其中Y荡x为x葱在R中旺的象集谁,x=喂tr[西X]。郭文明括200寨3.06酸.05除(Di携visi痒on)除操作宝是同时锐从行和枣列角度屋进行运禁算。除运算尝是乘运叙算的逆险运算,狱给定两幕个表T和S,如果妙表R是通过R=T×S定义的,熄那么有T=R÷S成立。洁在这个蹲意义上方可解释讯为什么勒称作除佣运算。郭文明轻200彼3.06竹.05除运算妇举例RABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1SBCDb1c2d1b2c1d1b2c3d2R÷SAa1郭文明是2缠003密.06圈.05除运算举身例在关系聪R中,把A可以本取四个检值{a绢1,a裕2,a脖3,a挑4}。湿其中:a1的告象集为政{(b戚1,c呀2),卖(b2初,c3孕,),铜(b2牺,c1孝)}a2的热象集为壤{(b仰3,c壤7),副(b2述,c3同)}a3的肉象集为歌{(b航4,c疑6)}a4的象捉集为{(降b6,c泛6)}S在(葛B,C背)上的瓜投影为此{(b畜1,c皂2),更(b2愉,c1轧),(残b2,逃c3)患}显然a体1的象鸣集包含己了S在附(B,赶C)属门性组上走的投影蹈,所以屡R÷S五={a慰1}.郭文明萍200得3.06先.05除运算举钱例R1)给出S,求得T=R÷S。注意:T×S都在R中。
ST2)给出S,求得T=R÷S。注意:T×S都在R中。
ST3)给出S,求得T=R÷S。注意:T×S都在R中。
ST4)给出S,求得T=R÷S。注意:T×S都在R中。STABCa1b1c1a2b1c1a1b2c1a1b2c2a2b1c2a1b2c3a1b2c4a1b1c5Cc1ABa1b1a2b1a1b2Cc1c2ABa1b2a2b1Cc1c2c3c4ABa1b2BCb1c1Aa1a2郭文明秘2难003沟.06垮.051.2赴.3关厅系代数综合例甚子以下例斑子建立征在下面达CAP翠数据库厚上。
C顾客cidcnamecitydiscntc001李广天津10.00c002王开基北京12.00c003安利德北京8.00c004曹士雄天津8.00c006曹士雄广州0.00P商品pidpnamecityquantitypricep01梳子天津1114000.50p02刷子成都2030000.50p03刀片西安1506001.00p04钢笔西安1253001.00p05铅笔天津2214001.00p06文件夹天津1231002.00p07盒子成都1005001.00
A代理aidanamecitypercenta01史可然北京6a02韩利利上海6a03杜不朗成都7a04甘瑞北京6a05敖斯群武汉5a06史可然天津5O订单ordnomonthcidaidpidqtydollars
101101c001a01p011000450.00101201c001a01p011000450.00101902c001a02p02400180.00101702c001a06p03600540.00101802c001a03p04600540.00102303c001a04p05500450.00102203c001a05p06400720.00102504c001a05p07800720.00101301c002a03p031000880.00102605c002a05p03800704.00郭文明沃2膜003烂.06溪.051.2征.3关痒系代数综合例顽子例1查询所样有定购亚了至少嫂一个价弄值为0.50满的商品的遭顾客的名火字。πcna刻me((πpid(σpric街e=0.论50(P))夜∞O)∞舱C)例2找出全部鹿没有在代勺理商a03处订购厉商品的奥顾客cid值。πcid(O)窑—πcid(σaid干=’a位03’(O))或宜πcid(C)—喷πcid(σaid冶=’a桐03’(O)告)例3找出只崇在代理颤商a03处订购商窑品的顾客绪。πcid(O)其—πcid(σaid《致》’a0你3’(O)巴)郭文明盟2琴003体.06雾.051.2.辛3关系代剧数综合例扒子例4找出没有货被任何一贫个在北京术的顾客通钩过在上海氧的代理商浪订购的所深有商品。在北京的顶顾客通过雨在上海的衣代理商订娘购的商品化:πpid((πcid(σcit属y=’印北京’(C)晒)∞高O)∞区σcity甜=’上海凝’(A)饰)从所有逝商品中牲剔除以盖上商品腰:πpid(P)—炮πpid((πcid(σcity港=‘北京雁’(C)肆)∞甩O)∞邪σcit能y=’吓上海’(A))例5找出订乔购了所字有价格拴为0.50的商品的嫁顾客名字读。πcna长me((πcid贡,pi臂d(O)÷πpid(σpri源ce=驰0.5段0(P)))∞C)例6找出订购献所有被任忌何人订购哭过一次的怖商品的顾破客cid。πcid,衰pid(O)÷πpid(O)例7找出所有极接到至少坑顾客c00凤4订购的商随品集合的管订单的代嫌理商的aid。πaid,勤pid(O)÷πpid(σcid=概’c00艇4’(O))郭文明兽200买3.06报.051.2.池3关系代汤数综合例谷子例8找出订近购了p01和p07这两种慕商品的虹顾客的cid。错误πcid(σpid=磨’p01需’a写nd菠pid=痒’p07偿’(O))错误πcid(σpid洞=’p承01’尊o霸r怀pid塘=’p珍07’(O))正确πcid(σpid平=’p衬01’(O))∩πcid(σpid咱=’p娘07’(O))例9找出从旨至少一句个接受忽订购商站品p03订单的某代理商室处订购根过商品丘的顾客cid。解题思路士:πcid(πaid(σpid=岛’p03淡’(O))∞O)订购商确品p0贫3的代司理商从这些终代理商猴处订购井商品的拿顾客p03郭文明量2介003水.06跟.051.2支.3关哨系代数综合例子例10找出所耽有具有仍和在北得京和天灾津的顾碧客相同斯的折扣浙率的顾仙客的cid。本题可理范解为:找聪出那些具露有和在北牢京和天津罪的顾客相同同的折扣土率的顾客急的cid。在北京和况天津的顾要客的所有咳折扣率:πdisc等nt(σcit洪y=’北京’or跳ci险ty=’天津’(C))所以有君:πcid(πdis捉cnt(σcit梯y=’北京’or规ci返ty=’天津’(C))∞C)郭文明郊200伙3.06窄.05例11列出通剧过以下蜻代理商服订购的敬商品的pid:代理出商从以蝴下的顾吐客处接砖受订单穿,而这模些顾客骂从一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校电教中心工作总结
- 壁炉维修知识培训课件
- 幼儿静电科学课件
- 速写电动车课件
- 肿瘤病人运动指南
- 医院医德医风考核
- 肠穿孔超声诊断
- 志愿者能力建设培训
- 互联网创客教育
- 锰矿的市场调查与市场研究考核试卷
- 2025年广东省广州市越秀区第十六中学中考二模数学试卷(含部分答案)
- 2025年湖南省中考语文试卷真题及答案详解(精校打印版)
- 2025年湖北省高考政治试卷真题(含答案解析)
- 供电施工安全培训课件
- 橱柜厂规章管理制度
- 北京市西城区2023-2024学年六年级下学期数学期末检测试卷(含答案)
- 初三中考数学最后一课-主题班会【课件】
- 2024年北京东城区中考地理试卷真题及答案详解
- 2025益阳市赫山区中小学教师招聘考试试题及答案
- 2025年中国建筑钢结构产品市场调查研究报告
- 水利工程施工监理规范(SL288-2014)用表填表说明及示例
评论
0/150
提交评论