数据库原理二章节关系数据库

上传人:cl****1 文档编号:569263757 上传时间:2024-07-28 格式:PPT 页数:63 大小:559KB
返回 下载 相关 举报
数据库原理二章节关系数据库_第1页
第1页 / 共63页
数据库原理二章节关系数据库_第2页
第2页 / 共63页
数据库原理二章节关系数据库_第3页
第3页 / 共63页
数据库原理二章节关系数据库_第4页
第4页 / 共63页
数据库原理二章节关系数据库_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《数据库原理二章节关系数据库》由会员分享,可在线阅读,更多相关《数据库原理二章节关系数据库(63页珍藏版)》请在金锄头文库上搜索。

1、栋劫境畜箍疗沙争陇攻留爽范粒诛刹频蛰萤纶嗅绣茶杖静欧绸郴么喇戊云数据库原理二章节关系数据库数据库原理二章节关系数据库数据库原理数据库原理第二章:关系数据库第二章:关系数据库授课教师:王哲未洲怨描艺色哇碴淋妻芦肄肩呻赣蛛闷躺吭润末屹摸朴惨段膝限骄桨肉趴数据库原理二章节关系数据库数据库原理二章节关系数据库本次课学习内容本次课学习内容v关系代数关系运算(选择、投影、连接,除运算除运算)v*关系演算是以数理逻辑中的谓词演算为基础的。可分为:元组关系演算语言(get,put等6条语句)域关系演算语言QBE邱煽攒旷搬得购房帆题课浊去厂杆侯旁佰径壬岛芦匀捆担淄竹斋页舔爬酥数据库原理二章节关系数据库数据库原理

2、二章节关系数据库一、关系代数一、关系代数v1、除运算v2、除运算示例v3、除运算练习烁焉夯泵芹圭产睬唬申黄斥缔垛士遥先膘昭订当释闪敢怠益冬醇董稼绰斯数据库原理二章节关系数据库数据库原理二章节关系数据库1、除运算、除运算(Division,亦称商),亦称商)v用途用途:除法运算同时从行和列的角度进行运算,在表达某些查询时有用,适合于包含“全部”之类的短语的查询,例如“查询已注册选修了所有课程的学生名字”。v定义:定义:给定关系R(X,Y),S(Y,Z),X,Y,Z为属性列,关系R和关系S中的Y出自相同域集,则:RS=trX|trRy(S)Yx其中,Yx为x在R中的象集,x=trX。澜砚赫助眉偏棒

3、挪嗓毡妈意酋伟溺与砌粟卿献玻搬伙袋视剐姥侈镰趁响伶数据库原理二章节关系数据库数据库原理二章节关系数据库象集象集Z Zx x 给定一个X和关系R(X,Z), Z为属性组。 当tX=x时,x在R中的象集象集(Images Set)为: Z Zx x=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合vx1在在R中的象集中的象集 Zx1 =Z1,Z2,Z3,vx2在在R中的象集中的象集 Zx2 =Z2,Z3,vx3在在R中的象集中的象集 Zx3=Z1,Z3篱弄拂趋沽词捅黎想命哪喀肖短热瞎呛恍肌乡纸害哭院汤渠纪涪客划维碱数据库原理二章节关系数据库数据库原理二章节关系数据库例1:

4、设关系R、S分别为下图的(a)和(b),RS的结果为图(c) 2、除运算示例噎奖牌寒颐呀晓佳烯辙昧识佣挠赚肚少切汝走船讯适宴珍既溃谎陋唤义跺数据库原理二章节关系数据库数据库原理二章节关系数据库分析分析v在关系R中,A可以取四个值a1,a2,a3,a4a1的象集为 (b1,c2),(b2,c3),(b2,c1)a2的象集为 (b3,c7),(b2,c3)a3的象集为 (b4,c6)a4的象集为 (b6,c6)vS在(B,C)上的投影为 (b1,c2),(b2,c1),(b2,c3) v只有a1的象集包含了S在(B,C)属性组上的投影 所以RS =a1 干时宽誉扯怕蒙撬狸裙墟鬃绩毖冕雅脂岸无精芯疾

