软件设计师培训2pt课件

上传人:博****1 文档编号:586678151 上传时间:2024-09-05 格式:PPT 页数:121 大小:977KB
返回 下载 相关 举报
软件设计师培训2pt课件_第1页
第1页 / 共121页
软件设计师培训2pt课件_第2页
第2页 / 共121页
软件设计师培训2pt课件_第3页
第3页 / 共121页
软件设计师培训2pt课件_第4页
第4页 / 共121页
软件设计师培训2pt课件_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《软件设计师培训2pt课件》由会员分享,可在线阅读,更多相关《软件设计师培训2pt课件(121页珍藏版)》请在金锄头文库上搜索。

1、蕊柠泊溜绍帖还碾秸赏泪睛窜褐蹦嘉捷喜情钎狱菊捣余或危列狰绿疑阵虾软件设计师培训2pt课件软件设计师培训2pt课件软件设计师培训软件设计师培训软件设计师培训软件设计师培训蕉容镁刚肿撬柬镇拓槐然憋甜太辕储藩辊雀伏实豺晕容琵肆勤胜冯攒仟身软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师历年考试对本章内容的考查情况历年考试对本章内容的考查情况考次考次2004200520062007200820095月月11月月5月月11月月5月月11月月5月月11月月5月月11月月5月月分值分值620202020202220212121比重4%13.3%13.3%13.3%13.3%13.3%14

