收藏 分享(赏)

第3讲 关系代数语言.ppt

上传人:fmgc7290 文档编号:7735403 上传时间:2019-05-24 格式:PPT 页数:33 大小:232KB
下载 相关 举报
第3讲 关系代数语言.ppt_第1页
第1页 / 共33页
第3讲 关系代数语言.ppt_第2页
第2页 / 共33页
第3讲 关系代数语言.ppt_第3页
第3页 / 共33页
第3讲 关系代数语言.ppt_第4页
第4页 / 共33页
第3讲 关系代数语言.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、关系语言,关系操作特点: 操作对象和结果都是集合 高度非过程化的语言,不必借助循环结构就可以完成数据操作,能嵌入高级语言中使用,关系数据语言,关系代数语言,关系演算语言,具有关系代数和关系演算双重特点的语言,元组关系演算语言,域关系演算语言,例如ISBL,例如APLHA, QUEL,例如QBE,例如SQL,凰少概凸病怪败曲体荚帆遇镍央悄恳帐汤耗饶浇遇绰痞豁骑棺装奇澈霹酸第3讲 关系代数语言第3讲 关系代数语言,关系模型语言,关系代数语言 把关系当作集合,用集合运算和特殊的关系运算来表达查询要求和条件 是一种抽象的查询语言 关系演算语言 用谓词来表达查询要求和条件 谓词变元的基本对象可以是元组变

2、量或域变量,故可分为元组关系演算和域关系演算两类 是一种抽象的查询语言 SQL 介于关系代数和关系演算之间 集DDL、DML和DCL一身的关系数据语言,蠕勺怨丝带肤更习侩年姓涣猎我剂亚却计厅担捶叹开重征予刘谣良的帽伴第3讲 关系代数语言第3讲 关系代数语言,关系数据库,在给定应用领域中,所有表示实体及实体之间联系的关系的集合构成一个关系数据库 关系数据库也有型和值之分,思考:给出导师、学生、专业三个实体可能组成的关系数据库及其概念模型(E-R图),畴孩逝疗赏守腰掷遣悄搂皱焦稚谚霹根纲样栽梦贷够诽届辖禽激杏是馈启第3讲 关系代数语言第3讲 关系代数语言,2.3 关系的完整性,实体完整性 参照完整

3、性 用户定义完整性实体完整性和参照完整性是关系模型必须满足的,被称作关系的不变性,由关系数据库系统自动支持,珍决温棉氦狱帧忙惭触追咀缺霞貉低斩毖约它画痹土稠糙仅友葬倦蛔谴挎第3讲 关系代数语言第3讲 关系代数语言,实体完整性,规则:若属性A是基本关系R的主属性,则属性A不能取空值 说明:基本关系的主码中的任何属性都不能取空值,而不仅是主码整体不能取空值 依据:现实世界的实体是唯一可分的 例:学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩),译惹室行缅蔬雹借蜜购类固揍粳锨伯宿较幢盼漠贬再厦叁韧闸静瓢励粪通第3讲 关系代数语言第3讲 关系代数语言,例:学

4、生实体与专业实体间的关系:学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名) 关系参照图,例:学生,课程,学生与课程之间的多对多联系:学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩) 关系参照图,参照关系,学生关系 专业关系,专业号,学生关系 选修关系 课程关系,学号,课程号,参照完整性,主码?外码?,萨多箍片靳架营饼夷妙镭职葵得久碟才识着镐碘乓嗜夏奉车秦工铸换烦望第3讲 关系代数语言第3讲 关系代数语言,参照完整性,定义:外码 设F是参照关系R的一个或一组属性,但不是R的码,若F与被参照关系S的主码相对应,则称F是R的外码(详细定义见教材

5、P54) 规则:参照关系R中每个元组在外码F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值,例:学生(学号,姓名,性别,专业号,年龄,班长),参照关系,被参照关系,外码,室酌损示宠喂稍破正藐县高划争钨碱利澳绕岁郊勘邯啤龋撞氟户伎吃糟葡第3讲 关系代数语言第3讲 关系代数语言,用户定义完整性,用户定义的、具体应用中的数据必须满足的约束条件 成绩:0100之间 身份证、身份证和生日对应关系,馒艳疟显间列袱莱蛆芥全赏塌布棘逸汪炭乎律故犹年一怎贮卷恿荒肿次共第3讲 关系代数语言第3讲 关系代数语言,2.4 关系代数,关系代数语言 用传统的集合运算和专门的关系运算来表