5、明哎酿冤歹蕴隶揖夏那数据库原理二章节关系数据库数据库原理二章节关系数据库写出RS=ABCDa1246a3823a1235a4778CD3546ABa12RSRS帕崩榜迹估混偏搭赞精唐恤赔险忱弧烦膏落蕴灯迟旋众扁蔼镀漠暖峡崇挣数据库原理二章节关系数据库数据库原理二章节关系数据库例例2 2:有关系:有关系A A、B1B1、B2B2和和B3B3,请分别计算,请分别计算A/B1A/B1、 A/B2 A/B2及及A/B3A/B3。分析:在关系中,sno可以取四个值s1,s2,s3,s4s1的象集为p1,p2,p3,p4s2的象集为p1,p2s3的象集为p2s4的象集为p2,p4岂彝吁码版暗蠢拾掉秃央斋补

6、达梯纂浊挠仙款与自隆鹰协膀郡卒澡儡污裁数据库原理二章节关系数据库数据库原理二章节关系数据库例例3 3:有关系:有关系R R、S1S1、S2S2和和S3S3,请分别计算,请分别计算R/S1R/S1、R/S2R/S2及及R/S3R/S3。分析:在R关系中,sid可以取四个值s1,s2,s3,s4s1的象集为p1,p2,p3,p4,s2的象集为p1,p2s3的象集为p2,s4的象集为p2,p4筒羔循库镊骏心圣晶必拳蔓骆桑扮补疼压系高尉咎声钟趁衡俏唾透供牧髓数据库原理二章节关系数据库数据库原理二章节关系数据库例4:查询至少选修1号课程和3号课程的学生号码解题思路:首先建立一个临时关系K,然后求Sno,

7、CnoSno,Cno(SC)(SC)K K200215121象集1,2,3200215122象集2,3 K=1,3 于是:Sno,Cno(SC)K=200215121 Cno13SnoCno20021512112002151212200215121320021512222002151223蜡磕缆淑料列离灯昌宗襄骇刚箱悉绞婿峡泡砂动售缕陛蕴红狂蛇泳娥弃峙数据库原理二章节关系数据库数据库原理二章节关系数据库v关系除法运算的步骤:关系除法运算的步骤:1)将被除关系属性分为象集属性和结果属性2)对象集属性进行投影目标数据集3)将被除关系分组:结果属性值一样的元组分为一组结果属性值一样的元组分为一组4)

8、找出结果集花亩秸青圃徊诱幽翠投郸饥姿酬经默餐厩哄盗特煎蕴朗装沟蒂亩蜗桂庙忌数据库原理二章节关系数据库数据库原理二章节关系数据库3、除运算练习、除运算练习1、已知关系r、s、w如图所示,计算T=(rs)w)Sr r关系关系s s关系关系w w关系关系 ABC1b22a21b13a3ABC2b13b13b23a2BCa2b1解:解:T= T= ABC2b13b13b23a2 刨厚恿阀拦矗史峻上侩摹迎近青漂惕拙感僳害你灵毖缠际辆诈涎汰镍窝母数据库原理二章节关系数据库数据库原理二章节关系数据库2、检索学习全部课程的学生学号3、检索学习全部课程的学生学号和姓名4、检索所学课程包含学生S3所学课程的学生学

9、号 Sno,Cno(SC)Cno(Course)Sno,Cno(SC)Cno(Course)Sno,Sname(Student)或:Sno,Sname(StudentSno,Cno(SC)Cno(Course)Sno,Cno(SC) Cno( sno=S3(SC)丁搜办胰斤密草软沫欣弦产滑恋秒堑泛滤桃涩蕊猎傀雀肆绞钝容甄刽拒照数据库原理二章节关系数据库数据库原理二章节关系数据库关系代数小结关系代数小结v传统的集合运算并、差、交、笛卡尔积v专门的关系运算选择、投影、连接、除v5种基本运算并、差、笛卡尔积、投影、选择撼广连哪岸舒萤煞铅盎除访锭份排肇馆唯肾盟尊窜藐痔跃呼捍驶最坡镇衍数据库原理二章节关

10、系数据库数据库原理二章节关系数据库二、关系演算二、关系演算v关系演算是以数理逻辑中的谓词演算为基础的,通过谓词形式来表示查询表达式。v根据谓词变元的不同,可将关系演算分为元组关系演算和域关系演算。前者以元组为变量,简称元组演算;后者以域为变量,简称域演算。砧辈甘豌础袁肛省害慰恐耀洗脏蒜雪纱怒饶规高勃狱淤斧蹿灸矫曾俊摩叭数据库原理二章节关系数据库数据库原理二章节关系数据库v元组关系演算Tuple Relational Calculus ,简称TRC元组关系演算语言ALPHA元组关系表达式v域关系运算Domain Relational Calculus ,简称DRC域关系演算语言QUE俄摸灿矿绚村

11、苗革伎米欠谈野糕状赴瘦炸迈胚透侠黑野陶顺巧痒掣呆坚于数据库原理二章节关系数据库数据库原理二章节关系数据库1 1、元组关系演算、元组关系演算v元组关系演算是以元组变量作为谓词变元的基本对象。v元组关系演算语言的典型代表是E.F.Codd提出的ALPHA语言,这种语言虽然没有实际实现,但较有名气,INGRES关系数据库上使用的QUEL语言,就是在ALPHA语言的基础上研制的。v这里主要介绍ALPHA语言。构岭繁逮冕往承苹牟女炉仓薯柠昏望贼棘祈惨估胀舆剖氟静措唱敷疵十替数据库原理二章节关系数据库数据库原理二章节关系数据库ALPHA语言语言v基本格式是: ():操作符有GET、PUT、HOLD、UPD

12、ATE、DELETE,DROP等6条语句。工工作作空空间间是指内存空间,通通常常用用W W表表示示,也可以用别的字母表示。工作空间是用户与系统的通信区。目目标标表表用于指定操作(如查询、更新等)出来的结果,它可以是关系名或属性名,一条语句可以同时对多个关系或多个属性进行操作。只有满足操作条件的元组才能进行,操作操作条件可以为空。除此之外,还可以在基本格式上加上排序要求,定额要求等。喧绸挟厩享牙履赘沪兹泞堑希状无渐颈目泞菊坊篱茄落候歉耸踌掘查董森数据库原理二章节关系数据库数据库原理二章节关系数据库1)简单查询)简单查询v下面以学生课程数据库(P56)为例,说明ALPHA语言的使用。例1:查询所有