2、.7%13.3%14%14% 14%本章的重点程度:本章的重点程度:贮玄握梆哀负邪冒苦哲讹斌逾赣绒方蔼极马嚎嗽氖猫狱粉稗糜双征揣酵孤软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师2.2.数据库技术基础知识数据库技术基础知识大纲要求:大纲要求:l 数据库管理系统的功能和特征数据库管理系统的功能和特征l 数据库体系结构(概念模式、外模式、内模式)数据库体系结构(概念模式、外模式、内模式)l 数据模型,数据模型,ERER图,第一范式、第二范式、第三范式图,第一范式、第二范式、第三范式l 数据操作(集合运算和关系运算)数据操作(集合运算和关系运算)l 数据库语言(数据库语言(SQ

3、LSQL)l 数据库的控制功能(并发控制、恢复、安全性、完整性)数据库的控制功能(并发控制、恢复、安全性、完整性)l 数据仓库和分布式数据库基础知识数据仓库和分布式数据库基础知识 轮旱牵合揽呐拱远恭蛆妈磷敛填颊菊欠柯概残统蘸澈校俞恳拟姐滇掀忌娥软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师2.1 2.1 数据库系统的基本概念数据库系统的基本概念l DB、DBMS和和DBS的定义的定义 DB (数据数据库库) 是长期存储在计算机内、有组织的、统一管是长期存储在计算机内、有组织的、统一管理的相关数据的集合。理的相关数据的集合。 DBMS(数据库管理系统数据库管理系统)是数据库

4、系统中管理数据的软件是数据库系统中管理数据的软件系统。位于用户与操作系统之间的一层管理软件。系统。位于用户与操作系统之间的一层管理软件。 DBS(数据库管理系统数据库管理系统)在计算机系统中引入数据库后的在计算机系统中引入数据库后的系统。是数据库、硬件、软件、数据库管理员及用户的集系统。是数据库、硬件、软件、数据库管理员及用户的集合。合。社集膘综从辈畸悦里芭阵偿鲁摩椅入疲割屋煎假渍敢箔银姑滴婚矢孙槛宪软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l数据库管理系统的功能数据库管理系统的功能1.1.数据库的定义功能数据库的定义功能 DBMSDBMS提供数据定义语言提供数据定义

5、语言(DDL)(DDL)定义数据库的三级结构定义数据库的三级结构两级映象,定义数据的完整性、安全控制约束。两级映象,定义数据的完整性、安全控制约束。2.2.数据库的操作数据库的操作 DBMS DBMS提供数据操作语言提供数据操作语言(DML)(DML)实现对数据库中数据的操实现对数据库中数据的操 作。基本数据操作有:检索作。基本数据操作有:检索( (查询查询) )、和更新、和更新( (插入、删除、插入、删除、修改修改) )。愿裙通乳幕怖游养得根垢狮问缎瘴疗辛墅皂块继疡砾硬黎跳甜窟怯慕摘眩软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师3.3.数据库的保护功能数据库的保护功能

6、 DBMS DBMS对数据的保护主要通过四个方面实现,因而对数据的保护主要通过四个方面实现,因而DBMSDBMS中包括四个子系统。中包括四个子系统。数据库恢复数据库恢复数据库的并发控制数据库的并发控制数据库的完整性控制数据库的完整性控制数据库的安全性控制数据库的安全性控制籍怪樟寇孜熙押乾叹涨瘟粹因德昼星幸元错怜建狡苔陶获沁殖喳霸台福矢软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师4.4.数据库存储管理数据库存储管理 DBMSDBMS的存储管理子系统提供了数据库中数据和应用程的存储管理子系统提供了数据库中数据和应用程序的一个界面,序的一个界面,DBMSDBMS存储管理子系统

7、的职责是把各种存储管理子系统的职责是把各种DMLDML语句转换成底层的与磁盘中数据打交道的操作系统的文件语句转换成底层的与磁盘中数据打交道的操作系统的文件系统命令,起到数据的存储、检索和更新的作用。系统命令,起到数据的存储、检索和更新的作用。死尘鞠棒与册板诅蹲搏栋鳞鳃持陈战括棠啄鸽毅媳炊旨砌攒种秤犹似郎涎软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师5.5.数据库的维护功能数据库的维护功能数据装载程序数据装载程序备份程序备份程序文件重组织程序文件重组织程序性能监控程序性能监控程序6. 6. 数据字典(数据字典(DDDD) 数据库系统中存放三级结构定义的数据库称为数据字数据

8、库系统中存放三级结构定义的数据库称为数据字典。对数据库的操作都要通过访问典。对数据库的操作都要通过访问DDDD才能实现。才能实现。DDDD中还存中还存放数据库运行的统计信息,例如记录个数、访问次数等。放数据库运行的统计信息,例如记录个数、访问次数等。验圾摆虚净故竞钠祖安辆金装醚天可院铰眨基钞亨嫁钝纸寇磊灿郎诊到仓软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20072007年年1111月上午试题月上午试题5151】 在数据库系统中,数据的完整性约束的建立需要在数据库系统中,数据的完整性约束的建立需要通过数据库管理系统提供的通过数据库管理系

9、统提供的(5151) 语言来实现。语言来实现。(5151)A. A. 数据定义数据定义B. B. 数据操作数据操作 C. C. 数据查询数据查询D. D. 数据控制数据控制A A皂弄寨咙莽辰策爬膀破梨敖鸽昭呈须测舷触薯胰道蔫苗在泻芜动隙辕根驭软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师2.2 2.2 数据库系统的体系结构数据库系统的体系结构三级结构两级映象三级结构两级映象l 三级结构:外模式、概念模式、内模式三级结构:外模式、概念模式、内模式l 两级映象:外模式两级映象:外模式/ /模式映象、模式模式映象、模式/ /内模式映象内模式映象遇轰涯酥累众钾宽蟹烬梢形链吩顺壮及

10、曝寻淀账柜铅狭沤邯倒搪宠惠樊拥软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l 三级结构:三级结构: 外模式:外模式:单个用户使用到的那部分数据的描述。单个用户使用到的那部分数据的描述。 概念模式:概念模式:是用户定义的数据库中全部数据逻辑是用户定义的数据库中全部数据逻辑结构的描述。结构的描述。 内模式:内模式:是数据库在物理存储方面的描述,接近是数据库在物理存储方面的描述,接近于物理存储设备,涉及到实际数据存储的结构。于物理存储设备,涉及到实际数据存储的结构。符通讽丧仓储宣铁寸讽快刽糠览祷荒锡燎职卞寻撕炳烯戍达皑灸田所拷躁软件设计师培训2pt课件软件设计师培训2pt课件

11、软件设计师软件设计师盾乱日圆煎茶陇宦沧锣试迁擅帚回农迸椅蹋聂七腾距沟磐哥旬摆材臃浅渝软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师杭孤樱耕锋讫揉鲜急忍仍鼻袍条笛泅抹扯努殷礼病幢片镣绚缴龄侯押浇朽软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l两级映象两级映象 模式内模式映象:模式内模式映象:存在于概念级和内部级之间,存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。用于定义概念模式和内模式之间的对应性。 外模式模式映象:外模式模式映象:存在于外部级和概念级之间,存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。用于定义外模

12、式和概念模式之间的对应性。烘癸沤胞趟状袋移驴什短锯搔双陋接辊凹旺坡寨抵喘虹谆莽慑软吭吠甚觅软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l两级数据独立性两级数据独立性 数据独立性是指应用程序和数据库的数据结构之间相互数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。独立,不受影响。 数据独立性分成数据独立性分成物理数据独立性物理数据独立性和和逻辑数据独立性逻辑数据独立性两个两个级别。级别。 物理数据独立性物理数据独立性:数据的内模式修改,模式内模式也:数据的内模式修改,模式内模式也要进行相应的修改,但概念模式尽可能保持不变。要进行相应的修改,但概念模式尽可能

13、保持不变。 逻辑数据独立性:逻辑数据独立性:数据的概念模式修改,外模式模式数据的概念模式修改,外模式模式也要进行相应的修改,但外模式尽可能保持不变。也要进行相应的修改,但外模式尽可能保持不变。词状终尚谓孩诫切续蛋群友徊猿唯亭室赁钉先数焕沦秘肘殊慰嘴盘贞墒吾软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师2.3 2.3 数据模型数据模型 数据模型数据模型: :表示实体类型及实体间联系的模型表示实体类型及实体间联系的模型. . 根据模型应用的不同目的可以将模型化分为根据模型应用的不同目的可以将模型化分为概念概念数据模型数据模型和和结构数据模型结构数据模型l 概念模型概念模型 E

14、R ER模型(实体联系模型)模型(实体联系模型)l 结构数据模型结构数据模型 层次模型、网状模型、关系模型层次模型、网状模型、关系模型按用户的观点对按用户的观点对数据和信息建模的数据和信息建模的按计算机的观点对按计算机的观点对数据建模的,直接数据建模的,直接面向数据库的结构面向数据库的结构燕挠序本兹汝漓熟汽潮闲他帧棵绩训身版懒空团蘸官宏意望陛沽滓庆眠蚌软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师概念模型概念模型结构数据模型结构数据模型现实世界现实世界信息世界信息世界机器世界机器世界频眷进鹃躲能终编汤功坤焕咆瘁楚洗冠喂灌梗锦纽辛育梁辰糕河眨虹堰睡软件设计师培训2pt课件软

15、件设计师培训2pt课件软件设计师软件设计师l 概念模型概念模型 ER ER模型(实体联系模型)模型(实体联系模型) 实体间的联系实体间的联系:实体集内部以及实体集的联:实体集内部以及实体集的联 系。包括一对一的联系、一对多的联系、多对系。包括一对一的联系、一对多的联系、多对 多的联系多的联系。 描述实体间联系的模型称为描述实体间联系的模型称为实体联系模型实体联系模型 简称简称ERER模型。模型。乔敦续康且疗迫吐呜觅襟俘妻悟巫拨郡暑锣佐加啃葛险卸蝉镀卿赴爱兑垄软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师学生学生课程课程选修选修学号学号姓名姓名性别性别课程号课程号 课程名课

16、程名学分学分年龄年龄mn履耙析渊日浑尼襄掖庇陌狱满燃曙想趁差压婿键悔搓赣考蝴明没氓察稼篱软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师哎极场罕召最海瀑焚搪廖郝夺甫炮奋邻柱柳上畜雾用泛狡狂酶队嚣制铣煽软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师1nn11n1n1nmn1n1n懒擂糙倒值耪淌玛鸣同咐党寥敌侄腾顾烙沼搞涵雍腾辛掳择卵揣范篙螺绘软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l数据结构模型数据结构模型 数据库领域中常用的数据结构模型:数据库领域中常用的数据结构模型: 层次模型层次模型 网状模型网状模型 关系模型关系模型闲

17、汰甥于凯冈雍亦艇悦祈及娱疥贰茹蒲掩波郧窟屏跳赖放卜胎耕氛候色琅软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20092009年年5 5月上午试题月上午试题5151】 采用二维表格结构表达实体类型及实体间联系的数据模采用二维表格结构表达实体类型及实体间联系的数据模型是型是 (5151) 。 (5151)A. A. 层次模型层次模型 B. B. 网状模型网状模型 C. C. 关系模型关系模型D. D. 面向对象模型面向对象模型 盂娱硒瞎缄讶捡获捆昆愿廊鬃狮蛊忧反念曙晃游邢褒瞻旋僳综遁肝袭恒蚌软件设计师培训2pt课件软件设计师培训2pt课件软件设

18、计师软件设计师层次模型:层次模型: 用用树树型结构表示实体类型及实体间联系的数据模型。型结构表示实体类型及实体间联系的数据模型。特点:特点:1.1.有且只有一个结点无父结点;有且只有一个结点无父结点;2.2.其它结点有且只有一个父结点;其它结点有且只有一个父结点;3.3.适用于适用于一对多的一对多的实体联系。实体联系。R1R2R3R4R5R6R7判奥粮容断尊果蛮精褥彰淄简姥肖匣翰谐榨硒先驳簿潭淳囊内涟南敝血协软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师系编号系编号办公地点办公地点系名系名系系教研室编号教研室编号教研室教研室教研室教研室学学 号号成绩成绩 姓名姓名 学生学

19、生研究方向研究方向姓名姓名 职工号职工号 教师教师层次模型的实例层次模型的实例蹄搔陡熬洁币魂窿挡佬鸥屋洼耸撞赤区妹兽仇疾佛趋义播赁司忍铡夹浦籍软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师R1R2R3R4特点:特点:1.1.任何一个结点可以有一个或一个以任何一个结点可以有一个或一个以 上的父结点;上的父结点;2.2.任何一个结点可以没有父结点;任何一个结点可以没有父结点;3.3.适用于多对多的实体联系。适用于多对多的实体联系。网状模型:网状模型: 用用有向图有向图表示实体类型及实体间联系的数据模型表示实体类型及实体间联系的数据模型. .橇彰花较凑噶谗差嘻窥紊坠迹肋街绘谣憾

20、淄笼贴努垂竣招唾访警据备枢队软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师学号学号姓名姓名系别系别学生学生课程课程课程号课程号课程名课程名学分学分选课选课课程号课程号课程名课程名学分学分网状模型的实例网状模型的实例禾茫暑押钠癸域锭汕田厌判霜伊鲁渐息逸夏粳侍畴狄合谬雀挚特渣秸窒芯软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师关系模型:关系模型: 用二维用二维表表格结构表达实体间的联系的数据模型格结构表达实体间的联系的数据模型 学号学号姓名姓名性别性别出生日期出生日期籍贯籍贯所在系所在系相片相片20078425012007842501张三张三男男1985

21、.9.41985.9.4山西山西信息工程信息工程1.jpg1.jpg20078425022007842502李四李四女女1984.11.261984.11.26江苏江苏财务管理财务管理2.jpg2.jpg20078425032007842503王五王五男男1985.4.201985.4.20河北河北电子商务电子商务 3.jpg3.jpg渤豺把还藏睹氰井涯彝屁乘脊晚彪侗砷贴缕名寺访独庄浅套闪威促歧贤构软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师关系模型中的基本术语关系模型中的基本术语: :关系关系:二维的数据表,它描述了实体之间的联系。:二维的数据表,它描述了实体之间的联

22、系。元组元组(实体):数据表中的每一行表示一个实体。(实体):数据表中的每一行表示一个实体。属性属性(字段):数据表中的每一列。(字段):数据表中的每一列。域域:属性的取值范围。:属性的取值范围。关系模式关系模式:对关系的描述称为关系模式。:对关系的描述称为关系模式。 关系名(属性名关系名(属性名1 1,属性名,属性名2 2,属性名,属性名n n)例:学生(学号,姓名,性别,出生日期,籍贯,所在系)例:学生(学号,姓名,性别,出生日期,籍贯,所在系)窿添鄙适吁系愉键褐割藏沤卞洋焰抖带瞻炔窗呕隋埔撑蛔玫呵佛氯暇入券软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师超键超键( (

23、超码超码) ):在关系模式中,能唯一标识元组的属性集。这:在关系模式中,能唯一标识元组的属性集。这个属性集可能含有多余的属性。个属性集可能含有多余的属性。候选键候选键( (候选码候选码) ):能唯一标识元组,且又不含有多余的属性:能唯一标识元组,且又不含有多余的属性一个属性集,即超键中删除多余属性剩下的属性集。一个属性集,即超键中删除多余属性剩下的属性集。主键主键( (主码主码) ):从候选键中选择一个作为关系模式中用户使:从候选键中选择一个作为关系模式中用户使用的候选键称为主键。用的候选键称为主键。 例如:在关系模式(工号,姓名,年龄,性别,工资)例如:在关系模式(工号,姓名,年龄,性别,工

24、资) (工号,姓名)是关系的一个超键;(工号,姓名)是关系的一个超键; (工号)是候选键;(工号)是候选键; (工号)是主键。(工号)是主键。 驮雏檄鲸隶浑皂拖墒乒胡咒桐滩宽棋室阿镰前钙洗雌蛰思睡噶躁悄广辣塑软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师主属性主属性:包含在任何候选键中的属性称为主属性。不包含:包含在任何候选键中的属性称为主属性。不包含在任何候选键中的属性称为非主属性。在任何候选键中的属性称为非主属性。外键(外码)外键(外码):当关系:当关系R R中的某个属性(或属性组)虽然不中的某个属性(或属性组)虽然不是该关系的码,但却是另一个关系是该关系的码,但却是

25、另一个关系S S的码,称该属性(或属的码,称该属性(或属性组)为性组)为R R关系的外键。关系的外键。 全键(全码)全键(全码):关系模型中所有属性都是这个关系的关键字关系模型中所有属性都是这个关系的关键字 例:例:R R(教师,课程,学生)(教师,课程,学生)越缆嘘粒车萄玫某态侯酝坝降嫉牢粪概敌沼忿薛庚足变魔便礼顾惑白麓融软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 例例1 1:学生学生(学号学号,姓名,性别,年龄,系号),姓名,性别,年龄,系号) 系系(系号系号,系名,系主任),系名,系主任) 例例2 2:选课选课(学号,课程号学号,课程号,成绩),成绩) 学生学生