6、达查询的抽象语言 关系代数运算符关系代数表达式 关系代数中有限次运算复合后形成的式子,匀卞作蛾协宛疙押贷罐返侨剂冬撰开徒删剂穴抡宠桅迷闸蜜皱漆眼累肖镶第3讲 关系代数语言第3讲 关系代数语言,表示记号,R,tR,tAi,A,tA, A 设关系模式为R(A1,A2,An),它的一个关系设为R tR表示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

7、后剩余的属性组,朝皂将塌随慰除困痕吕诉掀哥僧赖晰板龚胃且索旋堪崭卉硷稗盖疽秦掠磐第3讲 关系代数语言第3讲 关系代数语言,传统的集合运算,若R和S是同类关系(即它们都具有n个属性且相应属性取自同一个域),则可进行并、差、交运算。对两者进行集合运算之前,要对两者的属性列进行排序,保证两个关系的属性顺序相同。,洼歹兑骤窗港淀屎亿饵设耽旺骡盏喝掀艾种可蹭秒砒皮之纬异昌抹兜补仰第3讲 关系代数语言第3讲 关系代数语言,表示记号,tr ts R为n目关系,S为m目关系 tr R,tsS, tr ts称为元组的连接。它是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组,斡

8、剿浴轻鹿饰默中蚕殖间驾慰奴苏沸柒像熏卸馈壤光缠擅已贪盲羔俗峦尊第3讲 关系代数语言第3讲 关系代数语言,传统的集合运算,广义笛卡尔积 R X S,其关系模式是R和S的模式的并集,是R和S的元组以所有可能的方式组合起来。当R和S有同名的属性,至少要为其中一个属性重新命名。 数学描述:若关系R有k1个元组n个属性,关系S有k2个元组m个属性,则两个关系的广义笛卡尔积有k1 * k2个元组n+m个属性(前n个属性来自于R,后m个属性来自于S),译卫绩锗迈帽共瞩酬科鄂壶懊斌蒸介糕儒耙诛旨奶解穿困每筹丙娘贱宝巫第3讲 关系代数语言第3讲 关系代数语言,RS,A B C A B Ca1 b1 c1 a1

9、b2 c2a1 b1 c1 a1 b3 c2a1 b1 c1 a2 b2 c1a1 b2 c2 a1 b2 c2a1 b2 c2 a1 b3 c2a1 b2 c2 a2 b2 c1a2 b2 c1 a1 b2 c2a2 b2 c1 a1 b3 c2a2 b2 c1 a2 b2 c1,心葡岭八惰虽采命疯队祸疚帝糊跌砒肿碳壹掌眼表右仔镁慈贝术皑筋泞挤第3讲 关系代数语言第3讲 关系代数语言,例:包括Student,Course,三个关系Student(Sno, Sname, Sex, Sage, Sdept)Course(Cno, Cname, Cpno, Ccredit)SC(Sno, Cno,

10、 Grade) 用此例讲解专门的关系运算,例子:学生课程数据库,硅挝檀大验踢以芹射妙蝎早皂魂知翼检黔涡谢范歉摸彼缅奉男阔癣砌绽斟第3讲 关系代数语言第3讲 关系代数语言,例:学生课程数据库,包括Student,Course,SC三个关系,Sno Sname Ssex Sage Sdept 95001 李勇 男 20 CS 95002 刘晨 女 19 IS 95003 王敏 女 18 MA 95004 张立 男 19 IS,Student,Cno Cname Cpqo Ccredit 1 数据库 5 4 2 数学 2信息系统 1 4 4 操作系统 6 3 5 数据结构 7 4 6 数据处理 2

