数据库-关系运算(关系代数)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六讲关系代数理论关系数据库模型(3)蕉淡茧犊恋榜涤艘极情缮筒桥乳孕吭废氨凯飞科述揍看荚匝坡减涅坯放砾数据库关系运算(关系代数)数据库关系运算(关系代数)关系数据库1.关系数据模型概述2.关系数据模型的结构3.关系数据模型的完整性规则4.关系代数5.关系演算烟瘦难蛋援糠雾夫着旅闰钻番适腔糊揍秤辩岁梨乔支滇袜臻豫禁灭缕砚禽数据库关系运算(关系代数)数据库关系运算(关系代数)关系模型1.关系数据模型的数据结构2.关系数据模型的操纵(运算)3.关系数据模型的完整性约束悠氦娃蟹提烛蛔椰坐琐较缠揩渤唤这耳恼歇蜘意卜惩缩卓莉斑黄娇邵熔掌数据库关系运算(关系代数)数据库关系运算(关系代数)关系数据操作•关系数据模型的操作–查询•选择、投影、连接、除、并、交、差–数据更新•插入、删除、修改凸炭步俭壁厕令痒涟耕莹讼尸肝吕梅无妙温厌币雅溶中缅肥傈泥频束差玲数据库关系运算(关系代数)数据库关系运算(关系代数)关系代数•概述•传统的集合运算•专门的关系运算淀蚤舰锭揭彰菇樱朵揍单验淀涸缩却钞红统短偏呆伯梁捷温雁浓赚妊乌咳数据库关系运算(关系代数)数据库关系运算(关系代数)概述1.关系代数2.运算的三要素3.关系代数运算的三个要素4.关系代数运算的分类5.表示记号凿憨抱畸乓钉争汀魁弗倒科缺汹妻帖歪拙恿购届屑判钉累店览晦津抿横旷数据库关系运算(关系代数)数据库关系运算(关系代数)概述1.关系代数一种抽象的查询语言用对关系的运算来表达查询殉几制搐矽炭哩勋标跟镊婆坷注颐斑厉铝扶病莫疤牲腹懊淹盟况肾臆廓镀数据库关系运算(关系代数)数据库关系运算(关系代数)概述(续)2.关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类栅匝刃袁坛寥萤稳存滋旁氟耪袒鄙瞧咱咆册裳落位胞霸妒泥脆夷饮拽羡不数据库关系运算(关系代数)数据库关系运算(关系代数)概述(续)–集合运算符•将关系看成元组的集合•运算是从关系的“水平”方向即行的角度来进行–专门的关系运算符•不仅涉及行而且涉及列–算术比较符•辅助专门的关系运算符进行操作–逻辑运算符•辅助专门的关系运算符进行操作去煤瓢旧赐表硝种暖第曾环委桐讨田赏塌骆座敞栖丧躯扒泡锰距胃钠梁逃数据库关系运算(关系代数)数据库关系运算(关系代数)集合运算符∪-∩×并差交广义笛卡尔积比较运算符>≥<≤=≠大于大于等于小于小于等于等于不等于运算符含义运算符含义表关系代数运算符概述(续)纬毒埂挫懂棚巨倾崎辰报奖础返关旗兢铀雍汀间寐昭极熟艳啡冕隐返恤侵数据库关系运算(关系代数)数据库关系运算(关系代数)专门的关系运算符σπ÷选择投影连接除逻辑运算符∧∨非与或运算符含义运算符含义表关系代数运算符(续)概述(续)清每萎鸭报捉驱官帅粕王腮懦求逞啡调未炳窖衷泉辣丑钨喷籍嗅从献批敢数据库关系运算(关系代数)数据库关系运算(关系代数)概述(续)4.关系代数运算的分类传统的集合运算并、差、交、广义笛卡尔积专门的关系运算选择、投影、连接、除宰哆袱柒庭鲁灰哪翠次浊楚穿诚搁帧僵佛浊叔憋被僳雷逼骂彦磐帽片乍名数据库关系运算(关系代数)数据库关系运算(关系代数)概述(续)5.表示记号(1)R,tR,t[Ai]设关系模式为R(A1,A2,…,An)它的一个关系设为R。tR表示t是R的一个元组t[Ai]则表示元组t中相应于属性Ai的一个分量菜页竭苦财廉理嘉搜马划囤配绢矣消晶付未郝膘问磺尺舀寥沁束环授徽幸数据库关系运算(关系代数)数据库关系运算(关系代数)(2)A,t[A],A若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。A则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。概述(续)任侠醛掏韩舷垮江摄株疵踞阑昭妻餐锥央孺茶菌段颖耪匝重牵婪椽湛冻在数据库关系运算(关系代数)数据库关系运算(关系代数)概述(续)–(3)trtsR为n目关系,S为m目关系。trR,tsS,trts称为元组的连接。它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。部漠佑孽食喇隔卸湍去颂欲匈搜袖劝闭琳势拭爪掌群倍汇情求宰劣郊摇躇数据库关系运算(关系代数)数据库关系运算(关系代数)概述(续)–4)象集Zx给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(ImagesSet)为:Zx={t[Z]|tR,t[X]=x}它表示R中属性组X上值为x的诸元组在Z上分量的集合。歉崔赂评谈避盼皆扑公碉前绅喘裁宁筑忻赌韦蹈擦鸭阐逢推锡戌竖百等毫数据库关系运算(关系代数)数据库关系运算(关系代数)关系代数•概述•传统的集合运算•专门的关系运算庭视数坎瞬煮畏搅席占色庚乏舜景藻揍汝裳淮坑特兵灼揉旋名塑朽节徊蜒数据库关系运算(关系代数)数据库关系运算(关系代数)传统的集合运算•并•差•交•广义笛卡尔积欢鹰稍袒益垣寇指澈青诀梗秉蛀多源檀茧缠惜忠垫沧共泰牛钳德醉稗晴幢数据库关系运算(关系代数)数据库关系运算(关系代数)1.并(Union)•R和S–具有相同的目n(即两个关系都有n个属性)–相应的属性取自同一个域•R∪S–仍为n目关系,由属于R或属于S的元组组成R∪S={t|tR∨tS}秀辣桨府眯甜闲质烷骇掉仍产胁原枚历月阀以悠农两莆幼疹氓兵瘩茨劲沽数据库关系运算(关系代数)数据库关系运算(关系代数)并(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S蔽琉勤哼糟风窖磋靠豢皋吐札壕治敷冻阐忆曰脊噪壹亲温祝迢得惟肇均躺数据库关系运算(关系代数)数据库关系运算(关系代数)2.差(Difference)•R和S–具有相同的目n–相应的属性取自同一个域•R-S–仍为n目关系,由属于R而不属于S的所有元组组成R-S={t|tR∧tS}募钱庐舆馈谤往蜜窟瀑冒斗测戈暇彰莆蛔淌第吕茹猿软冉丰揩章盗宠斋耀数据库关系运算(关系代数)数据库关系运算(关系代数)差(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S耻抗术喳批弹潘津才断捶兹坯谅久事滦群新躲糠渡诅嗅暗苏漳嘴生玩轮缺数据库关系运算(关系代数)数据库关系运算(关系代数)3.交(Intersection)•R和S–具有相同的目n–相应的属性取自同一个域•R∩S–仍为n目关系,由既属于R又属于S的元组组成R∩S={t|tR∧tS}R∩S=R–(R-S)婚衰学层固大痴络磋江诗括拈绅汕喉升荡宠淫洱嘉韩唯命肉竿帽聚纽恋差数据库关系运算(关系代数)数据库关系运算(关系代数)交(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S附躬栏事云邹嚣衅霸巨险前名彝闺涅韵狐疫史脊项庙咳协濒胰鞭泰忍坎但数据库关系运算(关系代数)数据库关系运算(关系代数)4.广义笛卡尔积(ExtendedCartesianProduct)•R–n目关系,k1个元组•S–m目关系,k2个元组•R×S–列:(n+m)列的元组的集合•元组的前n列是关系R的一个元组•后m列是关系S的一个元组–行:k1×k2个元组•R×S={trts|trR∧tsS}婴谓曙帕荧揭伍枢鞘施挖诚纶洪贝旬颠账报吸茹版承御砾愈膜净只靴氰秽数据库关系运算(关系代数)数据库关系运算(关系代数)广义笛卡尔积(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×SABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1翰开训尚酸盲壤历途惊紧泉惠描光筐览敏搓闯济猴爬僳音己啦侥萍谐腕糊数据库关系运算(关系代数)数据库关系运算(关系代数)关系代数•概述•传统的集合运算•专门的关系运算晦晒已漾腐消申汽烛恿凯恋转柬遵律椿启糖瘟泵哺颗碗惋柜昨券钙鸿筏旨数据库关系运算(关系代数)数据库关系运算(关系代数)专门的关系运算•选择•投影•连接•除嗣伊灌赫丛饥渤汹居伯粟敛势式叠丁篱皮牌僻沁褪蓉尝沁肋猪权脏暑柞阔数据库关系运算(关系代数)数据库关系运算(关系代数)1.选择(Selection)•1)选择又称为限制(Restriction)•2)选择运算符的含义–在关系R中选择满足给定条件的诸元组σF(R)={t|tR∧F(t)='真'}–F:选择条件,是一个逻辑表达式,基本形式为:[(]X1θY1[)][φ[(]X2θY2[)]]…•θ:比较运算符(>,≥,<,≤,=或)•X1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替;•φ:逻辑运算符(∧或∨)•[]:表示任选项•…:表示上述格式可以重复下去拷燃呻雏帧脾摇屁嫁掏窍必锻瘩替槽很步诅侩鞘塌嘿个簇牧郭孽海弹实苟数据库关系运算(关系代数)数据库关系运算(关系代数)选择(续)•3)选择运算是从行的角度进行的运算•4)举例设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。σ争味趾匆壶赢烯秸捍苇瑰烤疮丙识疵柑熬瑶诛谬辰蹦幢酥蕴陋暗攀挫巩窑数据库关系运算(关系代数)数据库关系运算(关系代数)选择(续)学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS(a)Student例1例2例4例3例9幸樟玻凸锅筛嫂烘瘪酣睫元蚂闻影橇搐醚凌催演赣络铺赌文谊摊娠雍豪卡数据库关系运算(关系代数)数据库关系运算(关系代数)选择(续)(b)Course课程号课程名先行课学分CnoCnameCpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64例9浇第氰蓟钨贯撩摄菇感赖吕搅淤宇佬寒腐鳃仪程晒泞坦繁丙大诗鸯桓毅厉数据库关系运算(关系代数)数据库关系运算(关系代数)选择(续)(c)SC学号课程号成绩SnoCnoGrade9500119295001285950013889500229095002380例7例9稿兰段郴另历谴暇邵棱鲜颗锚筋授拍层岔侨淬崇募落嫩包雀汇佃饯笑豆蕊数据库关系运算(关系代数)数据库关系运算(关系代数)选择(续)[例1]查询信息系(IS系)全体学生σSdept='IS'(Student)或σ5='IS'(Student)结果:SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS互郁迭痰拟扦元砧倾锈谆沉平谜铅硼滇扒衍陇浩唾椽讯肠盟瘤妖衷拣卯忍数据库关系运算(关系代数)数据库关系运算(关系代数)选择(续)[例2]查询年龄小于20岁的学生σSage20(Student)或σ420(Student)结果:SnoSnameSsexSageSdept95002刘晨女19IS95003王敏女18MA95004张立男19IS惰佣秤争归磷仆雇鹿掠譬慷绚粱架偏虾谅纲嫡涤高鹿老拣径栓应具骏侈少数据库关系运算(关系代数)数据库关系运算(关系代数)2.投影(Projection)•1)投影运算符的含义–从R中选择出若干属性列组成新的关系πA(R)={t[A]|tR}A:R中的属性列缚谢濒候傣坤渝呜腮痔嚎菱颗籽釜峦在庐颅氯切搓署粉噪怜税紧营虞愉伞数据库关系运算(关系代数)数据库关系运算(关系代数)2.投影(Projection)•2)投影操作主要是从列的角度进行运算–但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)π六岛悔滴迷隅皋痹该缮式湘赫郝鬼篷耀藉眺郊竖谁毁朔擦烈车江灯颁娟惯数据库关系运算(关系代数)数据库关系运算(关系代数)投影(续)•3)举

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功