26、(学号学号, 姓名,姓名, 性别)性别) 课程课程(课程号课程号,课程名,学分),课程名,学分)外键外键外键外键弥磁秀蚕亚瘪惰壤掸锚灯目鹊力怎亭坍淘辉妖共柬激阮熙坡素末搽巫湖曲软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20042004年年5 5月上午试题月上午试题1717、1818】 已知关系已知关系R R如下表所示,关系如下表所示,关系R R的主属性为的主属性为(1717) ,候,候选关键字分别为选关键字分别为 (18) (18) 。(17) A.ABC(17) A.ABC B.ABD B.ABD C.ACD C.ACD D.ABC

27、DD.ABCD(18) A.ABC (18) A.ABC B.AB B.AB 、AD AD C.AC C.AC、ADAD和和CDCD D.AB D.AB、ADAD、BDBD的的CDCDD DD D烯夏接乙簧颗函褥覆势辣略投犁亭喻尊蓑丹喳移惺纫辜檄揭议挖筛涩椽瞎软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20042004年年1111月上午试题月上午试题42-4442-44】 假定每一车次具有唯一的始发站和终点站。如果实体假定每一车次具有唯一的始发站和终点站。如果实体“列车时刻表列车时刻表”属性为车次、始发站、发车时间、终点站、属性为车次、

28、始发站、发车时间、终点站、到达时间,该实体的主键是到达时间,该实体的主键是 (42) (42) ;如果实体;如果实体“列车运行列车运行表表”属性为车次、日期、发车时间、到达时间,该实体的主属性为车次、日期、发车时间、到达时间,该实体的主键是键是(43) (43) 。通常情况下,上述。通常情况下,上述“列车时刻表列车时刻表”和和“列车列车运行表运行表”两实体间两实体间 (44) (44) 联系。联系。(42)A.(42)A.车次车次 B. B.始发站始发站 C. C.发车时间发车时间 D. D.车次,始发站车次,始发站(43)A.(43)A.车次车次 B. B.始发站始发站 C. C.发车时间发

29、车时间 D. D.车次,日期车次,日期(44)A.(44)A.不存在不存在 B. B.存在一对一存在一对一 C. C.存在一对多存在一对多 D. D.存在多对多存在多对多 A AD D C C铺柯络时汇拧劲沾撰仲寺驳定贵筷谚日赢刁靴卤拱瑰黑际怠党瞥辣纺碾闲软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师关系模型的完整性约束(数据完整性)关系模型的完整性约束(数据完整性) 数据完整性数据完整性是用来确保数据库中数据的正确性和可靠性。是用来确保数据库中数据的正确性和可靠性。 数据完整性包括:数据完整性包括:实体完整性:主键的取值实体完整性:主键的取值必须唯一必须唯一,并且,并且

30、不能为空不能为空。 域完整性:保证域完整性:保证数据的取值数据的取值在在有效有效的范围内。的范围内。参照完整性:参照完整性是通过参照完整性:参照完整性是通过主键主键和和外键外键来保证相来保证相 关联的表间关联的表间数据保持一致数据保持一致,避免因一个表的数据修,避免因一个表的数据修 改,而导致关联生效改,而导致关联生效。盛钉宝操寡淫斥白融弧脚将绍梦细谭锹导幼箱漾窗椭琢尾洲套然圣狼浦旋软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20062006年年5 5月上午试题月上午试题4848】某数据库中有:某数据库中有:员工关系员工关系E E(员工

31、编号,姓名,部门)(员工编号,姓名,部门)产品关系产品关系P P(产品编号,产品名称,型号,尺寸,颜色);(产品编号,产品名称,型号,尺寸,颜色);仓库关系仓库关系W W(仓库编号,仓库名称,地址,负责人编号);(仓库编号,仓库名称,地址,负责人编号);库存关系库存关系I I(仓库编号,产品编号和产品数量)(仓库编号,产品编号和产品数量) 若要求仓库关系的负责人引用员工关系的员工编号,若要求仓库关系的负责人引用员工关系的员工编号,员工关系员工关系E E的员工编号、仓库关系的员工编号、仓库关系W W的仓库编号和产品关系的仓库编号和产品关系P P的产品编号不能为空且惟一标识一个记录,并且仓库的地址

32、的产品编号不能为空且惟一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是不能为空,则依次要满足的完整性约束是 (4848) 。稚辰蔡铺孺施桃露圾旷亩碟刨绩肮塞改永赡脑孵狱炽征腐瞅线锋籍纤断亮软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师(4848) A. A. 实体完整性、参照完整性、用户定义完整性实体完整性、参照完整性、用户定义完整性 B. B. 参照完整性、实体完整性、用户定义完整性参照完整性、实体完整性、用户定义完整性 C. C. 用户定义完整性、实体完整性、参照完整性用户定义完整性、实体完整性、参照完整性 D. D. 实体完整性、用户定义完整性、参

33、照完整性实体完整性、用户定义完整性、参照完整性碘永痊泅鲤腾蒋翼逝荫舵酚矾毕颧库掠雅匈华撇蛮肿刊蝴祥勺菲穆锻畅祭软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20062006年年5 5月上午试题月上午试题4848】 在数据库系统中,数据的完整性约束的建立需要通过在数据库系统中,数据的完整性约束的建立需要通过数据库管理系统提供的数据库管理系统提供的(5151) 语言来实现。语言来实现。(5151)A. A. 数据定义数据定义 B. B. 数据操作数据操作 C. C. 数据查询数据查询 D. D. 数据控制数据控制脊恳豹懊毙抛纱乖细领莲扑淮环犹

34、瓶锚翠盗腾槐奥墩积稍宦确刹贴桂嘘米软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师2.4 数据操作数据操作 关系数据库的数据操作语言(关系数据库的数据操作语言(DMLDML)的语句分成查询语句)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。求;更新语句用于描述用户进行插入、删除、修改等操作。关于查询的理论称为关于查询的理论称为“关系运算理论关系运算理论”。 关系查询语言根据其理论基础的不同分成两大类:关系查询语言根据其理论基础的不同分成两大类: 关系代

35、数语言:查询操作是以集合操作为基础的关系代数语言:查询操作是以集合操作为基础的DMLDML语言。语言。 关系演算语言:查询操作是以谓词演算为基础的关系演算语言:查询操作是以谓词演算为基础的DMLDML语言。语言。澄柏溃骨荐现跨弦裙蒋索滇兑柜寅兔箱瑶叔氏凌则挝聚塌二锨媳究吏吓帕软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l 关系代数关系代数 关系代数的五个基本操作关系代数的五个基本操作 并、差、笛卡尔积、投影、选择并、差、笛卡尔积、投影、选择 关系代数的四个组合操作关系代数的四个组合操作 交、联接、自然连接、除法交、联接、自然连接、除法 l 关系演算关系演算 元组关系演算

36、元组关系演算 域关系演算域关系演算熊藉棋摔阎杜翰喀森藤互泞婉娠赌豆诞惊构肖鸣循蓝拔柿紊掖髓纯走瘩宜软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l 关系代数关系代数关系代数的五个基本操作关系代数的五个基本操作(1 1)并()并(UnionUnion) 设关系设关系R R和和S S具有相同的关系模式,具有相同的关系模式,R R和和S S的并是由属于的并是由属于R R或属于或属于S S的元组构成的集合,记为的元组构成的集合,记为RSRS。 形式定义如下:形式定义如下: RSt | tR tS RSt | tR tS, t t是元组变量,是元组变量,R R和和S S的元数相同。

37、的元数相同。丽宫谢忻监戳概纫旬奉蠕砾临遵猾蛰衬绦遵誓徘床陈陪烫饮胜砚募说击炒软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师R RS S允斧酵分哮妒流馈氏汗坦劣豺缺箔覆卖亲物辛犀靴勉芳酬藐羚篙搬餐尧霓软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师(2 2)差()差(DifferenceDifference) 设关系设关系R R和和S S具有相同的关系模式,具有相同的关系模式,R R和和S S的差是由属于的差是由属于R R但不属于但不属于S S的元组构成的集合,记为的元组构成的集合,记为R RS S。 形式定义如下:形式定义如下: R RS t | tR

38、 tSS t | tR tS,R R和和S S的元数相同。的元数相同。镍胶冰漾停舀馏妙褥膘拣点嚼藉秸冠爷侮赫加禁词嗓煽团边韧肋羡这全炔软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师R RS S听滓筋桂索伦琅绷丝澈噬弯塌屁侠藐炔窖蛙止跑匆卉港抒杏苑缀构优喊怖软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师(3 3)笛卡尔积)笛卡尔积 设关系设关系R R和和S S的元数分别为的元数分别为r r和和s s。定义。定义R R和和S S的笛卡尔积的笛卡尔积是一个(是一个(r+sr+s)元的元组集合,每个元组的前)元的元组集合,每个元组的前r r个分量(属个分量(

39、属性值)来自性值)来自R R的一个元组,后的一个元组,后s s个分量来自个分量来自R R的一个元组,的一个元组,记为记为RSRS。 形式定义如下:形式定义如下: R RS t |t=tS t |t=ttr rRtRts sSS 若若R R有有m m个元组,个元组,S S有有n n个元组,则个元组,则R RS S有有m mn n个元组。个元组。瘸炸桔去页摇契揣涉明挥嘲怖擎潘节帛锹规拆猴哲品使感猪陛建撮剥斌纳软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师R RS S玲侄惭去撅廷嫉隶往哩霹颐筏煌沃芭崎池数骗宠法狞郑蓄式妄形匈保巩浑软件设计师培训2pt课件软件设计师培训2pt课件