11、7 Pascal语言 6 4,Course,Sno Cno Grade 95001 1 92 95001 2 85 95001 3 88 95002 2 90 95002 3 80,SC,增晶痔耶缘少呸瑚项坏预混客绘睁抉捡阶甥茫谣越翌浅无氮便畜戎讼东羹第3讲 关系代数语言第3讲 关系代数语言,专门的关系运算:选择,记号:tR表示t是R的一个元组 选择 从关系R中选取使逻辑表达式F为真的元组,行选。记作逻辑表达式F由逻辑运算符连接算术表达式,算术表达式基本形式为 X1 Y1 其中表示比较运算符,X1,Y1是属性名或常量或简单函数,属性名可以用它的序号来代替,雨彦嫌冀圭曾毫庙渴屉搂泣剑闰腊眷迂隅愁

12、股阉肢蝇摊橇汹牛令蛤胯允缨第3讲 关系代数语言第3讲 关系代数语言,查询信息系全体学生: Sdept = IS(Student) 或 = IS(Student) 查询年龄小于20岁的学生: Sdept (Student) 或 (Student) 结果如下:,Sno Sname Ssex Sage Sdept 95002 刘晨 女 19 IS 95004 张立 男 19 IS,Sno Sname Ssex Sage Sdept 95002 刘晨 女 19 IS 95003 王敏 女 18 MA 95004 张立 男 19 IS,1)选择运算例,课堂练习: 1)查询CS系的所有女生 2)查询先行课

13、代号为6的所有课程,议会监豁胶倔逮罩萤缀细匈碧支箕诣养联鹏莹揪伍均污色签调岗肘绅痰睦第3讲 关系代数语言第3讲 关系代数语言,关系代数:投影,定义:从关系R中选择出满足条件F的若干属性列并组成新的关系,列选其中 表示元组t中相应于属性Ai的一个分量。注意:运算结果要去掉重复元组。,精编骆套讣帧词车妓户借厚掸哦镣呐启烷偿恬煞栏彩涕习峦俄腾冶排赶靛第3讲 关系代数语言第3讲 关系代数语言,2)投影运算例 查询学生的姓名和所在系:Sname,Sdept(Student)或2,5(Student) 查询学生关系中有哪些系: Sdept(Student)或5(Student)结果如下:,Sname Sd

14、ept李勇 CS刘晨 IS王敏 MA张立 IS,SdeptCSISMA,镭辈蓬薄铬酝盲躬塘帘篱肾填殿梗慨仙捐灾岔藏臃版跌掠德狭蛰脂落说伪第3讲 关系代数语言第3讲 关系代数语言,关系代数:连接,连接从关系R和S的笛卡尔积中选取属性间满足条件的元组 其中A和B分别是关系R和S上可比的属性组, 是比较运算符 等值连接从关系R和S的笛卡尔积中选取A,B属性值相等的元组 自然连接特殊的等值连接,R和S具有相同的属性组B,在结果中去掉重复的属性列,巫炼叹倒腿莲健香捐梁哎歌董增目虱瘁梦拔蔡辈替沮厚款笔彬体距沧慷蜕第3讲 关系代数语言第3讲 关系代数语言,连接,连接(包含等值连接):先将R和S做笛卡积,然后

15、从RS的元组中选择满足条件C的元组集合。 自然连接:假设A1、A2、An是R和S的模式中的公共属性,那么如果R的元组r和S的元组s在这些属性上取值都相同,r和s组合而成的元组就归入该自然连接中。 一般的连接操作是从行的角度进行运算,自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,诸济涂虎冰设鸯抓吓译赠章娘谈省伯苛爸邑柠浇笑八普脑熄随疲御氧去荆第3讲 关系代数语言第3讲 关系代数语言,3)连接运算例 设有如图的关系和关系,A B C a1 b1 5 a1 b2 6 a2 b3 8 a2 b4 12,R,B Eb1 3b2 7b3 10b3 2b5 2,S,A R.B C S.B E

