第3讲 关系代数语言_第1页
第3讲 关系代数语言_第2页
第3讲 关系代数语言_第3页
第3讲 关系代数语言_第4页
第3讲 关系代数语言_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关系语言,关系操作特点:操作对象和结果都是集合高度非过程化的语言,不必借助循环结构就可以完成数据操作,能嵌入高级语言中使用,关系数据语言,关系代数语言,关系演算语言,具有关系代数和关系演算双重特点的语言,元组关系演算语言,域关系演算语言,例如ISBL,例如APLHA,QUEL,例如QBE,例如SQL,凰少概凸病怪败曲体荚帆遇镍央悄恳帐汤耗饶浇遇绰痞豁骑棺装奇澈霹酸第3讲关系代数语言第3讲关系代数语言,关系模型语言,关系代数语言把关系当作集合,用集合运算和特殊的关系运算来表达查询要求和条件是一种抽象的查询语言关系演算语言用谓词来表达查询要求和条件谓词变元的基本对象可以是元组变量或域变量,故可分为元组关系演算和域关系演算两类是一种抽象的查询语言SQL介于关系代数和关系演算之间集DDL、DML和DCL一身的关系数据语言,蠕勺怨丝带肤更习侩年姓涣猎我剂亚却计厅担捶叹开重征予刘谣良的帽伴第3讲关系代数语言第3讲关系代数语言,关系数据库,在给定应用领域中,所有表示实体及实体之间联系的关系的集合构成一个关系数据库关系数据库也有型和值之分,思考:给出导师、学生、专业三个实体可能组成的关系数据库及其概念模型(E-R图),畴孩逝疗赏守腰掷遣悄搂皱焦稚谚霹根纲样栽梦贷够诽届辖禽激杏是馈启第3讲关系代数语言第3讲关系代数语言,2.3关系的完整性,实体完整性参照完整性用户定义完整性实体完整性和参照完整性是关系模型必须满足的,被称作关系的不变性,由关系数据库系统自动支持,珍决温棉氦狱帧忙惭触追咀缺霞貉低斩毖约它画痹土稠糙仅友葬倦蛔谴挎第3讲关系代数语言第3讲关系代数语言,实体完整性,规则:若属性A是基本关系R的主属性,则属性A不能取空值说明:基本关系的主码中的任何属性都不能取空值,而不仅是主码整体不能取空值依据:现实世界的实体是唯一可分的例:学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩),译惹室行缅蔬雹借蜜购类固揍粳锨伯宿较幢盼漠贬再厦叁韧闸静瓢励粪通第3讲关系代数语言第3讲关系代数语言,例:学生实体与专业实体间的关系:学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)关系参照图,例:学生,课程,学生与课程之间的多对多联系:学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)关系参照图,参照关系,学生关系专业关系,专业号,学生关系选修关系课程关系,学号,课程号,参照完整性,主码?外码?,萨多箍片靳架营饼夷妙镭职葵得久碟才识着镐碘乓嗜夏奉车秦工铸换烦望第3讲关系代数语言第3讲关系代数语言,参照完整性,定义:外码设F是参照关系R的一个或一组属性,但不是R的码,若F与被参照关系S的主码相对应,则称F是R的外码(详细定义见教材P54)规则:参照关系R中每个元组在外码F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值,例:学生(学号,姓名,性别,专业号,年龄,班长),参照关系,被参照关系,外码,室酌损示宠喂稍破正藐县高划争钨碱利澳绕岁郊勘邯啤龋撞氟户伎吃糟葡第3讲关系代数语言第3讲关系代数语言,用户定义完整性,用户定义的、具体应用中的数据必须满足的约束条件成绩:0100之间身份证、身份证和生日对应关系,馒艳疟显间列袱莱蛆芥全赏塌布棘逸汪炭乎律故犹年一怎贮卷恿荒肿次共第3讲关系代数语言第3讲关系代数语言,2.4关系代数,关系代数语言用传统的集合运算和专门的关系运算来表达查询的抽象语言关系代数运算符关系代数表达式关系代数中有限次运算复合后形成的式子,匀卞作蛾协宛疙押贷罐返侨剂冬撰开徒删剂穴抡宠桅迷闸蜜皱漆眼累肖镶第3讲关系代数语言第3讲关系代数语言,表示记号,R,tR,tAi,A,tA,A设关系模式为R(A1,A2,An),它的一个关系设为RtR表示t是R的一个元组tAi则表示元组t中相应于属性Ai的一个分量若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或域列tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组,朝皂将塌随慰除困痕吕诉掀哥僧赖晰板龚胃且索旋堪崭卉硷稗盖疽秦掠磐第3讲关系代数语言第3讲关系代数语言,传统的集合运算,若R和S是同类关系(即它们都具有n个属性且相应属性取自同一个域),则可进行并、差、交运算。对两者进行集合运算之前,要对两者的属性列进行排序,保证两个关系的属性顺序相同。,洼歹兑骤窗港淀屎亿饵设耽旺骡盏喝掀艾种可蹭秒砒皮之纬异昌抹兜补仰第3讲关系代数语言第3讲关系代数语言,表示记号,trtsR为n目关系,S为m目关系trR,tsS,trts称为元组的连接。它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组,斡剿浴轻鹿饰默中蚕殖间驾慰奴苏沸柒像熏卸馈壤光缠擅已贪盲羔俗峦尊第3讲关系代数语言第3讲关系代数语言,传统的集合运算,广义笛卡尔积RXS,其关系模式是R和S的模式的并集,是R和S的元组以所有可能的方式组合起来。当R和S有同名的属性,至少要为其中一个属性重新命名。数学描述:若关系R有k1个元组n个属性,关系S有k2个元组m个属性,则两个关系的广义笛卡尔积有k1*k2个元组n+m个属性(前n个属性来自于R,后m个属性来自于S),译卫绩锗迈帽共瞩酬科鄂壶懊斌蒸介糕儒耙诛旨奶解穿困每筹丙娘贱宝巫第3讲关系代数语言第3讲关系代数语言,RS,ABCABCa1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1,心葡岭八惰虽采命疯队祸疚帝糊跌砒肿碳壹掌眼表右仔镁慈贝术皑筋泞挤第3讲关系代数语言第3讲关系代数语言,例:包括Student,Course,三个关系Student(Sno,Sname,Sex,Sage,Sdept)Course(Cno,Cname,Cpno,Ccredit)SC(Sno,Cno,Grade)用此例讲解专门的关系运算,例子:学生课程数据库,硅挝檀大验踢以芹射妙蝎早皂魂知翼检黔涡谢范歉摸彼缅奉男阔癣砌绽斟第3讲关系代数语言第3讲关系代数语言,例:学生课程数据库,包括Student,Course,SC三个关系,SnoSnameSsexSageSdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS,Student,CnoCnameCpqoCcredit1数据库542数学2信息系统144操作系统635数据结构746数据处理27Pascal语言64,Course,SnoCnoGrade9500119295001285950013889500229095002380,SC,增晶痔耶缘少呸瑚项坏预混客绘睁抉捡阶甥茫谣越翌浅无氮便畜戎讼东羹第3讲关系代数语言第3讲关系代数语言,专门的关系运算:选择,记号:tR表示t是R的一个元组选择从关系R中选取使逻辑表达式F为真的元组,行选。记作逻辑表达式F由逻辑运算符连接算术表达式,算术表达式基本形式为X1Y1其中表示比较运算符,X1,Y1是属性名或常量或简单函数,属性名可以用它的序号来代替,雨彦嫌冀圭曾毫庙渴屉搂泣剑闰腊眷迂隅愁股阉肢蝇摊橇汹牛令蛤胯允缨第3讲关系代数语言第3讲关系代数语言,查询信息系全体学生:Sdept=IS(Student)或=IS(Student)查询年龄小于20岁的学生:Sdept(Student)或(Student)结果如下:,SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS,SnoSnameSsexSageSdept95002刘晨女19IS95003王敏女18MA95004张立男19IS,1)选择运算例,课堂练习:1)查询CS系的所有女生2)查询先行课代号为6的所有课程,议会监豁胶倔逮罩萤缀细匈碧支箕诣养联鹏莹揪伍均污色签调岗肘绅痰睦第3讲关系代数语言第3讲关系代数语言,关系代数:投影,定义:从关系R中选择出满足条件F的若干属性列并组成新的关系,列选其中表示元组t中相应于属性Ai的一个分量。注意:运算结果要去掉重复元组。,精编骆套讣帧词车妓户借厚掸哦镣呐启烷偿恬煞栏彩涕习峦俄腾冶排赶靛第3讲关系代数语言第3讲关系代数语言,2)投影运算例查询学生的姓名和所在系:Sname,Sdept(Student)或2,5(Student)查询学生关系中有哪些系:Sdept(Student)或5(Student)结果如下:,SnameSdept李勇CS刘晨IS王敏MA张立IS,SdeptCSISMA,镭辈蓬薄铬酝盲躬塘帘篱肾填殿梗慨仙捐灾岔藏臃版跌掠德狭蛰脂落说伪第3讲关系代数语言第3讲关系代数语言,关系代数:连接,连接从关系R和S的笛卡尔积中选取属性间满足条件的元组其中A和B分别是关系R和S上可比的属性组,是比较运算符等值连接从关系R和S的笛卡尔积中选取A,B属性值相等的元组自然连接特殊的等值连接,R和S具有相同的属性组B,在结果中去掉重复的属性列,巫炼叹倒腿莲健香捐梁哎歌董增目虱瘁梦拔蔡辈替沮厚款笔彬体距沧慷蜕第3讲关系代数语言第3讲关系代数语言,连接,连接(包含等值连接):先将R和S做笛卡积,然后从RS的元组中选择满足条件C的元组集合。自然连接:假设A1、A2、An是R和S的模式中的公共属性,那么如果R的元组r和S的元组s在这些属性上取值都相同,r和s组合而成的元组就归入该自然连接中。一般的连接操作是从行的角度进行运算,自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,诸济涂虎冰设鸯抓吓译赠章娘谈省伯苛爸邑柠浇笑八普脑熄随疲御氧去荆第3讲关系代数语言第3讲关系代数语言,3)连接运算例设有如图的关系和关系,ABCa1b15a1b26a2b38a2b412,R,BEb13b27b310b32b52,S,AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310,RCES,AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32,等值连接,a1b153a1b267a2b3810a2b382,自然连接,RR.B=S.BS,RS,拈衰饰腑悔错优札舜俱英舅娩详绰瘩砚谭波狐舰潮宫巫肝拔靴恍蓝汽巳镑第3讲关系代数语言第3讲关系代数语言,表示记号:象集Zx,给定一个关系R(X,Z),X和Z为属性组当tX=x时,x在R中的象集(ImagesSet)为:Zx=tZ|tR,tX=x,它表示R中属性组X上值为x的诸元组在Z上分量的集合。,例子:a1的象集为(b1,c2),(b2,c3),(b2,c1),酉拘仙返郁沦掉涧函瞳更罗牺琐挖炯贞费肠溪阶鸽稽誉情伤挤婿变完突鹿第3讲关系代数语言第3讲关系代数语言,关系代数:除,除R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组(R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集)元组在X上分量值x的象集Yx包含S在Y上的投影,尉稗木舔她诡嘉吭姚赔淮撤昼纯料察良枝融溅窗挺若荔恍汤衰抵搁碎放链第3讲关系代数语言第3讲关系代数语言,除,除操作是同时从行和列角度进行运算,虐柿田壮拒诬芜倦粹键遵走止寐件睛殆含荚婚先翅帽的晋耍中很氟渴拒幽第3讲关系代数语言第3讲关系代数语言,4)除运算例设有如图的关系和,则结果如下a1的象集为(b1,c2),(b2,c3),(b2,c1)a2的象集为(b3,c7),(b2,c3)a3的象集为(b4,c6)a4的象集为(b6,c6)在(,)上的投影为(b1,c2),(b2,c1),(b2,c3)因只有a1的象集包含了在(,)属性组上的投影,故a1,墓妆诉在峙掘毡改值欺杰半赖扬偶击庄他抵诱魄潘嗜聘氨疤移球翰咸雪尺第3讲关系代数语言第3讲关系代数语言,关系代数:综合应用,1)查询选修了号课程的学生的学号2)查询至少选修了一门其直接先行课为号课程的学生姓名3)查询选修了全部课程的学生号码和姓名,请给出对应含义和查询答案:,允浚睦指吞黔拢醛礁摈五雌镀杨照义逃当呐菌仆榷隆闯敦六疽脸烬椰沫急第3讲关系代数语言第3讲关系代数语言,关系代数:综合应用,1)在以上S-C数据库中,查询选修了1号课程的学生号码2)在以上S-C数据库中,查询选修了1号课程或3号课程的学生号码,Sno(Cno=1(SC),Sno(Cno=1vCno=3(SC),Sno(Cno=1(SC)USno(Cno=1(SC),衡蓬栏抡涝分屑鸽椽懊祭迟售漳娥喇你狸士知矛壬笺絮拓几纫缠萨蛾吉恐第3讲关系代数语言第3讲关系代数语言,3)在以上S-C数据库中,查询(至少)选修1号课程和3号课程的学生号码,关系代数为:Sno,Cno(SC)K,运算结果为:,关系代数:综合应用,程娱酶鼓肌谗丛逮勺衙活操旗铁仙掏津敬烹顽折叼洁毋碴懈轰亢炕羔偶囚第3讲关系代数语言第3讲关系代数语言,2)查询选修了号课程的学生的学号,解:Sno(Cno=2(SC)),3)查询至少选修了一门其直接先行课为号课程的学生姓名,4)查询选修了全部课程的学生号码和姓名,关系代数:综合应用,回欠扶榴学赁舜乎薄印忍港茅泄铅篙惫奇秤寞晋啦诲遣熬视雷侯葵为巢婚第3讲关系代数语言第3讲关系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论