40、软件设计师软件设计师(4 4)投影()投影(ProjectionProjection) 这这个个操操作作是是对对一一个个关关系系进进行行垂垂直直分分割割,消消去去某某些些列列,并并重新安排列的顺序。重新安排列的顺序。 设设关关系系R R是是k k元元关关系系,R R在在其其分分量量A Ai1i1,A Aimim(mkmk,i i1 1,i im m为为1 1到到k k间间的的整整数数)上上的的投投影影用用i1i1,imim(R R)表表示示,它是一个它是一个m m元元组集合,元元组集合, 形式定义如下:形式定义如下: i1,im(R) t| tti1,timt1,tkR 屯猴湿砒渺怀却药布奉果

41、芝牛邹杆弛减论斥臂争皿洼辰霖叠秃珠牡驾达踏软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师例如,例如,3 3,1 1(R R)表示关系)表示关系R R中取第中取第1 1、3 3列,组成新列,组成新的关系,新关系中第的关系,新关系中第1 1列为列为R R的第的第3 3列,新关系的第列,新关系的第2 2列为列为R R的第的第1 1列。列。 如果如果R R的每列标上属性名,那么操作符的每列标上属性名,那么操作符的下标的下标处也可以用属性名表示。例如,关系处也可以用属性名表示。例如,关系R R(A A,B B,C C),),那么那么C C,A A(R R)与)与3 3,1 1(R

42、R)是等价的。)是等价的。瞎富淬匹孟铝豌步挞柞闹茁通宗哨盏谨逝辛袱瑶帆哀炸欺渍掂舜吼扭迢莉软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师R RS S蚜猎答挎考祖坞业补束遭勺舟围钟赠履贡派喳流帐祝蹋晚贮妹迎蓑窍晨巷软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 (5 5)选择()选择(SelectionSelection) 选择操作是根据某些条件对关系做水平分割,即选取选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式)件表达式)F F表示。表示

43、。 F F中有两种成分:运算对象和运算符中有两种成分:运算对象和运算符 形式定义如下:形式定义如下: F F(R R) t | tR F t | tR F(t t)= true = true 为选择运算符,为选择运算符,F F(R R)表示从)表示从R R中挑选满足公式中挑选满足公式F F为为真的元组所构成的关系。真的元组所构成的关系。提鱼畏茁赫咏茅剪这很缉应锗打颗末顾顶闻懦情捅距蝗匀糖千哇蓄唯惮最软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师例如,例如,2 233(R R)表示从)表示从R R中挑选第中挑选第2 2个分量值个分量值大于大于3 3的元组所构成的关系。的元组

44、所构成的关系。 常量用引号括起来,而属性序号或属性名不要用常量用引号括起来,而属性序号或属性名不要用引号括起来。引号括起来。聘邦编妹轩葱矿苦饿场闪赤顾贷媳谨蔷歧搏濒帝喜瓢信买与腥沟犊秦埔栖软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师S SR R骏寂培塑踞谬未区枣辑区陋毛棉亚荧旦产炭莽悼入姻疚晦橇稗核谴邮筏销软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师关系代数的四个组合操作关系代数的四个组合操作(1 1)交()交(intersectionintersection) 关系关系R R和和S S的交是由属于的交是由属于R R又属于又属于S S的元组构成的

45、集合,记的元组构成的集合,记为为RSRS,这里要求,这里要求R R和和S S定义在相同的关系模式上。定义在相同的关系模式上。形式定义如下:形式定义如下: RSt RSttR tStR tS,R R和和S S的元数相同。的元数相同。 膘菠崭丛鼎币姐烁库贮诗陌逃国忍惩象抵雀眠及貉背华笛松丁辐货寂鞍这软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师(2 2)连接()连接(joinjoin) 连接有两种:连接有两种:连接和连接和F F连接连接 连接连接 (是算术比较符)是算术比较符) 连接是从关系连接是从关系R R和和S S的笛卡儿积中选取属性间满足某一的笛卡儿积中选取属性间满足某

46、一操作的元组操作的元组, , R R St Stt=tt=ttr rRtRts sStStr ri i t ts sj j 因此因此,连接由笛卡尔积和选择操作组合而成。连接由笛卡尔积和选择操作组合而成。 R R S S ii(r+jr+j) (R RSS)ijij子吞谦森讣搜隐笛寒些屋茧顺讳摘虱拐磐马膜又蛤结辰坞雕攫绽葫吓养帆软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 F F连接连接 (F F是公式)是公式) F F连接是从关系连接是从关系R R和和S S的笛卡儿积中选取属性间满足某的笛卡儿积中选取属性间满足某一公式一公式F F的元组的元组, , 这里这里F F是形为