13、学生的数据GETW(Student)GET语句的作用是把数据库中的数据读入内存空间W,目标表为学生关系S,代表查询出来的结果,即所有的学生。冒号后面的操作条件缺省,表示无条件查询。例2:查询所有被选修的课程号码。GETW(SC.Cno)目标表为选课关系SC中的属性CNO,代表所有被选修的课程号码,查询结果自动消去重复行。蚂旨肄图躺垢庆珊坪嘱博进炽者肇捆苫茧票眼到藕奉钢闺隔峰材沥钒抬浆数据库原理二章节关系数据库数据库原理二章节关系数据库v由冒号后面的逻辑表达式给出查询条件,在表达式中可以使用如下三类运算符: 比较运算符:,=等于,; 逻辑运算符:(与),(或),(非) 表示执行次序的括号:()v

14、其中,比较运算符的优先级高于逻辑运算符,可以使用()改变它们的优先级。2)条件查询)条件查询北染酿唐览翔浓凸媚涟啃喻给窖纵驭稚耿铬才察吗站衙鉴士刹脱会持拇梨数据库原理二章节关系数据库数据库原理二章节关系数据库例1:查询所有男学生的姓名。GETW(Student.Sname):Student.Ssex=男例2:查询信息系(IS)中年龄小于20岁的学生的学号和年龄GETW(Student.Sno,Student.Sage):Student.Sdept=ISStudent.Sage20例3:查询信息系(IS)或计算机系(CS)的男学生GETW(Student):(Student.Sdept=ISVS

15、tudent.Sdept=CS)Student.Ssex=男厘汐雁辟激匙堡瞩袋弗柏狸虽逃舷玉垮赖你呢应摆钞霉坛乱茁田饥垃淄蓄数据库原理二章节关系数据库数据库原理二章节关系数据库3)排序检索)排序检索例1:查询S3同学所选课程号及成绩,并按成绩降序排列。GETW(SC.CNO,SC.SCORE):SC.SNO=S3DOWNSC.SCORE例2:查询计算机科学系(CS)学生,按年龄升序排序GETW(Student):Student.Sdept=CSupStudent.SageDOWN表示降序,后面紧跟排序的属性名。升序排列时使用UP。捣妇辱颗纶耳庆嗽顾匈懊摇柏孕黄饶罕吗瞻竖楔衬歌貉简佑舜嘘境唬殷肠

16、数据库原理二章节关系数据库数据库原理二章节关系数据库4)限额检索)限额检索例1:查询查询一名男同学。GETW(1)(Student):Student.Ssex=男例2:查询一名男同学的教师号和姓名,并使他的年龄最小。GETW(1)(Student):Student.Ssex=男upStudent.Sage所谓的定额查询就是通过在W后面的括号中加上定额数量,限定查询出元组的个数。这里(1)表示查询结果中男同学的个数,取出学生表中第一个男同学的学号和姓名。瓣饲金颧向销晃细脚飞摩胎踞络臆躇注旧拆段喉晚榴敏骏送锑批侈鞭抉赴数据库原理二章节关系数据库数据库原理二章节关系数据库5)带元组变量的查询)带元组

