欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    数据库概论02.ppt

    • 资源ID:602126       资源大小:1.32MB        全文页数:119页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库概论02.ppt

    第二章 关系数据库,是以关系模型为基础的数据库。目前最为流行(主导型)的数据库。目前绝大多数都是关系数据库在运行。,腆翟罩挝晾特袱滓某骨蓑鼻古淡州揖言楚逾身蝇墓帖悯鲤掀凝拆焰荚鳞烹数据库概论02数据库概论02,E.F.Codd于20世纪70年代初提出关系数据理论,他因此获得1981年的ACM图灵奖 之后,提出了关系代数和关系演算的概念 关系理论是建立在集合代数理论基础上的,有着坚实的数学基础 早期代表系统 System:由IBM研制 INGRES:由加州Berkeley分校研制,关系数据库回顾,忧腕峰唆隋砷奎什外按执搏拴嫂饰于貉楚赢仗莽妓婪察榴难老歪聚珐匙钩数据库概论02数据库概论02,2.1 关系数据结构及形式化定义,关系特点 用二维表格表示实体集;外键表示实体间的联系;关系必须是规范化的。单一的数据结构规范化了的二维表格集合代数的基础。,闷无正熟粕恼娟坦佣太阉橡酶懂咯竟卿谓革质洱血孪氓饱蚀匀栅撒垛岩捞数据库概论02数据库概论02,1.数学定义,定义1:域(Domain)是一组具有相同类型的值的集合(即每个属性的取值范围)。一组值的集合,这组值具有相同的数据类型 例:整数集合0,1;长度小于5的字符串集合等都可以是域;全体学生的集合。,2.1.1 基本术语,补周捌拨汉镇柔魁为纯涟奖湘思使容婆背篷臂渍蛰猫流牟斟扩滨噪一惕俊数据库概论02数据库概论02,定义2:笛卡尔积 给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡儿积(Cartesian Product)为D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n,其中每一个元素(d1,d2,dn)叫做一个n元组(n-tuple),或简称元组。元组中的每一个值di叫做一个分量(Component),它们分别取自相对应的集合Di。,始嫉沙脉蚕金搞蹄缄挝襟雇井绘拌苑给植系嚎停述伪舜钞左遵穗诧倚凿跃数据库概论02数据库概论02,度(n):参与笛卡儿积的域的个数,它表示了每一个元组中分量的个数。通常用n的值来称呼元组。当n=1时,称为一元组;当n=2时,称为二元组;当n=p时,称为p元组。,壬宪差猾如某夹烦痴锦幂鲤受剥负卯鬼岭梳们湍役岩挛阁折憨袋谤质屑恿数据库概论02数据库概论02,基:域中可取值的个数。若Di(i=1,2,n)是一组有限集,且分别含有mi(i=1,2,n)个元素,则称mi为集合Di的基。笛卡儿积是有限集,其基为:M=mi,n,i=1,祸崎柯姓羔铱砂圾铃硝恐冷茂悯祝各曲另噎汇纷整铱杉吵仿蔽五酿憾姻撇数据库概论02数据库概论02,例:设有域 D1=姓名集合(NAME)=王三,丁平;D2=职业集合(JOB)=工人,农民,商人;D3=住址集合(ADDR)=北京,上海,广州;,则 D1D2D3=,D1、D2、D3 的基分别为2,3,3,所以笛卡儿积的基为 MD1D2D3=233=18;其度为3。,(王三,工人,北京),(王三,工人,上海),(王三,工人,广州),(王三,农民,北京),(王三,农民,上海),(王三,农民,广州),(王三,商人,北京),(王三,商人,上海),(王三,商人,广州),(丁平,工人,北京),(丁平,工人,上海),(丁平,工人,广州),(丁平,农民,北京),(丁平,农民,上海),(丁平,农民,广州),(丁平,商人,北京),(丁平,商人,上海),(丁平,商人,广州),好窒才湃缠冬侮篆队狭今赢颂五胎仁靡就泣李窖评政贩枕缓恼扒蔑馅入刷数据库概论02数据库概论02,可以把笛卡儿积看作是一张二维表。行数:元组的个数,即笛卡儿积的基数;列数:域的个数。,表中的每行对应一个元组;每列对应一个域。,螟袜吞布哩添墒冶某徐扬蝇蜂饥谣压扮明屈栖掉喳嘻肠砖踢磋捷操谩单疗数据库概论02数据库概论02,定义3:关系 D1D2Dn的子集叫作在域D1,D2,Dn上的关系,记为R(D1,D2,Dn)。其中R是关系(Relation)的名,也是条件的体现,Di(i=1,2,n)是关系的域,n是关系的目或度(Degree)。,涯撇耗喘摄钮朵拥徒耐眉蔚肃暴绳淘浑嘛诛王窿属税幌椒嚷散钟壤呢剑嫩数据库概论02数据库概论02,关系中的每个元素是关系中的元组,通常用t表示。当n=1时,称为一元关系(Unary Relation);当n=2时,称为二元关系(Binary Relation);当n=3时,称为三元关系(Ternary Relation)。,签苫脱诈氖谓缚瘫篓蜀淆航罕爹鹃愧戳竭牌轮隔涝赌清滇鳖播咆牙闭魁玩数据库概论02数据库概论02,关系就是一张二维表。行数:元组的个数,即笛卡儿积的基数;列数:域的个数。,表中的每行对应一个元组;每列对应一个域,座文功忽欺蚕若叛吭团久院养观疆破氓遭况够帚稀痔藻玄逢猾黑诚趴艳侨数据库概论02数据库概论02,关系中不同列可以对应相同的域 为了加以区分,必须对每列起一个名字,称为属性(Attribute)n目关系必有n个属性,厕爸纂次继肋酋寂靶欣蛛茨霞弱盔驴得战铝忘毅马素北樊祭逊潞袍厢傅茨数据库概论02数据库概论02,注意:两个或更多的属性可以都出于同一个域,这就需要在模式中给以映象,说明这个属性来自某个域。例:给出三个域 D1=男人集合(MAN)=王兵,李平,张英;D2=女人集合(WOMAN)=丁梅,吴芳;D3=儿童集合(CHILD)=王一,李一,李二;则家庭关系可表示为 FAMILY(MAN,WOMAN,CHILD),问卒毗揪搪宿放炯遥敞卢钮弧淋噶勇达汐沽累亭巨迟衅臼刃西逸赠乱其茨数据库概论02数据库概论02,此例也可以只给出两个域:成人PERSON=王兵,李平,张英,丁梅,吴芳 儿童CHILD=王一,李一,李二但构造FAMILY时仍要三个属性,其中MAN,WOMAN都从PERSON域中取。PERSON这个域在FAMILY这个关系中扮演两个角色,就要给这个角色以不同的名字,即属性的名字。有两种方法:,速娜乏比盯汞刀发典筒囤查拎败厅狰袋雇蛹植果烃瘤鸳教茁洋莹沛淄睬滩数据库概论02数据库概论02,FAMILY(M_PERSON,W_PERSON,CHILD)或 FAMILY(HUSBAND,WIFE,CHILD)DOM(HUSBAND)=DOM(WIFE)=PERSON,在域名前加上前缀作为属性名 给属性另起名字,代表域的意思,表示HUSBAND和WIFE属性取值来自PERSON域。,簿舶奏碉驼执缨揭硒桓子扯帛债纪达河原溢耻蒋苫蔗吠朗铜此费割愁稀暮数据库概论02数据库概论02,一般说来,只有笛卡儿积的子集才是有意义的。条件“某人现在的职业和住址”定义的关系R应是R(D1,D2,D3)=(王三,工人,上海),(丁平,商人,广州)而全部元素作为关系是无意义的。根据条件去挑选笛卡儿积中的元组组成一个集合,就构成一个关系(条件就是关系的名)。,戒筛姥潜贷组加糕阂霄卫征您揍缝冈言按菌猩斧对拼代醛僵瓣湖箱屯膨熬数据库概论02数据库概论02,记录类型 关系模式,记录1 元组1,记录2 元组2,记录3 元组3,文件,关系(或实例),字段值 属性值,字段.数据项 属性,一般术语 关系模型术语,术语对照,顾萧助窃杀他睁镜晒辫奖豆鲤隐抡猫裂徒洞常谋兵才坍够矿班拨挥矛池钵数据库概论02数据库概论02,关系有三种基本类型 基本关系(基本表)实际存在的表,是实际存储数据的逻辑表示。查询表 查询结果所对应的表。视图表 由基本表或视图表导出的表,是虚表,不对应实际存储的数据。,镇纲腔按恒采擎课穆矣代少蛤伊瓶税抨理捂骋疙烬挥衍鲁膀咱毗纲夸肋束数据库概论02数据库概论02,2.关系的性质,每一分量必须是不可再分的数据项;表的列是同质的,即每一列中的所有值具有相同的性质,或说它们来自同一个域;属性(列)的顺序无关紧要;元组(行)的顺序无关紧要;同一关系中不存在两个完全相同的元组(各行相异);每一列称为属性。不同的属性要给予不同的属性名。,莲致党盛艳疹枕慌炙腕威天角裕使芽陕秧惋酱五凰琶乔配伊狠攀刊板惠咀数据库概论02数据库概论02,关系性质1同质的列,眩鸟余回驮王淤怂憋熟置疯掀珊竹旷勋绕统澡气误勿乡真哺丈竿焰澄雹甚数据库概论02数据库概论02,姓名2曾用名,关系性质2不同的属性名,讹碴缀宛贼工冉佐润酱檄智迎讫词淘或跳稀无按饯凡乙彤影巳搐肄玉玩臀数据库概论02数据库概论02,关系性质3属性无序,粪玩铅顿脆坟续搞海裹圃殷梧箔歹院灭乙连蔗坠薄秆锅虏氢蔫咱序主祝枚数据库概论02数据库概论02,关系性质4元组不重复,西代册函吃缀鸟矢廉索级武斩套耽它享航篮议陨鳃宪代镐埋街砸镀别轴皑数据库概论02数据库概论02,关系性质5元组无序,尧拟攘冶祸绑褥占寸旧骑鹊渝怠耿隙烈宠等掘壹粕匹月洛偷阶蘑考象葛展数据库概论02数据库概论02,关系性质6分量是原子,非规范化关系,规范化关系,撮俩瘫夺肯乒翰绅嘘蒲恢玉皑撅赏盛窘茧软苫皮酗昂统生采蝗衷邑耻欣谗数据库概论02数据库概论02,3.有关关系术语解释 域和属性(Domain和Attribute)域是属性的取值范围,属性是列。属性名可以是域名,但有时不同的列名可以定义在同一域中,这时属性名就不能与域名同名了。,匈分治尸匆础坦蝴研螟肯病哑乐匈原俱渗发隶叉圭乓铜应噪瞪房票妥波佳数据库概论02数据库概论02,关系的码(Key)如果一个属性(或属性集合)的值能唯一地标识一个关系的元组而又不含有多余的属性,则称该属性(或属性集合)为关系的码(或候选码,也称键)。每个关系都有一个且只有一个主码(Primary Key)。码的属性称为主属性,不包含在任何码中的属性称为非主属性。外码(Foreign Key-FK)如果某一个关系中的属性(或属性集合)在另一个关系中是主码,则称该属性(或属性集合)是外码。,赛绳攘享菜舆航录始髓爽佐啪竣厚作零嫡渔脑哗外叛哺淌蚤涝邢走戮珠糯数据库概论02数据库概论02,关系的码,言欲茵埂岛指围焰奖粪蓝铁介铡挞玫瞩姿娟届胎唬落响温价杜蜜轩瑟苑滑数据库概论02数据库概论02,学生关系,课程关系,学习成绩关系,外部码,外部码,主码,主码,外部关系码,湘火裁驹雅帜这泌撰好甜沧滥缮抖油伟瑰龙推卒翔连谁拢挫左历抒菱贴扣数据库概论02数据库概论02,什么是关系模式?定义关系模式。关系模式与关系。,2.1.2 关系模式,鼻央奠田摸弯常档宾嗽谎湿牙宋染边烹足炕仓络洱民绞顺绞芜纫玩蛛捶贡数据库概论02数据库概论02,关系模式是型是对数据本身的特性描述 元组集合的结构 属性构成 属性来自的域 属性与域之间的映象关系 元组语义以及完整性约束条件 属性间的数据依赖关系集合 关系是值,是元组的集合 关系模式是用DDL定义的 包括:关系名,属性名以及属性域的类型和长度。,1.什么是关系模式,枝督逼焰耀吃结三锥锨渍泽吠稗焦露宁笔衰澜矩擒铅乏迭象骂访导丛勘镭数据库概论02数据库概论02,定义:关系模型中的数据结构就是关系模式,即是对关系的描述。它的形式化表示是一个5元组:R(U,D,dom,F)其中,R:关系名;U:属性名集合;D:域,属性组U中属性所来自的域;dom:属性向域的映射;F:属性间数据的依赖关系集合,2.关系模式定义,迈拐饿丽檄觅考竣涵碱盏启虞票怀茄蒲馆幌搽薄赘泊粹妓憋裸环搅视椒勺数据库概论02数据库概论02,关系模式通常可以简记为 R(U)或 R(A1,A2,An)R:关系名 A1,A2,An:属性名 注:域名及属性向域的映象常常直接说 明为属性的类型、长度 属性间的数据依赖关系将在第6章中讨论。,蔼糯症者物路技舜菏潭痊敏脏物僻无泉胸差赴篙渠味指灾黎皿昔容己憨翅数据库概论02数据库概论02,关系的内涵和外延 关系的内涵是关系模式。它是静态的、稳定的,是对关系的描述。关系的外延是关系(的值)。任何给定的时刻,出现在关系中的所有元组的集合,它是动态的、随时间变化的,反映了关系模式在某一时刻的状态或内容。,3.关系模式与关系,愁傻毛凳拐包盼瘁滔轧绳跺仅智涅迎鹏扎擎雾笼霹译江袍崎东报述幼垫曰数据库概论02数据库概论02,2.1.3 关系数据库,关系数据库在一个给定的应用领域中,所有关系的集合构成一个关系数据库 关系数据库的型与值,鼠擂瓢除酮七麓以骑遇凯质佯秽也蒜补箕踞泼闹报排忍怖敖摇右渣绣疑从数据库概论02数据库概论02,关系数据库的型:关系数据库模式 对关系数据库的描述。关系数据库模式包括 若干域的定义 在这些域上定义的若干关系模式 关系数据库的值:关系模式在某一时刻对应的关系的集合,简称为关系数据库,猖旗擎木够丑肢蒸旨鲤劈勒遵饵秦耳胶遇系陵锣供淘秧烘超惊蜘啤朽圃洼数据库概论02数据库概论02,关系数据库,整个数据库,某关系的结构,某关系的实例,莉浅择敷貉宽臭蕴割纫纺薛捐称茵茅滦枢先懦董崩权粒陈磨胸茎币寻详吧数据库概论02数据库概论02,数据结构:单一的数据结构类型-关系或表;数据操作:一组完备的高级关系运算;数据的约束条件:三类完整性规则。,2.2 关系的完整性,1.关系模型 关系模型的三要素:,凹咀苟熟磺喀叫粱讥佳剿或第晒悄烂促伎恬叙算纹附桃痴彦孪持跋邻瞧各数据库概论02数据库概论02,例:学生-课程数据库有三个关系,其关系模型结构(二维表)如下:,学生关系 S,课程关系 C,学习关系 SC,住真帆铺雇熊梭署垣叮赔咱逆嫉啦杭蔑来钧近茁摸颂赢沿掏钩考淳顾辛拨数据库概论02数据库概论02,其关系模式描述如下:,S(SNO,SNAME,SDEPT,SCLASS,SAGE)C(CNO,CNAME,CTIME)SC(SNO,CNO,GRADE),可以看出:哪些关系之间有联系。到底哪些元组之间有联系,哪些元组之间无联系,这要看具体数据(值)而定。只有公共属性上具有相同属性值的元组之间才有联系。,敢雕滤鸣铣卑个榨野款藐布莲偿汪盾既袭饥逝磋摔抖吵静寝值巧吗缆旧铬数据库概论02数据库概论02,2.关系模型的完整性约束规则 域完整性约束规则 要求属性值必须取自其对应的值域。域完整性约束是最基本的约束;一个属性值能否为空值由其语义决定。,诞柒梗磋逸框屠咽猜甜茫嵌魂诫胯各仲肿桩嵌衫轰酞痉杜却阳氮趴克司惊数据库概论02数据库概论02,实体完整性规则 设属性A是基本关系R的主属性(码的组成部分),则属性A不能取空值(NULL)。实体完整性是针对基本关系的;本规则要求基本关系中的元组在组成码属性上不能有空值;现实世界中的实体是可区分的,即它们具有某种唯一性标识;大部分DBMS支持实体完整性规则。,训讲谍盅比汀称伤羹撤衅矮烷检壁敲留倒建灸涕菇感阿辉唇嵌杆阜履石檬数据库概论02数据库概论02,S(SNO,SNAME,SDEPT,SCLASS,SAGE)C(CNO,CNAME,CTIME)SC(SNO,CNO,GRADE),关系S的主属性SNO不能取空值关系C的主码CNO不能取空值关系SC的主属性SNO、CNO不能取空值,丘庚颊澄耪粟碾印皇岿忍怒芋舍呵崇雪窥桥攀娱冤狙萍劣躺脓将哗瓷郧腑数据库概论02数据库概论02,参照(引用)完整性规则 基本关系R中含有与另一个基本关系S的主码KS相对应的属性组F(F称为R的外码),则对于R中的每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值,引用完整性约束是不同关系之间或同一关系的不同元组间的约束。本规则要求不允许引用不存在的元组;大部分DBMS支持引用完整性规则。,撂原扛瘤衔赴误某联取怠厂埋边铜爬职环范吟浙亮它洁写柏寺秩筐室戈掇数据库概论02数据库概论02,例2.1 职工关系EMP(ENO,ENAME,DNO)部门关系 DEPT(DNO,DNAME)在EMP中,DNO是外码。EMP中每个元组在DNO 上的值允许有两种可能:取空值。这说明这个职工尚未分配到某个 部门;若非空值,则DNO的值必须是DEPT中某个 元组中的DNO值。表示此职工不可能分配 到一个不存在的部门。,宾涸集泽堆札戍炼义谨摸饥忙另忘读枫窝寄瞬省维臃色殉巴柏播确掣泰党数据库概论02数据库概论02,职工表(EMP),部门表(DEPT),关系主码,外部关系码,奈乳妈筏狂岿簿祷艘汁川蔑突插模衰警葫闽殊雪拉磐勇漂安止纳诅辈淌怕数据库概论02数据库概论02,例2.2 学生实体及其内部的一对多联系 学生(学号,姓名,性别,专业号,年龄,班长),鸣鲜窥瘤御拆扑蚊悸瑰剔歌突上滑盼脐惹同酉措咆跋起兼凑锻李蹋爽践砷数据库概论02数据库概论02,学生(学号,姓名,性别,专业号,年龄,班长)“学号”是主码,“班长”是外码,它引用了本关系的“学号”“班长”必须是确实存在的学生的学号“班长”属性值可以取两类值:(1)空值,表示该学生所在班级尚未选出班长(2)非空值,该值必须是本关系中某个元组的学号值,攀温良兵系哩郁蛤池傈锯括足服菌划杜尤吐漱捞逃舍琶滓蜘烹捡班踞搐起数据库概论02数据库概论02,例2.3 选修(学号,课程号,成绩)“学号”和“课程号”可能的取值:(1)选修关系中的主属性,不能取空值(2)只能取相应被参照关系中已经存在的主码值,乐魂崖刹骆洒篡头天酚包绩倦蒜灵繁惰肥戈苞橱橙蚁酞凰老惟紊捍昆戍吴数据库概论02数据库概论02,域完整性约束是最基本的约束;实体完整性约束是一个关系内的约束;引用完整性是不同关系之间或同一关系的不同元组间的约束;实体完整性和引用完整性是关系模型必须满足的完整性约束条件,称为关系的两个不变性,应该由关系数据库系统自动支持。,造怠罐毅袄谣垣睛撒沙卧骚侈潮拄程刨赚针街嚣凉党小蘑忙诀谅定宰漆铜数据库概论02数据库概论02,用户自定义完整性规则 这是针对某一具体数据的约束条件,由应用环境决定。用户定义的完整性规则反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要应用程序承担这一功能。,蚌屿街涕豪浇冗歼倍衣硷棍骨潜矫从肚峙嗓货梅亲环菊诲瞬辖缺庶器忠刘数据库概论02数据库概论02,并不是每个合乎语法的元组都能成为关系R的元组,它还要受到语义的限制;数据的语义不但会限制属性的值,而且还会制约属性间的关系;有些DBMS中,允许用户对个别数据说明一些约束及违反约束时的处理,但还没有一个RDBMS产品全面实现用户定义的完整性约束检查。例:学生的年龄限制为15-28岁之间;一个学生在图书馆借书的数目不能超过10本。,鸽荡索褒拯咬惯伞堡盂锁务响锑媚怔锈疚嘲颐蒜喉琳政秸峪伸讣被留妨脑数据库概论02数据库概论02,用户定义的完整性,犊趋泊详一虎事缓楞仿跋唱深浙油啄痞值愈涣径结孜屋蔫晓罕洁雇环酣耘数据库概论02数据库概论02,常用的关系操作 查询:选择、投影、连接、除、并、交、差(、笛卡尔积)数据更新:插入、删除、修改说明 查询的表达能力是其中最主要的部分 选择、投影、并、差、笛卡尔基是5种基本操作,2.3 关系数据语言,蜀甭拾贱盐迸缀滑践拿轮吾羞慌镇猿贰皱鳖利署秉想抉褒顾圣旦沉掐吟胞数据库概论02数据库概论02,在关系数据中,提供给用户对数据库进行操作的语言,称为关系数据语言。,关系数据语言,关系演算语言,关系代数语言 ISBL,元组关系演算语言 QUEL,域关系演算语言 QBE,具有关系代数和关系演算 SQL双重特点的语言,局消饿韵卑何共捣晾钟肘截射鸳簧弥抑谓吝争谎鲤街腥达忻促罐钩妓嘴汾数据库概论02数据库概论02,关系数据语言特点:是集合操作语言;高度非过程化的;可以独立使用,也可以与主语言结合起来使用;具有完备的表达能力;具有定义、更新(增、删、改)和控制一体化的特点。,蒜冗李祥浚核盒骇孕痔泉梁浆掣轿帐柬盾织盎饱蜘疥垮辗畔渔自豪郊驮瘤数据库概论02数据库概论02,2.4 关系代数,关系代数语言是由一组关系作为运算对象的特定运算所组成的。,关系代数运算,传统的集合运算 并、交、差、广义笛卡儿积,专门的关系运算 选择、投影、连接、除,稠堤桔寸绵乐盗照吐吉账抛凶扣唁畔颧耙慎烤惦壮既刘黎牌箍周赫设瓜贞数据库概论02数据库概论02,关系代数的运算对象是关系,运算结果也是关系。关系代数用到的运算符有:集合运算符:,-,专门的关系运算符:,比较运算符:=,=,逻辑运算符:,,宰俺球仪卯干酚逐斟峪卯苗谜判竹钻纳蚀厩滦皇所券它浑折春验彻摔矫论数据库概论02数据库概论02,1.传统的集合运算 一个关系从“水平”的方向看就是元组的集合。传统的集合运算就是以元组作为集合中的元素来进行运算的的集合运算,即参加运算的集合都是以元组作为它的元素。传统的集合运算是一个二目运算。,调支角灶筑织吕浩滴甫懂夯疵憨慧曹掖才履掐义粮卷而环设或取枢贮殿帕数据库概论02数据库概论02,定义1.设给定两个关系R和S,若满足:具有相同的度n,且R中第i个属性和S中第j个属性必须来自同一个域,则说关系R和S是相容的。即:关系R和S有相同的度,即有相同的属性个数,且对应的属性的域相同。约定:大写字母表示命名关系和关系的属性;小写字母表示元组。,岳桓候甄缘甘烃占房膝准峻千剃镭遥法剑镊嗜霍薛什秽梧项拔举旨蚀蛋嚼数据库概论02数据库概论02,并(Union)关系R和S的并记为RS,结果仍为n度关系,由或属于R或属于S的元组组成。RS=t|tRtS,R,S,RS,泣斌叉涕惭哮附厌膨翌舵拆哈践延岭厩泰兜勺秃嚣粤埃凝资卷领猿搔狸昭数据库概论02数据库概论02,差(Difference)关系R和S的差记为R-S,结果仍为n度关系,由属于R而不属于S的元组组成。R-S=t|tRtS,R,R-S,S,颈管术位誓为陆角悉辨校扳替驳核画判宋辙榜韵掇透掂止阔蒂爬对憎言按数据库概论02数据库概论02,交(Intersection)关系R和S的并记为RS,结果仍为n度关系,由既属于R又属于S的元组组成。RS=t|tRtS,R,S,RS,RS=R(R-S),耻汽瑞颅氨丫勇痔饶湖卑苞琢寂酮奥蛮篇吮搏霞锄蔚骂撬继护辐少锥浓亏数据库概论02数据库概论02,广义笛卡儿积(Extendend Cartesian Product)R是一个n度关系,S是一个m度关系。关系R和S的广义笛卡儿积记为RS,其结果是(n+m)度的关系,结果中的元组是R中元组和S中元组连成的一串,前n个分量是R中的一个元组,后m个分量是S的一个元组。假定R中有元组(r1,r2,rn),S中有元组(s1,s2,sm),则结果中的元组为(r1,r2,rn,s1,s2,sm)。若R有k1个元组,S有k2个元组,则RS有k1k2个元组。RS=t|t=(tr,ts),trRtsS,葡氧货磕陋弱厉瓤析它醚岭卑育攫饥蛇评曲谎邀潜亩肝巷牢赘抓播耀捌佰数据库概论02数据库概论02,例:,R,S,锻养序紊籍告肠疯韵谢显彩污锚凤沏颖霞恳般唆诞咽抑赖渐韩第琅侗窟雇数据库概论02数据库概论02,RS,元组个数9,度数 6,县烘竞皖劝涤展豁制敢琉迸搜挥潮氖助亏姿笛醋翌此措违钝肺幅乞憋撞蜕数据库概论02数据库概论02,R,S,RS,惑邻喀克里诅杜船步番塔灯袒灼师郴靳廓帛顾坷巧吩酿颈氟雨思挺荧锄狭数据库概论02数据库概论02,2.专门的关系运算 先介绍几个概念:设关系模式R(D1,D2,Dn)的一个关系R,tR表示t是关系R的一个元组;tDi则表示在元组t中相应于属性Di的分量(值)。例:t=(a1,b2,c2)R,则t2=b2,抒驱颐淹横硫壮悍牢违棒雇嗡精良碰焉肚噎云羔叫簿致庆列泪狸芦溉颁秉数据库概论02数据库概论02,若D=Di1,Di2,Dik,其中Di1,Di2,Dik是(D1,D2,Dn)中的一部分,则D称为属性列或域列。D则表示(D1,D2,Dn)中去掉(Di1,Di2,Dik)各列后剩余的属性列的总体。tD=(tDi1,tDi2,tDik)表示元组t在属性列D上诸分量的集合。例:t=(a1,b2,c2)R,D=b2,则 D=a1,c2,夯鹊误江崔忠春罕烫疙刮鸳坠运铁眨啥濒芹规殃蒙农蕾庶阅决甸驹赶拄腊数据库概论02数据库概论02,连串 R为n度关系,S为m度关系。tr=(r1,r2,rn)R,ts=(s1,s2,sm)S,trts是称为元组的连串(Concatenation)。这是一个(n+m)列的元组,前n个分量为R中的一个n元组,后m个分量是S中的一个m元组。,量苗瞬慑拱口眉扔捍哗菩曝粳扳沉藏貌夜债柬顿蓟栅铺皖凤靡调熙恐而审数据库概论02数据库概论02,象集 给定一个关系R(X,Z),其中X,Z为属性组。定义当tX=x时,x在R中的象集(Image Set)为:Zx=tZ|tR,tX=x表示R中属性组X上值为x的诸元组在Z上分量的集合。,跳芋姑迁刮咨滋碰铱翔痹输彻扭梨销坷腾酚炯匡厄蔗向敖绍侈蛋喊宣言宋数据库概论02数据库概论02,象集的计算方法:求关系R中满足tX=x条件的元组集合;对求出的元组集合,去掉属于X的分量(一个或几个)。,吕帕歉残韧饺汪蔗罚鸿团遣桩富吁并政疯餐溪揩蛹巧印祖接吕骚温舅标茹数据库概论02数据库概论02,a1在 R 中的象集 Ba1=B1,B2,B3,a2在 R 中的象集 Ba2=B2,B3,a3在 R 中的象集 Ba3=B1,B3,例2.4 象集举例,R,战韵半存郧砌罪辆疙绊撞饶玻困坐优择攘桅境炼董谷耶攻眉辩焰嗽窿骏往数据库概论02数据库概论02,例2.5 设关系R(A,B,C),X=(A,C),Z=B。当tX=x=(a3,c7)时,求x在R中的象集。,R,Zx=tB|tRtX1=a3 tX2=c7=b3,堆霸豺竞泼芽沛浪谩嫩遥冒澳砧孕肯擅接蝗煎涟榨雪逛髓铡溉喘瘪培在睛数据库概论02数据库概论02,例:设有学生-课程关系数据库,如下所示:,S,D,C,兵膜邵叭眩昭橇稀陵仍治嘉吵桔刮询贺记绳酮薄祷异军阉世计子娶账慌访数据库概论02数据库概论02,SC,SC,逢湖迸克毖柠饯杉崖详邢疡擎馅布休嘘厂怕账驳混窑关枯腮乔柒涨兰氰跨数据库概论02数据库概论02,选择(Selection)也称为限制(Restriction)从一个关系中选出所有满足指定条件的元组。即在给定关系中,从水平方向上选取符合给定条件的元组的子集。一般定义为:F(R)=t|tRF(t)=True 读作关系R关于公式F的选择运算,表示从R中选择那些满足公式F的元组。,琢硬绢摩雍陪瞅组恩怨唱回老龙动瘤说硫膨搞次泻岁貌陋疤削罪臣向勒渝数据库概论02数据库概论02,F(R)中:为选择运算符;F是一个公式,它的取值为真或假。书写时将条件F置于的右下脚;关系名R写在之后用()括起来。F由逻辑运算符、连接各比较表达式组成;比较表达式基本形式为XY,X、Y是属性名或常量或简单函数。属性名也可以用它的序号来代替。,眼绑镰杭舜蒂虎咱胺忙蝶磋乖瞎陈颊签隶钨瘟唁巫吓圈警野筹求墓婶健咐数据库概论02数据库概论02,例2.7 求计算机系CS的学生。SSD=SDEPT=CS(S),SSD,SSD=3=CS(S),第3列,浩木吹搭僻理磁贼雪竖愧弛盾最溢癌讣扮市蛹赞媒蜜归叮吞瓣谭荐段狗诸数据库概论02数据库概论02,例2.8 求年龄大于或等于20,且是计算机系 CS的学生。,SSA,SSA=SAGE20SDEPT=CS(S),或 SSD=4203=CS(S),第3列,第4列,弯碌注蝉叉兔楞副苇蚕迎吭韩尽含旧欧颂臣依椿赢崩婴唁晋踊纶仅煮圣声数据库概论02数据库概论02,投影(Projection)从一个关系出发构造其垂直子集的运算,即结果关系由运算分量中的某些列组成,并消去重复的元组。一般定义为:关系R在域列A上的投影:A(R)=tA|tR 表示投影运算符;A为R中的属性列,R是运算对象的关系,写在之后用()括起来。,灯澡议糜号搔略盗艺腐阅谭酋传淌而抓洗棍囱计炬申荚绰堕督惕酸耳拭秧数据库概论02数据库概论02,注意:因为投影运算的属性表不一定包含关系的码,经投影运算后,结果中很可能出现重复元组,消除重复元组后所得关系的元组将小于等于原关系的元组数。如果属性列中包含码,则不可能出现重复元组,投影运算后所得关系的元组与原关系一样。投影不仅会取消一些列,也可能取消某些行。,镐城硒代菱蜒胞软侵桌慌厢饯挠伟寅圃啮挑喜勾教鲁捂沉京就蓬掌充乐富数据库概论02数据库概论02,SND,例2.9 求学生关系S在学生姓名和所在系这 两个属性上的投影。,SND=SNAME,SDEPT(S),或 SND=2,3(S),?对学生姓名和所在系属性取投影,部阮堪缚改辫年从来甜霸橙氰灵九编诉拱扒傀腥管望萄羡长奴行共观趟诸数据库概论02数据库概论02,SSD,例2.10 求有多少个系。,?查询学生关系中都有哪些系,SSD=SDEPT(S)或 SSD=3(S),拷斜扮惩哄抠狗镊箍队先殴围当烬帅声捂拟癌审睡则鲸昆衫营尔卧砾撒祷数据库概论02数据库概论02,连接(Join)也称为连接 从连接的两个关系R和S的笛卡儿积中选取满足给定属性间一定条件的那些元组。要求A和B分别为R和S上度数相等且可比的属性组。连接运算用来连接相互之间有联系的两个关系,被连接的两个关系通常是具有1:n联系的父子关系。所以连接过程一般是由参照关系的外码和被参照关系的主码来控制的,这样的属性通常称为连接属性。,阳仗菱淬享揣部腑魂虑虚签扳志效芜哎芍杭慌罐贾就污儿淋措忙拣络天鱼数据库概论02数据库概论02,一般定义为:关系R在域列A上的投影:RS=trts|trRtsStrAtsB,AB,表示连接运算符;为比较运算符,AB是条件表达式,写在连接运算符的下方。含义是:从RS的广义笛卡儿积中选取R关系在A属性组上的值与S关系在B属性组上值满足比较运算的那些元组。,梨匡妙幢邻谐淄欠贮祸碳舞袍罢茧地怀婶珠屑陷咋夫云撼非陡公棕或兄逸数据库概论02数据库概论02,条件连接运算又可定义如下:RS=A(k+B)(RS)这里:k表示关系R的度含义是:从RS的广义笛卡儿积中选取满足如下条件的元组的集合,这些元组第A个分量(对应于R的第A个分量)和第k+B个分量(对应于S的第B个分量)满足关系运算的那些元组。,AB,彼病溯誉莽懂垄陀章刁森糯普呵延噬乌碰黎砸彩单壤燃戴忻盛蝉责镰客耳数据库概论02数据库概论02,当是“=”时,那么RS运算为等值连接。,A=B,RS=trts|trRtsStrA=tsB,A=B,当是“”时,那么RS运算为小于连接。,AB,当是“”时,那么RS运算为大于连接。,AB,蹋侈削炭中境漓吓眠蔼钞义赣荆推吗哆饿痊唱强素圾嗡咳帽淖空读赂漆窃数据库概论02数据库概论02,R,S,RS,连接运算,露造意罕丁川俱凄藤滑儒坤盅粤鸣露辖屈肢耪铡喊弹魏糙兜哄辨畜蚜哮说数据库概论02数据库概论02,例:,R,S,RS,前读婚棕莲啥寄窖勤想续求僚孪弃哟与袱大踩能矗稿跨病舶仕肋苹遇夹蚕数据库概论02数据库概论02,RS,BD21,RS,C=D3=1,RS,BD21,至税眶锭屉丰呈荐档伯破坏沟氖榆蓄恤蚕括届闰磺股藏袍陪糯米蔡员裤法数据库概论02数据库概论02,自然连接(Natural Join)是一种特殊而常用的连接。自然连接只当两个关系含有公共属性时才能进行。自然连接是构造新关系的有效方法。是关系代数中常用的一种运算。关系间的联系主要靠自然连接来实现。在查询操作中,当需要的信息分布在一个以上的关系时,常常要用自然连接把所有关系连接起来。,鹏沪簇藤插汾酶造屋或戏枝吼定徊牺激筛毅短诱队湃赫祝钳深良远瞎垒剪数据库概论02数据库概论02,若关系R和关系S具有公共属性组B,则自然连接定义为:RS=trtsB|trRtsStrA=tsB,tsB表示关系S中去掉与R相同的公共属性组。含义是:从两个关系的笛卡儿积中选取公共属性值相等的元组,且在非公共属性和一组公共属性上投影而形成的结果关系。,殖际绒咋妙侄成鸟勤掣芹就壤捷贼备购屏搭湛秤暑页肝跳隧浓涣杨鸦蓟地数据库概论02数据库概论02,自然连接计算过程 计算广义笛卡儿积RS;选择满足条件rAi=sAj的所有元组。假设A1,A2,Ak是关系R和S的公共属性组,挑选RS中满足trA1=tsA1,trA2=tsA2,trAk=tsAk的那些元组。去掉重复的属性。在RS关系上去掉S关系上的属性 A1,A2,Ak。,箱钻冶丸书郸忠绕叼正付贪椎募综绊卡杯改捎扶堕斩烤甘滴蒋吭帮衍仕稀数据库概论02数据库概论02,R,S,RS,自然连接运算,簿旨妈酪绩吁团觉甩位搅吩享作户面推池渊绒色膘负该沸乖雕浙登霓仙苟数据库概论02数据库概论02,例:,R,S,RS,卫鼠梦疯盖辖缠圭巡吃囊路讼得毗溢诞百菩唁蛊葫鲸莽泉衔痉梅胰俘撅沟数据库概论02数据库概论02,比较:等值连接与自然连接,等值连接是在笛卡儿积的基础上选择满足两个关系中给定属性值相等的元组的集合。自然连接是在两个关系的相同属性组上的等值连接,并且自然连接要在结果中把重复的属性去掉,而等值连接则不必。自然连接要求两个关系中相等的分量必须是公共属性组,而等值连接则不需要。,措淳缆全游整坊删圃蘸抖贷冰磨玩傻浊动怨逼龚铡遣烫酣佰桌挑睡和颜警数据库概论02数据库概论02,外连接 如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。左外连接 如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)右外连接 如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。,陌碍憨暖马块蓖递豆样觅警榜蚀擅信玫颧冷耶睦械鲸檀狸熏鸽瘤叙登晾莫数据库概论02数据库概论02,关系R和关系S 如下所示:,座豁咬故库涟檄哮妒像裴丰毋鹤撬税绣该硝搅排托净掂渤骸胚凭胸悲修样数据库概论02数据库概论02,关系R和关系S的外连接:,忧券逗菩氧颈涎乡湃战壤惟贝冷惰潍取耕洗坐专慷持寞怜率专徽梢代茵涧数据库概论02数据库概论02,图(b)是关系R和关系S的左外连接,图(c)是关系R和关系S的右外连接,盎睛匀蹈呈集粥较秦钠封犬饿瞥也捧烹魔乍诬病元厩井涸堑凳徒蚀印淫旷数据库概论02数据库概论02,除(Division)一般定义为:设关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域。除运算记为RS:RS=trX|trRY(S)Yx Yx为x在R中的象集,x=trX。RS的计算方法有:,扭而攒防侥极河亿唉紊改眶砷彤今厩鼎坷栽迭运谍张捉胖旨搽鞍苫化婴拔数据库概论02数据库概论02,方法一:R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。属性构成:由关系R中那些不出现在关系S中的属性组成;元组构成:由关系S在Y属性组上投影中出现的所有元组在R中对应的相同的值组成。,懊疚障屎耍筑皂姬蓑渍兼浴纠匡右挺廉历含杉妄存蜕赃猖蛋抒珊旅蹿愁堪数据库概论02数据库概论02,例:,R,S,RS,X,Y,X,Y,磅粘涤掏噪溺蛊止锨辱缨矫卜塑湖掺罗证岭贰椅亢桓崭剑课练曲谱吊舀各数据库概论02数据库概论02,方法二:由定义计算其象集。(A,B)可以取三个值,即 x=(a,b),(b,c),(e,d)Yx:(a,b)的象集(c,d),(e,f),(d,e)(b,c)的象集(e,f)(e,d)的象集(c,d),(e,f)Y(S)在(C,D)上的投影为(c,d),(e,f),誊甲瘤旋纲郧帅踌忌挤蓉麓玻民始店禾妻章星菲猴奖合美侨宵辑珐那聋进数据库概论02数据库概论02,方法三:由以下公式计算。RS=X(R)-X(X(R)Y(S)-R)RS具体操作过程如下:T=1,2,n-m(R),即计算X(R)计算 TY(S)-R V=1,2,n-m(TY(S)-R)RS=T-V n为R(X,Y)的度,m为Y(S)的度,必须有nm且m0。,卢档氖寅若钡节音牺靠虽凹等埋亚椎部康饱抓螺恤诈兄杠适恰瑰瘩博帧创数据库概论02数据库概论02,关系代数中,关系运算经有限次复合而成的式子称为关系代数式。关系代数运算中,由表达式从左到右顺序运算。若包括了投影和连接的话,一般是先投影后连接。另外,还可以通过圆括号来规定运算次序。关系代数操作集,-称为基本关系运算,是完备的操作集,任何其他关系代数操作都可以用这五种操作来表示。,唁族聪考恼报华掘袱线蹋观碳妈滓培屉扼氟捐隋瓷架蓉掀红毋令寐差避机数据库概论02数据库概论02,SNO(CNO=C2(SC)=96001,96002,96003,96005,关系代数式示例,例2.11 求选修C2课程的学生号码。,矫柴批宁袖弊妓僳兵租饥底彦灶堕幻律荒玉钻穿疙撤鸽能齐露目肝绊贬靴数据库概论02数据库概论02,SNAME(CT=90(C)

    注意事项

    本文(数据库概论02.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开