47、是形为F F1 1FF2 2FFn n的公式,每的公式,每个个F FP P是形为是形为ijij的式子,而的式子,而i i和和j j分别为关系分别为关系R R和和S S的第的第i i、第第j j个分量的序号。个分量的序号。夜智奸阳宿仕忍阮士牛醚乔行和挺信较霞桓帐帅的尊萝侗间轿绽嗽软穆钝软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师(3 3) 自然连接(自然连接(natural joinnatural join) 两个关系两个关系R R和和S S的自然连接操作具体计算过程如下:的自然连接操作具体计算过程如下: 计算计算RS RS ; 设设R R和和S S的公共属性是的公共属性

48、是A1,AKA1,AK,挑选,挑选RSRS中满足中满足 R.A R.A1 1=S.A=S.A1 1,R.AR.AK K=S.A=S.AK K的那些元组;的那些元组; 去掉去掉S.AS.A1 1,S.AS.AK K这些列。这些列。 形式定义如下:形式定义如下: R R S S i1,imi1,im ( (R.A1=S.A1. R.AK=S.AKR.A1=S.A1. R.AK=S.AK (RS),(RS), 其中其中i i1 1,i,im m为为R R和和S S的全部属性,但公共属性只出现一次。的全部属性,但公共属性只出现一次。 自然连接就是等值连接去掉重复列自然连接就是等值连接去掉重复列。捎唤罗

49、彩砷赋郎隆待债蛛吓瘸秆杯跟精龟块熏歪关孺燥藐吼抓雕熙斯劣老软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20072007年年1111月上午试题月上午试题543543、5555】 关系关系R R、S S如下图所示,如下图所示,R R S S可由可由 (5454) 基本的关系运基本的关系运算组成,算组成,R R S =S = (5555) 。 (5454)A. A. ,和和 B. B. -,-,和和 C. C. ,和和 D. D. ,和和 D DA A盏吃囱朗彭母床讳约抢反谈脉俺打涎巳砾苗蝇碉徐团逞裳找矾垮娘吵拇竭软件设计师培训2pt课件软件设

50、计师培训2pt课件软件设计师软件设计师一腋撮甘凸急钝驱巾捷劫烘愧筹瓦距号疫珐迷霄黄琳趣类瞳厚扛矮血势台软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师(4 4)除法(除法(divisiondivision) 设关系设关系R R和和S S的元数分别为的元数分别为r r和和s s(设(设rs0rs0),那么),那么RSRS是是一个(一个(r-sr-s)元的元组的集合。()元的元组的集合。(RSRS)是满足下列条件的)是满足下列条件的最大关系:其中每个元组最大关系:其中每个元组t t与与S S中每个元组中每个元组u u组成的新元组组成的新元组tu必在关系必在关系R R中。中。 R

51、S RS1,2,r-s1,2,r-s(R)-(R)-1,2,1,2,,r-sr-s(1,2,r-s1,2,r-s(R)S)-R)(R)S)-R) 坪薪膏攘殿亢撇误荒狈颐挚帜跋池食烘甭在伸拂瘫黍蛔淀拽帽刹夹筋湿涸软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师A AB BC CD Da ab bc cd da ab be ef fa ab bd de eb bc ce ef fe ed dc cd de ed de ef fC CD Dc cd de ef fRSRSA AB Ba ab be ed d 先列出先列出R-SR-S的属性的属性 属性值属性值A A、B B同时满足

52、同时满足S S中(中(c c,d d)和()和(e e,f f)的元组。)的元组。鸦但司派咯角看瘤臂颊桐憋剖如森跃匝你温震甚礁狄滞粹萧必予辜鸥屉细软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师例:选修了所有课程的学生的学号和姓名。例:选修了所有课程的学生的学号和姓名。S#S#C#C#s1s1c1c1s1s1c2c2s2s2c2c2s3s3c1c1s3s3c2c2s4s4c1c1C#C#c1c1c2c2选修表选修表课程课程选修表选修表课程课程S#S#s1s1s3s3钉抿虽掂颂燥坞踏卯声剑嚎辱挛嗅雕穿唱报掀篇缸甩笆切握恶原伟棍哼引软件设计师培训2pt课件软件设计师培训2pt课

53、件软件设计师软件设计师例:检索所学课程包含学生例:检索所学课程包含学生s1s1所学课程的学生学号。所学课程的学生学号。S#S#C#C#GradeGrades1s1c1c19090s1s1c2c28585s2s2c4c47676s3s3c1c16868s3s3c2c26565s4s4c1c17070s4s4c3c38686C#C#CnameCnamec1c1数据库数据库c2c2英语英语c3c3高数高数c4c4体育体育选修表选修表课程课程S#S#s1s1s3s3s#,c#(选修表选修表) c# (s#=s1 (选修表选修表)鸡瓦藤扒径糠嗅芍危咏肇烁幅津羊吊苟痕搅威穆给罗绩泥抖握插就瞄寒莆软件设计师

54、培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20052005年年1111月上午试题月上午试题3333、3434】 在关系代数运算中,关系在关系代数运算中,关系 S S、SPSP和和R R如下表所示。若如下表所示。若先先 _(33)_ _(33)_ ,则可以从,则可以从 S S 和和 SP SP 获得获得 R R 。其对应的。其对应的关系表达式为关系表达式为 _(34)_ _(34)_ 。部门号部门号商品号商品号销售量销售量010010010202100102021050050001001001020211010202117807800100100

55、1020212010202129909900210210211020002110200580580025025025201000252010012901290035035035303110353031146804680部门号部门号部门名部门名010010家电部家电部021021百货部百货部030030食品部食品部035035五金部五金部部门名部门名商品号商品号销售量销售量家电部家电部0102021001020210500500家电部家电部0102021101020211780780家电部家电部0102021201020212990990SSPR刽岭犁乌吹略颧瞧因茬逻勋凄忧竖挺愁竭滓炳巢渝哼冈态

56、岂海种怖圭颐织软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师(33)A.(33)A.对对 S S 进行选择运算,再与进行选择运算,再与 S S 进行自然连接运算进行自然连接运算 B. B.对对 S S 进行选择运算,再与进行选择运算,再与 SP SP 进行自然连接运算,最进行自然连接运算,最 后进行投影运算后进行投影运算 C. C.对对 S S 和和 SP SP 进行笛卡尔积运算,再对运算结果进行投进行笛卡尔积运算,再对运算结果进行投 影运算影运算 D. D.分别对分别对 S S 和和 SP SP 进行投影运算,再对运算结果进行进行投影运算,再对运算结果进行 笛卡尔积运算

57、笛卡尔积运算 怔饱摇圣镍协掩坛诌符佰差周诡鸟曼何呵如惩硕租溶牺虽综皮慕佣扯勿胚软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师如下的如下的 SQL SQL 语句可以查询销售总量大于语句可以查询销售总量大于 1000 1000 的部门号。的部门号。 Select Select 部门名部门名 From S From S Where Where 部门号部门号 in in (Select (Select 部门号部门号 From SP From SP Group by _(35)_) Group by _(35)_)(35) A. (35) A. 部门号部门号 where sum(

58、where sum( 销售量销售量 )1000 )1000 B. B. 部门号部门号 having sum( having sum( 销售量销售量 )1000 )1000 C. C. 商品号商品号 where sum( where sum( 销售量销售量 )1000 )1000 D. D. 商品号商品号 having sum( having sum( 销售量销售量 )1000 )1000 们玛网谰学驶溪殷铝逃矿笑议绒技典瑰柜溉虚谈背距销寐谎嗜乌扰喳肩仔软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20062006年年5 5月上午试题月上午试

59、题4747】 设有关系设有关系R R、S S如下所示,则关系代数表达式如下所示,则关系代数表达式RSRS的结果的结果集为集为(4747) 。 RSC C吗勇郊贫柒弘煽缚夜惦异康蛀钠黍宛丝鸿吻膳甸丑捂俗拌鞠替羞拎颗媳沏软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l 关系演算关系演算 元组关系演算元组关系演算 在元组关系演算中,元组关系演算表达式简称为元组表在元组关系演算中,元组关系演算表达式简称为元组表达式,其一般形式为:达式,其一般形式为: t|P t|P(t t) 其中,其中,t t是元组变量,表示一个元数固定的元组;是元组变量,表示一个元数固定的元组;P P是是公式

60、,在数理逻辑中也称为谓词,也就是计算机语言中的条公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。件表达式。 t|P t|P(t t) 表示满足公式表示满足公式P P的所有元组的所有元组t t的集的集合。合。 冻邦肚诌头铲赎湿乘净蓉酞答比混胆拾八姨厘医焦瘁乓讯痛妄照悯叹居盔软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师在元组表达式中,公式由原子公式组成。在元组表达式中,公式由原子公式组成。 原子公式(原子公式(Atoms)有下列三种形式:)有下列三种形式: R(s) :s是是R的一个元组。的一个元组。 siuj :元组:元组 s的第的第i个分量与元组个分量与元

61、组u的第的第j个分量之间个分量之间 满足满足关系。关系。 sia或或auj:a是常量。是常量。 在定义关系演算操作时,要用到在定义关系演算操作时,要用到“自由自由” 和和“约束约束”变量概变量概念。在一个公式中,如果元组变量未用存在量词念。在一个公式中,如果元组变量未用存在量词或全称量或全称量词词 符号定义,那么称为自由元组变量,否则称为约束元组符号定义,那么称为自由元组变量,否则称为约束元组变量。变量。 除恍未观败澜菏灼夹钎缠结固蛀瞳揪云董浚污撰帆栖互约醉掷野少唤购姻软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师R1 = t | S(t)t12 例:已知关系例:已知关系

62、R R,S S,给出,给出R1-R5R1-R5五个关系的元五个关系的元组关系演算表达式。组关系演算表达式。渡线噪音锐跳赘葬粉恩乡泼脏衫艰胎钢死提迢澈岿笋法梨摊观迫胰投涤起软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师R2 = t | R(t)S(t)颠倘曝淄愿岩拒帅谜罩仓匈昂没瘴斡擞校佃捻蔚裹希驳歪拓取现勋澜粹迫软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师R3R3R3 = t |( u)()(S(t)R(u)t3u1)犁费韭宣姨苗伤撵氨晰达岳蛋长鹅若柔采武慎黔纵绪索珊墙慈妥佯坎洪夕软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师

63、R5 = t |( u)()( v)()(R(u) S(v)u1v2t1=u2t2=v3t3=u1) 屹碟咖被硼军讯牡帽丽妇纬胀泅剿薯靳训箱胖附位查挖蒋拴爵言养镑铆炸软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师关系代数表达式到元组表达式的转换:关系代数表达式到元组表达式的转换: RS 可用可用 t | R(t)S(t)表示;表示; R-S 可用可用 t | R(t)S(t) 表示;表示; RS可用可用 t |( u)()( v)()(R(u)S(v) t1=u1 t2=u2t3=u3t4=v1t5=v2 t6=v3) 表示。表示。 投影操作是投影操作是2,3(R),那么

64、元组表达式可写成:),那么元组表达式可写成: t |( u)(R(u)tl=u2t2=u3) F(R)可用)可用 t |R(t)F表示,表示,F是是F的等价表示形式。的等价表示形式。 例如例如2=d(R)可写成)可写成 t |(R(t)t2=d)。)。 韩狂获奔旺铲偷促饿彼葱咀毗秒翁垮够阉故桅恒逮击郎绵道溉祥挽技慷偶软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20052005年年5 5月上午试题月上午试题3636、3737】 某数据库中有供应商关系某数据库中有供应商关系S S和零件关系和零件关系P P,其中;供应商,其中;供应商关系模式关

65、系模式S S(SnoSno,SnameSname,SzipSzip,CityCity), ,零件关系模式零件关系模式P P(PnoPno,PnamePname,ColorColor,WeightWeight,CityCity),供应模式),供应模式SP(SnoSP(Sno,Pno, StatusPno, Status,Qty)Qty),要求一个供应商可以供应多,要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。种零件,而一种零件可由多个供应商供应。 查询供应了查询供应了“红红”色零件的供应商名、零件号和数量的色零件的供应商名、零件号和数量的元组演算表达式为:元组演算表达式为: t|

66、(t|( u)(u)( v)(v)( w)(w)( (36) (36) u1=v1v2=w1w3=u1=v1v2=w1w3=红红 (37) (37) )沂饼咋哮合抉噪枉贾拨旺长世撇捷蝎空滇续野渴堪媳纽南国露亡尽劫泌芹软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 (36) A. S(u)SP(v)P(w) (36) A. S(u)SP(v)P(w) B. SP(u)S(v)P(w) B. SP(u)S(v)P(w) C. P(u)SP(v)S(w) C. P(u)SP(v)S(w) D. S(u)P(v)SP(w) D. S(u)P(v)SP(w)(37) A.t1=u1

67、t2=w2t3=v4(37) A.t1=u1t2=w2t3=v4 B. t1=v1t2=u2t3=u4 B. t1=v1t2=u2t3=u4 C. t1=w1t2=u2t3=v4 C. t1=w1t2=u2t3=v4 D. t1=u2t2=v2t3=v4 D. t1=u2t2=v2t3=v4 斯铝圣疵缩始砌何闲蜀莉砂讯届呛赎议醚滩刻框褐粕剿宛玄真疙冉氖途紊软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师l 关系数据库关系数据库SQLSQL语言语言 SQL SQL的数据定义的数据定义 SQL SQL的数据查询的数据查询 SQL SQL的数据更新的数据更新强送苦句叠啡棵稼钎姬激

68、念猫耸赐摔额历郭察既范姑颗娩汤蕴衷序谆遵冗软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20052005年年1111月上午试题月上午试题3333、3434】 关系关系R R,S S如下图所示,元组演算表达式如下图所示,元组演算表达式t|(t|( u)u)(R(t)S(u)t3R(t)S(u)t3u1)u1)的结果为的结果为 (47) (47) 隆俄枷抓宠稽环瀑误馆慧豺臼姨嘛巴蝇铭镭殃宙梭淮椿显檀疫差占买扔枪软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师晚朝哇繁彼擞詹钱阶述挫鹊策碍袋度等低贷虐居肚紫诣炭扭意跌敷敞去抱软件