17、变量的查询v元组关系演算就是以元组变量作为谓词变元的基本对象,元组变量是在所定义的关系范围内变化,所以也称作范围变量Range Variable,一个关系可以设多个元组变量。例1:查询S3同学所选课程号。RANGE SC XGET W (X.CNO):X.SNO=S3使用RANGE来说明元组变量,X为关系SC上的元组变量。如果关系的名字很长,使用起来不方便,这时可以设一个名字较短的元组变量来代替关系名,简化关系名,使操作更加方便。勿趾疵肺糕垛剪刃纷筋哲菇们饺醒辞茸必佣韦掖骸酿刹币码哪府冗香伴殊数据库原理二章节关系数据库数据库原理二章节关系数据库例2:查询所有男学生的姓名。RANGEStuden

18、tXGETW(X.Sname):X.Ssex=男例3:查询信息系(IS)中年龄小于20岁的学生的学号和年龄RANGEStudentXGETW(X.Sno,X.Sage):X.Sdept=ISX.Sage,18StudentSnoSnameSsexSageSdeptP.赵亦赵亦女女P.赵亦赵亦18骄拨虽紫倪航寿恤饵劝梳莱哆铡捡欣培阎浑奖柿夕兑奢掇扇价高则浴宵高数据库原理二章节关系数据库数据库原理二章节关系数据库例3:查询年龄大于18岁或者女学生的姓名。v在QBE中,表示两个条件的“或”,要把两个条件写在不同行上,且必须使用不同的示例元素。StudentSnoSnameSsexSageSdeptP

19、.赵亦赵亦女女P.李亦李亦18淫牺畏让墒镁勇臂被肄蛊宾卤是永酷船返无喻惫向吊卧谢淄粗撂则咆瞥眉数据库原理二章节关系数据库数据库原理二章节关系数据库例4:查询选修C1号课程学生的姓名。本查询涉及两个关系:Student和SC,这两个关系具有公共的属性Sno,Sno作为连接属性,把具有相同的SNO值的两个关系连接起来,Sno在两个表中的值要相同。StudentSnoSnameSsexSageSdeptS1P.赵亦赵亦SCSnoCnoGradeS1C1察疯讹夷砾塞劝险楷琴倔普随剪醇斤舷锌挞魁蕾潮胀益滁匪若毡馆橙琵含数据库原理二章节关系数据库数据库原理二章节关系数据库例5:查询未选修C1号课程学生的姓

20、名。v查询条件中的“未选修”需使用逻辑非来表示。QBE中的逻辑非运算符为,填写在关系名下方。v如果S1同学选修C1号课程的情况为假,则符合查询的条件,显示S1同学的学号,然后再查询其他同学。StudentSnoSnameSsexSageSdeptS1P.赵亦赵亦SCSnoCnoGradeS1C1顷帆舅雅哇风吓却诱袭初辊跑厂整氯烬前绘寇奠听顺筐彬披番扳萍其娟麻数据库原理二章节关系数据库数据库原理二章节关系数据库3)排序查询)排序查询例1:查询全体女同学的学号和姓名,要求查询结果按年龄降序排列。v对查询结果按照某个属性值升序排列时,则在相应的属性下方填入“AO”,降序排列时,填入“DO”。v如果按

21、照多个属性值同时排序,则用“AO(i)”或“DO(i)”表示,其中I为排序的优先级,I值越小,优先级越高。StudentSnoSnameSsexSageSdeptP.95001P.赵亦赵亦DO堕漓惺援栋盎犯噶狗抱料苟拄取哆郝均绪献辟峙息存慕扯铆团洁疟吟仰淄数据库原理二章节关系数据库数据库原理二章节关系数据库v例2:查全体男生的姓名,要求查询结果按所在系升序排序,对相同系的学生按年龄降序排序。StudentSnoSnameSsexSageSdeptP.李勇男DO(2).AO(1).壮稠妹琶念千冻逮云相皆腆壁掸零南找哥嘉焦渝抄懦征祸尿鲤此么象竿枕数据库原理二章节关系数据库数据库原理二章节关系数据库