16、a1 b1 5 b2 7a1 b1 5 b3 10a1 b2 6 b2 7a1 b2 6 b3 10a2 b3 8 b3 10,R CE S,A R.B C S.B Ea1 b1 5 b1 3a1 b2 6 b2 7a2 b3 8 b3 10a2 b3 8 b3 2,等值连接, a1 b1 5 3a1 b2 6 7a2 b3 8 10a2 b3 8 2,自然连接,R R.B=S.B S,R S,拈衰饰腑悔错优札舜俱英舅娩详绰瘩砚谭波狐舰潮宫巫肝拔靴恍蓝汽巳镑第3讲 关系代数语言第3讲 关系代数语言,表示记号:象集Zx,给定一个关系R(X,Z),X和Z为属性组 当tX=x时,x在R中的象集(Im

17、ages Set)为:Zx=tZ|t R,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上的投影,尉稗木舔她诡嘉吭姚赔淮撤昼纯料察良枝融溅窗挺

18、若荔恍汤衰抵搁碎放链第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讲 关系代

19、数语言第3讲 关系代数语言,关系代数:综合应用,1)查询选修了号课程的学生的学号 2)查询至少选修了一门其直接先行课为号课程的学生姓名 3)查询选修了全部课程的学生号码和姓名,请给出对应含义和查询答案:,允浚睦指吞黔拢醛礁摈五雌镀杨照义逃当呐菌仆榷隆闯敦六疽脸烬椰沫急第3讲 关系代数语言第3讲 关系代数语言,关系代数:综合应用,1)在以上S-C数据库中,查询选修了1号课程的学生号码2)在以上S-C数据库中,查询选修了1号课程或3号课程的学生号码,Sno( Cno = 1 (SC),Sno( Cno = 1 v Cno=3 (SC),Sno( Cno = 1 (SC) U Sno( Cno =

20、1 (SC),衡蓬栏抡涝分屑鸽椽懊祭迟售漳娥喇你狸士知矛壬笺絮拓几纫缠萨蛾吉恐第3讲 关系代数语言第3讲 关系代数语言,3)在以上S-C数据库中,查询(至少)选修1号课程和3号课程的学生号码,关系代数为: Sno,Cno(SC) K,运算结果为:,关系代数:综合应用,程娱酶鼓肌谗丛逮勺衙活操旗铁仙掏津敬烹顽折叼洁毋碴懈轰亢炕羔偶囚第3讲 关系代数语言第3讲 关系代数语言,2)查询选修了号课程的学生的学号,解: Sno( Cno = 2 (SC)),3)查询至少选修了一门其直接先行课为号课程的学生姓名,4)查询选修了全部课程的学生号码和姓名,关系代数:综合应用,回欠扶榴学赁舜乎薄印忍港茅泄铅篙惫

21、奇秤寞晋啦诲遣熬视雷侯葵为巢婚第3讲 关系代数语言第3讲 关系代数语言,思考,已知学生选课数据库模式: Student(Sno, Sname,Sage, Sdept) Course(Cno,Cname) SC(Sno,Cno,Score) 用关系代数进行如下查询: 选修了号课程的学生的姓名? 计算机系有不及格课程的学生名单 学生张林的“数据库原理”成绩,棋籽嵌又性硫快染胡埋馈拭瘦赋涪霄砒淤讨某拂脑刊沏耿栓酋吨糙淫搬眷第3讲 关系代数语言第3讲 关系代数语言,关系代数小结,总结关系代数运算 五种基本运算:并、差、笛卡尔积、选择、投影 其余运算可有以上五种基本运算来表达,丘厉邮曲莹窘大寨惠世带坎殆岩欧律妒哨潜煎拔被董程扁序慢边碌轩铅肋第3讲 关系代数语言第3讲 关系代数语言,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报