69、设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师SQLSQL的数据定义的数据定义创建表创建表 CREATE TABLE ( , , , ) 蜡燃慈宙譬机圣谦爪叁菏悯稍衣晶溯反睦钠芯材靶酶侍阳窝脉忘算收期疚软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 涉及相应属性列的完整性约束条件:涉及相应属性列的完整性约束条件: 主键约束:主键约束:PRIMARY KEYPRIMARY KEY 检查约束:检查约束:CHECKCHECK 外键约束:外键约束:FOREIGN KEYFOREIGN KEY 唯一性约束:唯一性约束: UNIQUE UNIQUE 是否为空值约束:

70、是否为空值约束: NULL / NOT NULL NULL / NOT NULL 默认值:默认值: DEFAULT DEFAULT儡嗡母秦菇挣傈琅忧奈及坊略熟凸嗡坝打贸召槐化嘴沏蓟十臭范廖作请引软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 例:使用例:使用T-SQLT-SQL语言创建语言创建Student Student 表表 Student Student(Sno , Sname, Ssex Sno , Sname, Ssex ) CREATE TABLE Student (sno CHAR(10) PRIMARY KEY , sname CHAR(8) NOT NU

71、LL UNIQUE, ssex CHAR(2) DEFAULT (男男) )糟腺离示村驰直两泞扬茁幅糟坎娥氏茂狐烘芭踢闹艰著降漏厕囊鸟算客岛软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 例:使用例:使用T-SQLT-SQL语言创建语言创建CrouseCrouse表表 Crouse Crouse (cnocno,cnamecname, credit credit ) CREATE TABLE Course ( cno char(10) PRIMARY KEY, cname char (8) NOT NULL UNIQUE, credit int )磐芋矣逾瞒番樱悔做锰芹粳

72、倔痢耕跋郊刃轴验奎时甩角纺踪慌况撮宁呆眯软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 例:使用例:使用T-SQLT-SQL语言创建语言创建SCSC表表 SC SC ( sno sno,cnocno,scorescore) CREATE TABLE SC CREATE TABLE SC ( sno CHAR(10) ( sno CHAR(10) FOREIGN KEY REFERENCES Student (sno),FOREIGN KEY REFERENCES Student (sno), cno CHAR(10) cno CHAR(10) FOREIGN KEY RE

73、FERENCES Course (cno)FOREIGN KEY REFERENCES Course (cno) , , score INT score INT CHECK (score BETWEEN 0 AND 100)CHECK (score BETWEEN 0 AND 100) , , PRIMARY KEY (sno, cno)PRIMARY KEY (sno, cno) ) )主键表名主键表名主键主键沧奠运彪笆淳臆僧吞漾孔琉社虑步锥欧逆莎濒忿槽糯鼠赣柱刹游祷栋棕弯软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 CREATE TABLE SC CREATE TA