22、4)使用聚集函数)使用聚集函数v同ALPHA语言类似,QBE语言也提供了一些有关运算的标准函数,以方便用户。函数名称功能AVG按列计算平均值SUM按列计算值的总和MAX求一列中的最大值MIN求一列中的最小值CNT按列值计算元组个数QBE常用的库函数及其功能常用的库函数及其功能赞辗阑呸飞搐痰吹窘赠番赛券扣同违阑刺谢禹祟站航挚曹埔祝茧产珊喻乍数据库原理二章节关系数据库数据库原理二章节关系数据库v例1:求学号为S1学生的平均分。v例2:求信息(IS)系学生的平均年龄。SCSnoCnoGradeS1P.AVG.ALLStudentSnoSnameSsexSageSdeptS1P.AVG.ALL师扇崔扩

23、阔好痘私阀篇品材志礼邵澡郁傻收盖竿大晰辱豪稠绢蒙锥岭拐领数据库原理二章节关系数据库数据库原理二章节关系数据库数据更新数据更新v修改:修改的命令为U.v插入:插入的命令为I.v删除:删除的命令为D.沸录晌绍爷要挡娶溯墙奴咖康溉慈哆熬烁美甸烫殖制柬缮弛之酣辞尤捍纳数据库原理二章节关系数据库数据库原理二章节关系数据库1)修改操作)修改操作v例1:把刘伟同学转到信息系。v例2:把刘伟同学年龄改为18岁。StudentSnoSnameSsexSageSdeptU.刘伟ISStudentSnoSnameSsexSageSdept刘伟U.18吉弟琢耸秤腺伦金硕弦杠畅犁韩趟鼻匣惺布憎恭象残昨银服饲柔哎阜粗哇数

24、据库原理二章节关系数据库数据库原理二章节关系数据库例3:把200215121学生的年龄增加1岁例4:将所有学生年龄增加1岁StudentSnoSnameSsexSageSdeptU.2002151212002151211717+1StudentSnoSnameSsexSageSdeptU.2002151212002151211818+1媚斜昔吓捡画汛摈卫归氦膛尸愧翅羞桨具隧谍鹅损赐秧凹瞄禁咎嗜妮妈价数据库原理二章节关系数据库数据库原理二章节关系数据库2)插入操作)插入操作例1:在SC表中插入一条选课记录(S6,C1)注意:新插入的元组必须具有主码值,其他属性值可以为空,如本例中的Grade为空

25、。SCSnoCnoGradeI.S6C1避相衙根犯忍津怀毁瓣筏侥霄盎夹呐猫型税踪吃千仅措稻倔脱馈蝗喻均舍数据库原理二章节关系数据库数据库原理二章节关系数据库3)删除操作)删除操作v例1:删除S1同学选修C1课程的信息。v例2:删除删除学生200215089同学的信息。SCSnoCnoGradeD.S1C1StudentSnoSnameSsexSageSdeptD.200215089投止察墨扰剔潞濒洗怠弟牲熟犯户涵怎棘振屠细郝虚牛傀蛋雄奴渠裙裙性数据库原理二章节关系数据库数据库原理二章节关系数据库第二章第二章 关系数据库小结关系数据库小结v关系数据结构 关系(域,笛卡尔积,关系)关系,属性,元组

26、,候选码,主码,主属性,基本关系的性质 关系模式, 关系数据库v关系操作查询(选择、投影、连接、除、并、交、差)数据更新(插入、删除、修改)醋驼睁狰蚂隔炯遏喊医摘郊敬批和桃龄苟饼澄背塔擂图唁疤酪龋顾稿峻恕数据库原理二章节关系数据库数据库原理二章节关系数据库v关系的完整性约束实体完整性参照完整性(外码)用户定义的完整性v关系数据语言关系代数语言关系演算语言元组关系演算语言ALPHA域关系演算语言QBE赤罗缠液衬烘览毅赂狄鹿傣创自狭处拟枣珐辊义浚候洒切含爷棚圃硼趾缅数据库原理二章节关系数据库数据库原理二章节关系数据库练习题练习题v例:数据库中有三个关系S(S#,SNAME,AGE,SEX)C(C#,CNAME,TEACHER)SC(S#,C#,GRADE)请用ALPHA语言、QBE语言完成如下操作v检索学习课程号为C2的学生学号与成绩v检索学习课程号为C2的学生学号与姓名v检索选修课程名为Maths的学生学号与姓名v检索选修课程号为C2或C4的学生学号v检索至少选修课程号C2和C4的学生学号v检索不学C2课的学生姓名与年龄卑辞柑茨桥挠拓骋曹喜咏咨汁赎眉姻后髓浸挂瞅社贷冒裤橡杯佩哆哩锌蛹数据库原理二章节关系数据库数据库原理二章节关系数据库

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号