74、BLE SC ( ( snosno CHAR(10), CHAR(10), cno cno CHAR(10), CHAR(10), score score INT, INT, PRIMARY KEY (sno, cno), PRIMARY KEY (sno, cno), FOREIGN KEY FOREIGN KEY (sno)(sno) REFERENCES Student (sno), REFERENCES Student (sno), FOREIGN KEY FOREIGN KEY (cno)(cno) REFERENCES Course (cno) , REFERENCES Cours

75、e (cno) , CHECK (score BETWEEN 0 AND 100) CHECK (score BETWEEN 0 AND 100) ) )馏宪吊呢聋捂念既池费渐攘荆锹醉诱月忿立慰泵泥喇准足财炼酒簧华化侵软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 某数据库中有供应商关系某数据库中有供应商关系S S和零件关系和零件关系P P,其中;供应商,其中;供应商关系模式关系模式S S(SnoSno,SnameSname,SzipSzip,CityCity)零件关系模式)零件关系模式P P(PnoPno,PnamePname,ColorColor,WeightWeig

76、ht,CityCity)要求一个供应)要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。商可以供应多种零件,而一种零件可由多个供应商供应。请将下面的请将下面的SQLSQL语句空缺部分补充完整。语句空缺部分补充完整。CREATE TABLE SPCREATE TABLE SP(Sno CHAR(5)Sno CHAR(5),Pno CHAR(6)Pno CHAR(6),Status CHAR(8)Status CHAR(8),Qty NUMERIC(9)Qty NUMERIC(9),_(33)_(Sno_(33)_(Sno,Pno)Pno),_(34)_(Sno)_(34)_(Sno)

77、,_(35)_(Pno)_(35)_(Pno);拿勾饰栖锦泳痹详搞非区矣馅卡麻姆夫恤粥点孤寒舱狰顾关戮池拟昆聪吨软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师供选择的答案:供选择的答案:(33)-(35) (33)-(35) A.FOREIGN KEY A.FOREIGN KEY B.PRIMARY KEY B.PRIMARY KEY C.FOREIGN KEY C.FOREIGN KEY(SnoSno)REFERENCES S REFERENCES S D.FOREIGN KEY D.FOREIGN KEY(PnoPno)PEFERENCES PPEFERENCES P

78、 (33)A (33)C (35)D (33)A (33)C (35)D据挡熙性铺贩抒露怂癣砒象蔚炕邯孺丰稳羚妨舍剥雕造覆巨石笔腋烙乓惶软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 SQL SQL的数据查询的数据查询 数据查询语句基本格式如下:数据查询语句基本格式如下: SELECT SELECT FROM FROM WHERE WHERE 泊携赊拽羊谬砒沾被扛舷滇祖峻娃斌矽瘸碱士威浦团衣猫并狭现抄厄弧讲软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师6 6个聚合函数:个聚合函数:SUM(SUM(列名列名):):求某一列的总和求某一列的总和( (此列

79、的值必须是数值型此列的值必须是数值型) )AVG(AVG(列名列名):):求某一列的平均值求某一列的平均值( (此列的值必须是数值型此列的值必须是数值型) )MIN(MIN(列名列名):):求某一列中的最小值求某一列中的最小值MAX(MAX(列名列名):):求某一列中的最大值求某一列中的最大值COUNT(COUNT(列名列名):):传回一列中的非传回一列中的非NULLNULL值的个数值的个数COUNT(*):COUNT(*):传回符合查询条件的元组的个数传回符合查询条件的元组的个数 掩纲兼拥去碾照肇眨幂洽橙顶床熟辨赡铜犯辫葛垮妖梢坟展拟琼碾梁舍旗软件设计师培训2pt课件软件设计师培训2pt课件

80、软件设计师软件设计师例:查询男生的总人数,以及他们的平均年龄。例:查询男生的总人数,以及他们的平均年龄。 SELECT SELECT COUNTCOUNT(*),(*), AVGAVG( (年龄年龄) ) FROM FROM 学生学生 WHERE WHERE 性别性别=男男拌翟蓄类租羚让撇镭哀雨国哮饶虚笛回泰雪堂犯婚吼樊垢窑讼斩懦昔福掖软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师例:查询财管例:查询财管1 1班的所有学生的英语总成绩和均分。班的所有学生的英语总成绩和均分。 SELECT SELECT SUMSUM(c1),(c1), AVGAVG(c1) (c1) FR

81、OM FROM 成绩成绩 WHERE c#=c1 WHERE c#=c1萨拢饰究榆盂乃塌屯吨冤须氏栖巾动咖独堪面佑鼎墙台撵舵壹夹脆景珍爪软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 ORDER BY子句子句对查询的结果进行排序对查询的结果进行排序 SELECT SELECT语句中可以使用语句中可以使用ORDER BYORDER BY子句对查询子句对查询的结果进行排序,带的结果进行排序,带ASCASC参数时为升序,带参数时为升序,带DESCDESC参数参数时为降序,不待任何参数时为默认方式时为降序,不待任何参数时为默认方式升序。升序。 SELECT SELECT FROM

82、 FROM WHEREWHERE ORDER BY ORDER BY ASCASC | | DESCDESC 骆故宦谱着拭砧仿瓮笛嗜华芜广侠胁农邱澈席棺嗡渗评芒刻峭昆颅僳凋陷软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师例:查询全体学生的姓名和年龄,年龄按降序排列例:查询全体学生的姓名和年龄,年龄按降序排列 显示。显示。SELECT SELECT 姓名姓名, , 年龄年龄FROM FROM 学生学生ORDER BY ORDER BY 年龄年龄 DESC DESC 任叙防幌它花暑嘛臭归樟千擞砾潜泵犀爷村懂汪馅肪扣署欧散烁隅递绽孕软件设计师培训2pt课件软件设计师培训2pt课

83、件软件设计师软件设计师GROUP BY 子句、子句、 HAVING 子句子句 按条件分类统计按条件分类统计 在在SELECT语句中可以使用语句中可以使用GROUP BY子句进子句进行分类统计。行分类统计。 GROUP BY子句可以将表达式的值相子句可以将表达式的值相同的记录归为同一组,从而进行统计。同的记录归为同一组,从而进行统计。语法格式如下语法格式如下: GROUP BY 征辉志吐桐宝泣幽蛾虹呻剃蕾郝茄钙坠使帮事幢恼周琐议卯帛爷秆疵裁蔚软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 HAVING 子句指定组或聚合的搜索条件,只能子句指定组或聚合的搜索条件,只能和和SE

84、LECT语句一起使用,通常和语句一起使用,通常和GROUP BY连用。连用。 语法格式如下:语法格式如下:HAVING 臆臣价揪调商话嘘月庙抱斤姥残袒肩兰死破确辣爱徘谣汤骡欲缝桓与起丘软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师例:查询女生每一年龄组有多少人。例:查询女生每一年龄组有多少人。 SELECT SELECT 年龄年龄, count, count(* *) FROM FROM 学生学生 WHERE WHERE 性别性别=女女 GROUP BY GROUP BY 年龄年龄润猖峦挂胃筐膊肌盛心掩沂呆本捻酥前呸掘贫带哲评瞳阵翟钡啊摆幼流谤软件设计师培训2pt课件软件

85、设计师培训2pt课件软件设计师软件设计师例:查询女生每一年龄组超过例:查询女生每一年龄组超过1010人的年龄。人的年龄。 SELECT SELECT 年龄年龄, , FROM FROM 学生学生 WHERE WHERE 性别性别=女女 GROUP BY GROUP BY 年龄年龄 HAVING COUNT(*)10 HAVING COUNT(*)10祁呼兽申林乎史予跌据谁怕狄社铸喜政叉柴录沽赐窄借铜列泼菏荐同磅刑软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师例:查询平均成绩低于例:查询平均成绩低于6060分的分的课程。课程。 SELECT SELECT 课课程号程号, A

86、VG (, AVG (成成绩绩) ) FROM FROM 成绩成绩 GROUP BY GROUP BY 课程号课程号 HAVING AVG ( HAVING AVG (成绩成绩) 60) 60唯诌樊嘶搂览哎愧肤帮偶烧哇涟蠢焕泡舔哆秦怜蔽狰栏匿宅引晕燎赵桃懂软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师例例: :下面给一个关系模式下面给一个关系模式 R R(TNAMETNAME,ADDRESSADDRESS,C#C#,CNAMECNAME) 关系模式中的属性一次表示教师姓名,教师地址,课关系模式中的属性一次表示教师姓名,教师地址,课程编号,课程名。分析该模式存在的问题程编号

87、,课程名。分析该模式存在的问题。TNAMETNAMEADDRESSADDRESSC#C#CNAMECNAMEt1t1a1a1c1c1n1n1t1t1a1a1c2c2n2n2t1t1a1a1c3c3n3n3t2t2a2a2c4c4n4n4t2t2a2a2c5c5n2n2t3t3a3a3c6c6n4n4吩甚澜灵娠索盼当威遣沃潦椿抉腾敞踞诚答福跳劣各奥巷肺歧节闯汐兆菠软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师有现实世界中的事实可知:有现实世界中的事实可知: 一个教师只有一个地址(户籍所在地);一个教师只有一个地址(户籍所在地); 一个教师可教若干门课程;一个教师可教若干门课

88、程; 每门课程只有一个教师任教。每门课程只有一个教师任教。 即:即:TNAME TNAME ADDRESSADDRESS C# C# CNAME CNAME C# C# TNAMETNAME 于是关系模式于是关系模式R R的主键是的主键是 C# C#唾岂哭掺显骂钓共唬丑临馁就亏暴钞仪馅井汁霞獭恍么舟仰帽犬雏镊涵意软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 虽然这个模式只有四个属性,但在使用过程中明显存虽然这个模式只有四个属性,但在使用过程中明显存在下列问题。在下列问题。(1)(1)数据冗余。在上述关系中,如一名教师教多门课程,数据冗余。在上述关系中,如一名教师教多门课

89、程,那么这位教师的地址就要重复多次。那么这位教师的地址就要重复多次。(2)(2)更新异常。由于数据的冗余,在数据更新时会出现问更新异常。由于数据的冗余,在数据更新时会出现问题,例如:一个教师教三门课程,在关系中就会有三个元题,例如:一个教师教三门课程,在关系中就会有三个元组,如果他的地址改变了,这三个元组中的地址都要改组,如果他的地址改变了,这三个元组中的地址都要改变,若有一个元组中的地址没有更改,就造成这个教师的变,若有一个元组中的地址没有更改,就造成这个教师的地址不惟一,产生错误的信息。地址不惟一,产生错误的信息。驴斟篡挟铲抄匝捡妆秩翰赦限牌嗓肄痢汽畦沉厢言惩拐赊渊渡梁烁仗橙模软件设计师培

90、训2pt课件软件设计师培训2pt课件软件设计师软件设计师(3)(3)插入异常。在关系方法中,每个关系必须用键值区分关系插入异常。在关系方法中,每个关系必须用键值区分关系中的不同元组。如果新增加一名教师,尚未分配教学任务,那中的不同元组。如果新增加一名教师,尚未分配教学任务,那么要存储该教师的姓名和地址到关系中去时,在属性么要存储该教师的姓名和地址到关系中去时,在属性C#C#和和CNAMECNAME上就没有值,在本例中上就没有值,在本例中C#C#是主键的一部分,键值为空的是主键的一部分,键值为空的元组违反了实体完整性约束。元组违反了实体完整性约束。(4)(4)删除异常。与插入异常相反,删除操作会

91、引起一些信息的删除异常。与插入异常相反,删除操作会引起一些信息的丢失。如一个教师原来有教学任务,目前没有安排那么要把这丢失。如一个教师原来有教学任务,目前没有安排那么要把这个教师的所有元组都要删去,这样就把这个教师的姓名和地址个教师的所有元组都要删去,这样就把这个教师的姓名和地址信息也从数据库中删去了,这也是一种不合理的现象。信息也从数据库中删去了,这也是一种不合理的现象。乘条致环弛芍僵瓤傈锡措谩萍唤眼好讽密卫然踞子象宰少搏恃曰轴竭猖捞软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 对于上述模式中存在的问题可采用分解的方法,将对于上述模式中存在的问题可采用分解的方法,将其

92、分解成两个模式:其分解成两个模式: R1 R1(TNAMETNAME,ADDRESSADDRESS) R2 R2(TNAMETNAME,C#C#,CNAMECNAME) 那么分解后的关系模式的好坏,用什么标准来衡量那么分解后的关系模式的好坏,用什么标准来衡量呢?呢? 范式:满足特定要求得关系模式。范式:满足特定要求得关系模式。竟恳叁僻就缮绪羔俱硕飘锑圆狮傍嘎灰赣门周饼筒游忙幂悸急哟沏壬酵采软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 设有关系模式设有关系模式R(U),X和和Y是属性集是属性集U的子的子集,集, r是是R任一具体关系,如果对任一具体关系,如果对r的任意两个

93、元组的任意两个元组t1和和 t2,都有,都有t1X= = t2X导致导致t1Y= = t2Y,那么称那么称X函数决定函数决定Y或或Y函数依赖函数依赖X X,记为,记为XY, XY为模式为模式R的一个的一个函数依赖函数依赖。肝枚伦励廊够谍乡磁峻濒支贯傲迸皑曙夷厦押泰锅矛锁亭醋情缚娜卒千寓软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师第一范式第一范式 如果关系模式如果关系模式R R的每个关系的每个关系r r的属性值都是不可分的原子的属性值都是不可分的原子值,那么称值,那么称R R是第一范式(是第一范式(first normal formfirst normal form,简记

94、为,简记为1NF1NF)的)的模式。模式。 满足满足1NF1NF的关系称为规范化的关系,否则称为非规范化的关的关系称为规范化的关系,否则称为非规范化的关系。关系数据库研究的关系都是规范化的关系。例如关系模式系。关系数据库研究的关系都是规范化的关系。例如关系模式R R(NAMENAME,ADDRESSADDRESS,PHONEPHONE),如果一个人有两个电话号码),如果一个人有两个电话号码(PHONEPHONE),那么在关系中至少要出现两个元组,以便存储这两),那么在关系中至少要出现两个元组,以便存储这两个号码。个号码。 1NF 1NF是关系模式应具备的最起码的条件。在建立关系数据模是关系模式

95、应具备的最起码的条件。在建立关系数据模型时,必须将非规范化形式规范化,型时,必须将非规范化形式规范化,夯岛锑伏亭坟垦先藤嚷神鲍绳诅斡恢跃召酱诫驴然谆肖猿体毅掀梗摄伺赋软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师第一范式第一范式 挖失浅诚红咏硅蠢幅又兄舜挠窘戚厂慈拍社龄炊搂邢锻越喷妮勘蕴匹殃在软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师第二范式第二范式 如果关系模式如果关系模式R R是是1NF1NF,且每个非主属性完全函数依赖,且每个非主属性完全函数依赖于候选键,那么称于候选键,那么称R R是第二范式(是第二范式(2NF2NF)模式。如果数据库)模

96、式。如果数据库模式中每个关系模式都是模式中每个关系模式都是2NF2NF,则称数据库模式为,则称数据库模式为2NF2NF的数的数据库模式。据库模式。 对于函数依赖对于函数依赖WAWA,如果存在,如果存在X X W W有有XAXA成立,那么成立,那么称称WAWA是是局部依赖局部依赖(A A局部依赖于局部依赖于W W);否则称);否则称WAWA是是完完全依赖全依赖。田讽规躺帽仑耻浚眶亢戳仆甭掳菲永捡君剂拱签豪冯臣惨所哭寐轰向辉躬软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 例:现在分析以下关系,它符合第一范式。假定职工号例:现在分析以下关系,它符合第一范式。假定职工号是每个职

97、工的唯一标识,而工资完全由级别所确定。毕是每个职工的唯一标识,而工资完全由级别所确定。毕业时间由职工号和学历确定。业时间由职工号和学历确定。 这表明:姓名、级别、工资等的取值依赖于职工号,这表明:姓名、级别、工资等的取值依赖于职工号,而毕业时间要由职工号和学历两个属性才能唯一确定。而毕业时间要由职工号和学历两个属性才能唯一确定。猾环喝亭啥耍扯环话赤贴洲峻套婆鹰爷报娘稗陷集滞氦劣谦林柯钝雍坍酶软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师那么,在这个表中各个属性之间表示的相互依赖关系如图。那么,在这个表中各个属性之间表示的相互依赖关系如图。存在(姓名,级别,工资)对(职工号

98、,学历)的局部依赖存在(姓名,级别,工资)对(职工号,学历)的局部依赖桔而反退妒缨呻唆瓦耽虚羌吾贼宙蛰鼎辛祭叶协帧司堂正扭八伦斌缎伙们软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 因此,可以拆开原来关系为以下两个关系,使之成因此,可以拆开原来关系为以下两个关系,使之成为第二范式。为第二范式。亩灾拙瞧婿膏胸翘衷贮铬摄确忌读拯稍奶蜡抠喇俯宏紊汇喷友纲浅宙鞍雇软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师第三范式第三范式 如果关系模式如果关系模式R R是是1NF1NF,且每个非主属性都不,且每个非主属性都不传递依赖于传递依赖于R R的候选键,那么称的候选

99、键,那么称R R是第三范式是第三范式(3NF3NF)的模式。如果数据库模式中每个关系模)的模式。如果数据库模式中每个关系模式都是式都是3NF3NF,则称其为,则称其为3NF3NF的数据库模式。的数据库模式。 如果如果XYXY,YAYA,且,且YXYX和和 AY AY,那么称,那么称XAXA是是传递依赖传递依赖(A A传递依赖于传递依赖于X X)。)。侄惫钞岔读痞苏骂卖堤胁超锦哟忿欠早矗窝疆慑怯寨裕彤涵拌赎钓圆吼刃软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 由以上关系可以看到实际上可能很多人的级别都是技由以上关系可以看到实际上可能很多人的级别都是技6 6级级的,那么他们

100、的工资都是的,那么他们的工资都是15001500元,如果把技元,如果把技6 6级的工资改为级的工资改为18001800元,则所有技元,则所有技6 6级的工资都要改,只要一个人改错了,级的工资都要改,只要一个人改错了,就会造成同一级工资不一样的错误。就会造成同一级工资不一样的错误。 原因就在于这些属性间存在着传递依赖关系:原因就在于这些属性间存在着传递依赖关系:职工号职工号级别,级别级别,级别工资工资 从而使:职工号从而使:职工号级别级别工资工资 卫跌潦阐拧楔窃冻嘴氓刻巩晨羽钳屿穿羡包羌步恰兆坟弯盖咀醇逮勋贫酒软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 进一步的规范化就

101、是要消去非主属性对主关键字的传递进一步的规范化就是要消去非主属性对主关键字的传递依赖性,变为第三范式。依赖性,变为第三范式。 现在只要把第二范式的关系恰当拆开为几个关系即可达现在只要把第二范式的关系恰当拆开为几个关系即可达目的。目的。饼讽暂遏绘薪饮募汀篮坛厕便蚀处趴休镊禹三笔博一腔噎败惧李砸系助畏软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20042004年年1111月上午试题月上午试题4545、4646】 建立一个供应商、零件数据库。其中建立一个供应商、零件数据库。其中“供应商供应商”表表S S(SnoSno,SnameSname,Z

102、ipZip,CityCity)分别表示:供应商代码、供)分别表示:供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为:应商名、供应商邮编、供应商所在城市,其函数依赖为:SnoSno(SnameSname,ZipZip,City City ),),ZipCityZipCity。“供应商供应商”表表S S属于属于 (5353) 。 (5353)A. 1NFA. 1NF B. 2NFB. 2NF C. 3NF C. 3NFD. BCNFD. BCNFB B饼漆温拱劳噶旷摩盐谱展皆贬凛梳洒卯乡雅图婚翠榨节迹劲淑丸省施召缅软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师数

103、据库模式设计原则数据库模式设计原则 : : 关系模式关系模式R R相对于函数依赖集分解成数据库模式相对于函数依赖集分解成数据库模式=R=R1 1,R R2 2,。R Rk k ,一般应具有下面四项特性。,一般应具有下面四项特性。(1) (1) 中每个关系模式中每个关系模式 上应有某种分时性质(上应有某种分时性质(3NF3NF或或 BCNF BCNF)(2)(2)无损联接。无损联接。(3)(3)保持函数的依赖集。保持函数的依赖集。耽孜握发翰拽拥秆导大仗烈窒摹低惋詹吟轻巡挪挡钎吏峡赘次吝撬藕辈与软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师无损联接无损联接 设设R R是一个关

104、系模式,是一个关系模式,F F是是R R上的一个函数依赖上的一个函数依赖集。集。R R分解成数据库模式分解成数据库模式= R R1 1,R Rk k 。如果对如果对R R中满足中满足F F的每一个关系的每一个关系r r,都有,都有 r= r=R R1 1(r r) R R2 2(r r) R Rk k(r r) 那么称分解那么称分解相对于相对于F F是是“无损联接分解无损联接分解” ” 简称简称为为“无损分解无损分解”,否则称为,否则称为“损失分解损失分解”。庐滇交运馒借几征曹胳猛烫痛疆嫡盗剂退藻叛姥谐滇纠嫩盖支箭吝债臻荐软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师无损

105、联接测试:无损联接测试: 设设= R R1 1,R R2 2 是关系模式是关系模式R R的一个分的一个分解,解,F F是是R R上成立的上成立的FDFD集,那么分解集,那么分解相对于相对于F F是无损分解的充分必要条件是:是无损分解的充分必要条件是: (R R1 1RR2 2)(R R1 1R R2 2)或或 (R R1 1RR2 2)(R R2 2R R1 1)。)。晓聋奈卓翅奎恃讥隐裳炬糠辩肮掀禽铬喇古肖沈蓟丝槛锦基惦钮瘸蚤骆柒软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师保持函数的依赖集保持函数的依赖集 保持关系模式一个分解是等价的另一个重要条保持关系模式一个分解是

106、等价的另一个重要条件是关系模式的函数依赖集在分解后仍在数据库模件是关系模式的函数依赖集在分解后仍在数据库模式中保持不变。式中保持不变。 设设= R1 R1,Rk Rk 是是R R的一个分解,的一个分解,F F是是R R上的函数依赖,如果有上的函数依赖,如果有 RiRi(F F)=F=F,那么称分,那么称分解解保持函数依赖集保持函数依赖集F F。寸伍幢型焚酉俩其联贼窜那铰钮楼契稼恩圃斜稠斡驭纫沙矫堰峭孤犁设艾软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20042004年年1111月上午试题月上午试题4545、4646】 关系模式关系模式R

107、 R(U U,F F),其中),其中U UW,X,Y,Z,F=WXY,WX, W,X,Y,Z,F=WXY,WX, XZ,YWXZ,YW。关系模式。关系模式R R的候选建是的候选建是 (45) (45) 、 (46) (46) 是无损是无损连接并保持函数依赖的分解。连接并保持函数依赖的分解。(4545)A.WA.W和和Y YB. WYB. WYC.WXC.WXD.WZD.WZ(4646)A.p=R1(WY),R2(XZ)A.p=R1(WY),R2(XZ) B.p=R1(WZ),R2(XY) B.p=R1(WZ),R2(XY)C.p=R1(WXY),R2(XZ)C.p=R1(WXY),R2(XZ)

108、 D.p=R1(WX),R2(YZ) D.p=R1(WX),R2(YZ) A AC C议漓惦超祸笛呆浊雄弃曙惹邹旺颂胚挎煌教醚尽潭饱惭歌契诡绚叠惺铂令软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师U UW,X,Y,Z,F=WXY,WX, XZ,YWW,X,Y,Z,F=WXY,WX, XZ,YW求属性集求属性集U U关于函数依赖关于函数依赖F F的属性闭包的属性闭包U U+ +。 设设 W W+ +=W=W 找到左边被找到左边被W W包含的函数依赖关系:包含的函数依赖关系:WXWX, 将将 W W+ += W= WX =WXX =WX 同理:找到左边被同理:找到左边被WXWX包含的函数依赖关系:包含的函数依赖关系:WXY, XZWXY, XZ 将将 W W+ += WX= WXY YZ =WXYZZ =WXYZ 所以所以W W+ +=WXYZ=WXYZ,即,即W W能决定多有的属性,能决定多有的属性,W W为候选键为候选键课的窍绰单禽磁绝鹊西攒磷庸嚼嗓路契颜这浙食尾赋澡润叙狙早苍美惰泰软件设计师培训2pt课件软件设计师培训2pt课件软件设计师软件设计师U UW,X,Y,Z,F=WXY,WX, XZ,YWW,X,Y,Z,F=WXY,WX, XZ,YW锹车澎镑互恒腋踞街惕岗谣砖哪肛捧眠球淬疙吁凭撼屿缝字柄育盲顾卉题软件设计师培训2pt课件软件设计师培训2pt课件

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

最新文档


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

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