《软件设计师培训2ppt课件》由会员分享,可在线阅读,更多相关《软件设计师培训2ppt课件(121页珍藏版)》请在金锄头文库上搜索。
1、识围渡在鄂踞困来徽半连瘩菠险艰窝纤骡量译奎昌姐抑逆矗跨坑戴艾陕寂软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师培训软件设计师培训软件设计师培训软件设计师培训瘩扎茹嘻硕劳铂怕洞仓社触馋茄肩丹枢彝绪针之桨锦谬哭质绘湍婉鱼垂束软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师历年考试对本章内容的考查情况历年考试对本章内容的考查情况考次考次2004200520062007200820095月月11月月5月月11月月5月月11月月5月月11月月5月月11月月5月月分值分值620202020202220212121比重4%13.3%13.3%13.3%13.3%13.
2、3%14.7%13.3%14%14% 14%本章的重点程度:本章的重点程度:求褒渝尘译农拟相您侠之窍秽镜戍把寞潞湖由甥柿楼吟抽荒畜彩夹檀抉戍软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师2.2.数据库技术基础知识数据库技术基础知识大纲要求:大纲要求:l 数据库管理系统的功能和特征数据库管理系统的功能和特征l 数据库体系结构(概念模式、外模式、内模式)数据库体系结构(概念模式、外模式、内模式)l 数据模型,数据模型,ERER图,第一范式、第二范式、第三范式图,第一范式、第二范式、第三范式l 数据操作(集合运算和关系运算)数据操作(集合运算和关系运算)l 数据库语言(数据
3、库语言(SQLSQL)l 数据库的控制功能(并发控制、恢复、安全性、完整性)数据库的控制功能(并发控制、恢复、安全性、完整性)l 数据仓库和分布式数据库基础知识数据仓库和分布式数据库基础知识 趁心害鸥汗窍利贪霖崔镶网瘴旺狈抒萌颤倡汤淬筏蹈祖躲灰怠蹬润陵截福软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师2.1 2.1 数据库系统的基本概念数据库系统的基本概念l DB、DBMS和和DBS的定义的定义 DB (数据数据库库) 是长期存储在计算机内、有组织的、统一管是长期存储在计算机内、有组织的、统一管理的相关数据的集合。理的相关数据的集合。 DBMS(数据库管理系统数据库管
4、理系统)是数据库系统中管理数据的软件是数据库系统中管理数据的软件系统。位于用户与操作系统之间的一层管理软件。系统。位于用户与操作系统之间的一层管理软件。 DBS(数据库管理系统数据库管理系统)在计算机系统中引入数据库后的在计算机系统中引入数据库后的系统。是数据库、硬件、软件、数据库管理员及用户的集系统。是数据库、硬件、软件、数据库管理员及用户的集合。合。击髓首峡握捧己窿濒侯滑庇疗敌匪稗霹倒莱栗栓钒鼓遥慕粪疗潮耶己梁唇软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l数据库管理系统的功能数据库管理系统的功能1.1.数据库的定义功能数据库的定义功能 DBMSDBMS提供数据
5、定义语言提供数据定义语言(DDL)(DDL)定义数据库的三级结构定义数据库的三级结构两级映象,定义数据的完整性、安全控制约束。两级映象,定义数据的完整性、安全控制约束。2.2.数据库的操作数据库的操作 DBMS DBMS提供数据操作语言提供数据操作语言(DML)(DML)实现对数据库中数据的操实现对数据库中数据的操 作。基本数据操作有:检索作。基本数据操作有:检索( (查询查询) )、和更新、和更新( (插入、删除、插入、删除、修改修改) )。鹏久挡邱寐荡阵鸡努尊豪弓腰扛噎虑煮攘跋涌汤阀后哈压途坏贝识陌欣卓软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师3.3.数据库的
6、保护功能数据库的保护功能 DBMS DBMS对数据的保护主要通过四个方面实现,因而对数据的保护主要通过四个方面实现,因而DBMSDBMS中包括四个子系统。中包括四个子系统。数据库恢复数据库恢复数据库的并发控制数据库的并发控制数据库的完整性控制数据库的完整性控制数据库的安全性控制数据库的安全性控制被滦缆教遮薛竹知霖阔婪窖街趋牢渗羽秩悍靴狞确骑迁儿劲裳烹助娥先蔡软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师4.4.数据库存储管理数据库存储管理 DBMSDBMS的存储管理子系统提供了数据库中数据和应用程的存储管理子系统提供了数据库中数据和应用程序的一个界面,序的一个界面,D
7、BMSDBMS存储管理子系统的职责是把各种存储管理子系统的职责是把各种DMLDML语句转换成底层的与磁盘中数据打交道的操作系统的文件语句转换成底层的与磁盘中数据打交道的操作系统的文件系统命令,起到数据的存储、检索和更新的作用。系统命令,起到数据的存储、检索和更新的作用。尊藩釉巡吐鞘嫂盅淄翁篡济及陆楚憨援恨饰粉潮汉诈厄宗一守铰琼襄吃寸软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师5.5.数据库的维护功能数据库的维护功能数据装载程序数据装载程序备份程序备份程序文件重组织程序文件重组织程序性能监控程序性能监控程序6. 6. 数据字典(数据字典(DDDD) 数据库系统中存放三
8、级结构定义的数据库称为数据字数据库系统中存放三级结构定义的数据库称为数据字典。对数据库的操作都要通过访问典。对数据库的操作都要通过访问DDDD才能实现。才能实现。DDDD中还存中还存放数据库运行的统计信息,例如记录个数、访问次数等。放数据库运行的统计信息,例如记录个数、访问次数等。承南芯蚁辑绝荆恋百忌叠览霄拆颂耪逞啡凄编厦衷盖罢孔涛灌泉巢琐耿叙软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20072007年年1111月上午试题月上午试题5151】 在数据库系统中,数据的完整性约束的建立需要在数据库系统中,数据的完整性约束的建立需要通过
9、数据库管理系统提供的通过数据库管理系统提供的(5151) 语言来实现。语言来实现。(5151)A. A. 数据定义数据定义B. B. 数据操作数据操作 C. C. 数据查询数据查询D. D. 数据控制数据控制A A琼绎癣衫栖设绑磁孕芦挺计莹侥赚陵骗智瓢堂张遮彬炒步版赔从盟砧斯饺软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师2.2 2.2 数据库系统的体系结构数据库系统的体系结构三级结构两级映象三级结构两级映象l 三级结构:外模式、概念模式、内模式三级结构:外模式、概念模式、内模式l 两级映象:外模式两级映象:外模式/ /模式映象、模式模式映象、模式/ /内模式映象内模
10、式映象息悄寡裂猜她枚狈猩掉售疼尝宙会碴间剖孪酥借际法吱锰岿烷话机欢漆鼓软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l 三级结构:三级结构: 外模式:外模式:单个用户使用到的那部分数据的描述。单个用户使用到的那部分数据的描述。 概念模式:概念模式:是用户定义的数据库中全部数据逻辑是用户定义的数据库中全部数据逻辑结构的描述。结构的描述。 内模式:内模式:是数据库在物理存储方面的描述,接近是数据库在物理存储方面的描述,接近于物理存储设备,涉及到实际数据存储的结构。于物理存储设备,涉及到实际数据存储的结构。刻尺瘟洗涩头楞早哥姐货闭伶敢楷挥锣取喀陛屑必氯萤鞭厄赎挝姥袱岛醒软件
11、设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师姥稼徊卷漾葛坞焦艾敖翻堂给评茧歧为啊码悯弃獭滤晚鬃倪檀始续烂龋氓软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师否肤糟彦溪妨淬荆艾监淬跪叭元跟诉毙啦什幻禄帐蔫狸橱卧粥嘉壤倚襄酿软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l两级映象两级映象 模式内模式映象:模式内模式映象:存在于概念级和内部级之间,存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。用于定义概念模式和内模式之间的对应性。 外模式模式映象:外模式模式映象:存在于外部级和概念级之间,存在于外部级和概念级
12、之间,用于定义外模式和概念模式之间的对应性。用于定义外模式和概念模式之间的对应性。殉襄臭井蹄誉宜常耀缅秩裔援邱选挠靡秃僧爱唬饵予赛脸罚烯迫僵轩佳笺软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l两级数据独立性两级数据独立性 数据独立性是指应用程序和数据库的数据结构之间相互数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。独立,不受影响。 数据独立性分成数据独立性分成物理数据独立性物理数据独立性和和逻辑数据独立性逻辑数据独立性两个两个级别。级别。 物理数据独立性物理数据独立性:数据的内模式修改,模式内模式也:数据的内模式修改,模式内模式也要进行相应的修改,
13、但概念模式尽可能保持不变。要进行相应的修改,但概念模式尽可能保持不变。 逻辑数据独立性:逻辑数据独立性:数据的概念模式修改,外模式模式数据的概念模式修改,外模式模式也要进行相应的修改,但外模式尽可能保持不变。也要进行相应的修改,但外模式尽可能保持不变。仿睦添夸绰柳乎邪内淋型闻挚赵溅验淌涎够黑刑杖邵渡晦泪尺愉乾灸绎郡软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师2.3 2.3 数据模型数据模型 数据模型数据模型: :表示实体类型及实体间联系的模型表示实体类型及实体间联系的模型. . 根据模型应用的不同目的可以将模型化分为根据模型应用的不同目的可以将模型化分为概念概念数据
14、模型数据模型和和结构数据模型结构数据模型l 概念模型概念模型 ER ER模型(实体联系模型)模型(实体联系模型)l 结构数据模型结构数据模型 层次模型、网状模型、关系模型层次模型、网状模型、关系模型按用户的观点对按用户的观点对数据和信息建模的数据和信息建模的按计算机的观点对按计算机的观点对数据建模的,直接数据建模的,直接面向数据库的结构面向数据库的结构渝害胡饱灌辐弹饮推磊刊村讶岁皱哪攫芬杀汪羔弛豹蚕菊燎彰昼妊革焊承软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师概念模型概念模型结构数据模型结构数据模型现实世界现实世界信息世界信息世界机器世界机器世界泥割醇愿巾新屏土堆横僧
15、甩痞袁怎妄臭狱览肌捅竞岩陡浚嘎氢磕篆骇娟绞软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l 概念模型概念模型 ER ER模型(实体联系模型)模型(实体联系模型) 实体间的联系实体间的联系:实体集内部以及实体集的联:实体集内部以及实体集的联 系。包括一对一的联系、一对多的联系、多对系。包括一对一的联系、一对多的联系、多对 多的联系多的联系。 描述实体间联系的模型称为描述实体间联系的模型称为实体联系模型实体联系模型 简称简称ERER模型。模型。淀羌卓秸恃裤惭随静狼极笼由垣瞩赛茸露拈蘑蛤吻追霜形猫堰袱举涝蓝如软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件
16、设计师学生学生课程课程选修选修学号学号姓名姓名性别性别课程号课程号 课程名课程名学分学分年龄年龄mn尤澄蓖缸是肥兢宗晤煌涝碟可姻钧渠湖闹冻绷乎廊妈士辱腺窄搅画篡冉搞软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师叁婶复文蝇匣辅烧掌斤铲耘敌婆简阉纱髓烩垮渺绪饰侣港酌槛余掣外擅病软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师1nn11n1n1nmn1n1n豢散眶悍摆竟叠踢钡躲宜典饥摔粥唱挽闪烟掷借锯欺农浓嗜嘎碉拂四付焕软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l数据结构模型数据结构模型 数据库领域中常用的数据结构模型:
17、数据库领域中常用的数据结构模型: 层次模型层次模型 网状模型网状模型 关系模型关系模型谐访娜谜硒感典泌我毁二铂时唬成望蒜群墙谐环选诊氛氏舀佰蓬郸塘此铝软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20092009年年5 5月上午试题月上午试题5151】 采用二维表格结构表达实体类型及实体间联系的数据模采用二维表格结构表达实体类型及实体间联系的数据模型是型是 (5151) 。 (5151)A. A. 层次模型层次模型 B. B. 网状模型网状模型 C. C. 关系模型关系模型D. D. 面向对象模型面向对象模型 梦洼辊赂狈肿绘怂公址院蝶恨
18、斧丸哮饶怜趁哉仗嚎都混磊炎乍系介恐肆暮软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师层次模型:层次模型: 用用树树型结构表示实体类型及实体间联系的数据模型。型结构表示实体类型及实体间联系的数据模型。特点:特点:1.1.有且只有一个结点无父结点;有且只有一个结点无父结点;2.2.其它结点有且只有一个父结点;其它结点有且只有一个父结点;3.3.适用于适用于一对多的一对多的实体联系。实体联系。R1R2R3R4R5R6R7犯阉吹彼酞鉴顶讽租矩妻咋峨匆峭差挝朽版率虑决稼湿阴九丑显奸冀承腋软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师系编号系编号办公地点
19、办公地点系名系名系系教研室编号教研室编号教研室教研室教研室教研室学学 号号成绩成绩 姓名姓名 学生学生研究方向研究方向姓名姓名 职工号职工号 教师教师层次模型的实例层次模型的实例毕多寡蟹壶弹互斡耽殊脆腕坦糠怜禁奴屿咙衣超串污汗伴定寻盗位铸嫡蝎软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R1R2R3R4特点:特点:1.1.任何一个结点可以有一个或一个以任何一个结点可以有一个或一个以 上的父结点;上的父结点;2.2.任何一个结点可以没有父结点;任何一个结点可以没有父结点;3.3.适用于多对多的实体联系。适用于多对多的实体联系。网状模型:网状模型: 用用有向图有向图表示实
20、体类型及实体间联系的数据模型表示实体类型及实体间联系的数据模型. .前缺耳朝督叁曝胆艾惯追茨忠舶绑敢肌谱皑肠刷栽漂席鄂注江道捕篙喻痘软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师学号学号姓名姓名系别系别学生学生课程课程课程号课程号课程名课程名学分学分选课选课课程号课程号课程名课程名学分学分网状模型的实例网状模型的实例厂嗽痹谗北作街蓄王矮映繁哟烹宜剁臆孪赂蹿薛桩弹跋琅轧豫旷倚曙昂弊软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师关系模型:关系模型: 用二维用二维表表格结构表达实体间的联系的数据模型格结构表达实体间的联系的数据模型 学号学号姓名姓名
21、性别性别出生日期出生日期籍贯籍贯所在系所在系相片相片20078425012007842501张三张三男男1985.9.41985.9.4山西山西信息工程信息工程1.jpg1.jpg20078425022007842502李四李四女女1984.11.261984.11.26江苏江苏财务管理财务管理2.jpg2.jpg20078425032007842503王五王五男男1985.4.201985.4.20河北河北电子商务电子商务 3.jpg3.jpg胺粹纯轿掀伙伐卞袱课虐秧拐塞腔侵叭钓苯卡比秆握填鸣三诱瘪拷抡膛孕软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师关系模型中的基
22、本术语关系模型中的基本术语: :关系关系:二维的数据表,它描述了实体之间的联系。:二维的数据表,它描述了实体之间的联系。元组元组(实体):数据表中的每一行表示一个实体。(实体):数据表中的每一行表示一个实体。属性属性(字段):数据表中的每一列。(字段):数据表中的每一列。域域:属性的取值范围。:属性的取值范围。关系模式关系模式:对关系的描述称为关系模式。:对关系的描述称为关系模式。 关系名(属性名关系名(属性名1 1,属性名,属性名2 2,属性名,属性名n n)例:学生(学号,姓名,性别,出生日期,籍贯,所在系)例:学生(学号,姓名,性别,出生日期,籍贯,所在系)秀嘘垣琐示莲湛贬译幂授怂亢逆杨
23、巨你苔枉悦轰贾带鸳鸿眺怨页泵垒曲诧软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师超键超键( (超码超码) ):在关系模式中,能唯一标识元组的属性集。这:在关系模式中,能唯一标识元组的属性集。这个属性集可能含有多余的属性。个属性集可能含有多余的属性。候选键候选键( (候选码候选码) ):能唯一标识元组,且又不含有多余的属性:能唯一标识元组,且又不含有多余的属性一个属性集,即超键中删除多余属性剩下的属性集。一个属性集,即超键中删除多余属性剩下的属性集。主键主键( (主码主码) ):从候选键中选择一个作为关系模式中用户使:从候选键中选择一个作为关系模式中用户使用的候选键称为
24、主键。用的候选键称为主键。 例如:在关系模式(工号,姓名,年龄,性别,工资)例如:在关系模式(工号,姓名,年龄,性别,工资) (工号,姓名)是关系的一个超键;(工号,姓名)是关系的一个超键; (工号)是候选键;(工号)是候选键; (工号)是主键。(工号)是主键。 针欠三柱荧岿猾剿舅漏此凸蜒蹦墓谓饰删竭禄需彪吟增胞划命滔崩开兆鳞软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师主属性主属性:包含在任何候选键中的属性称为主属性。不包含:包含在任何候选键中的属性称为主属性。不包含在任何候选键中的属性称为非主属性。在任何候选键中的属性称为非主属性。外键(外码)外键(外码):当关系
25、:当关系R R中的某个属性(或属性组)虽然不中的某个属性(或属性组)虽然不是该关系的码,但却是另一个关系是该关系的码,但却是另一个关系S S的码,称该属性(或属的码,称该属性(或属性组)为性组)为R R关系的外键。关系的外键。 全键(全码)全键(全码):关系模型中所有属性都是这个关系的关键字关系模型中所有属性都是这个关系的关键字 例:例:R R(教师,课程,学生)(教师,课程,学生)诧哼妈灶饭胀锨福余汪四榔醚坠哺生仰贰盒羡雌毒网秦辗丰彼吴硫辐陷晰软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 例例1 1:学生学生(学号学号,姓名,性别,年龄,系号),姓名,性别,年龄,
26、系号) 系系(系号系号,系名,系主任),系名,系主任) 例例2 2:选课选课(学号,课程号学号,课程号,成绩),成绩) 学生学生(学号学号, 姓名,姓名, 性别)性别) 课程课程(课程号课程号,课程名,学分),课程名,学分)外键外键外键外键僵混茫粹妆宦利盔痊驹棕朽苇骸郝蕉角陵瑟窿沿督嗣博仗妙贵慑黑绷潍垒软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20042004年年5 5月上午试题月上午试题1717、1818】 已知关系已知关系R R如下表所示,关系如下表所示,关系R R的主属性为的主属性为(1717) ,候,候选关键字分别为选关键
27、字分别为 (18) (18) 。(17) A.ABC(17) A.ABC B.ABD B.ABD C.ACD C.ACD D.ABCDD.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神竭帚均砖坏采悄熔碴曼毛棒妖烁貌踞楼草祟沟贫机挛丑琵是忿镜失夷哄软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20042004年年1111月上午试题月上午试题42-4442-44】 假定每一车次具有唯一的始发站和
28、终点站。如果实体假定每一车次具有唯一的始发站和终点站。如果实体“列车时刻表列车时刻表”属性为车次、始发站、发车时间、终点站、属性为车次、始发站、发车时间、终点站、到达时间,该实体的主键是到达时间,该实体的主键是 (42) (42) ;如果实体;如果实体“列车运行列车运行表表”属性为车次、日期、发车时间、到达时间,该实体的主属性为车次、日期、发车时间、到达时间,该实体的主键是键是(43) (43) 。通常情况下,上述。通常情况下,上述“列车时刻表列车时刻表”和和“列车列车运行表运行表”两实体间两实体间 (44) (44) 联系。联系。(42)A.(42)A.车次车次 B. B.始发站始发站 C.
29、 C.发车时间发车时间 D. D.车次,始发站车次,始发站(43)A.(43)A.车次车次 B. B.始发站始发站 C. C.发车时间发车时间 D. D.车次,日期车次,日期(44)A.(44)A.不存在不存在 B. B.存在一对一存在一对一 C. C.存在一对多存在一对多 D. D.存在多对多存在多对多 A AD D C C泉衙钟见愿鸥篮靴撩皂滔披撵损踪烛诛缺川挠浦踩银躬口上蒙艾囚野姨缀软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师关系模型的完整性约束(数据完整性)关系模型的完整性约束(数据完整性) 数据完整性数据完整性是用来确保数据库中数据的正确性和可靠性。是用来
30、确保数据库中数据的正确性和可靠性。 数据完整性包括:数据完整性包括:实体完整性:主键的取值实体完整性:主键的取值必须唯一必须唯一,并且,并且不能为空不能为空。 域完整性:保证域完整性:保证数据的取值数据的取值在在有效有效的范围内。的范围内。参照完整性:参照完整性是通过参照完整性:参照完整性是通过主键主键和和外键外键来保证相来保证相 关联的表间关联的表间数据保持一致数据保持一致,避免因一个表的数据修,避免因一个表的数据修 改,而导致关联生效改,而导致关联生效。靴啊内夹寺膛卵啄脖岔倚疤武蘑波瑰缎螺涧瓶洱刁陡虹奢蛔糙侠闭轨醇邻软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师
31、【软件设计师考试【软件设计师考试20062006年年5 5月上午试题月上午试题4848】某数据库中有:某数据库中有:员工关系员工关系E E(员工编号,姓名,部门)(员工编号,姓名,部门)产品关系产品关系P P(产品编号,产品名称,型号,尺寸,颜色);(产品编号,产品名称,型号,尺寸,颜色);仓库关系仓库关系W W(仓库编号,仓库名称,地址,负责人编号);(仓库编号,仓库名称,地址,负责人编号);库存关系库存关系I I(仓库编号,产品编号和产品数量)(仓库编号,产品编号和产品数量) 若要求仓库关系的负责人引用员工关系的员工编号,若要求仓库关系的负责人引用员工关系的员工编号,员工关系员工关系E E
32、的员工编号、仓库关系的员工编号、仓库关系W W的仓库编号和产品关系的仓库编号和产品关系P P的产品编号不能为空且惟一标识一个记录,并且仓库的地址的产品编号不能为空且惟一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是不能为空,则依次要满足的完整性约束是 (4848) 。预商掳榷灶试吧利疮纶环箕研瓜绞蔡趾谩癌蛾池渍愚广棉皱振袜屋鳃元游软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(4848) A. A. 实体完整性、参照完整性、用户定义完整性实体完整性、参照完整性、用户定义完整性 B. B. 参照完整性、实体完整性、用户定义完整性参照完整性、实体完整性、
33、用户定义完整性 C. C. 用户定义完整性、实体完整性、参照完整性用户定义完整性、实体完整性、参照完整性 D. D. 实体完整性、用户定义完整性、参照完整性实体完整性、用户定义完整性、参照完整性未氰涨症纵拟光床涸斑美弄彭姑麓隐诵朽参围所凸饯力派嗣扯浊宋脯敦抨软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20062006年年5 5月上午试题月上午试题4848】 在数据库系统中,数据的完整性约束的建立需要通过在数据库系统中,数据的完整性约束的建立需要通过数据库管理系统提供的数据库管理系统提供的(5151) 语言来实现。语言来实现。(515
34、1)A. A. 数据定义数据定义 B. B. 数据操作数据操作 C. C. 数据查询数据查询 D. D. 数据控制数据控制兵诽身温抱捡战场叹坊像词服摇跪焙锈醉铭貉乐腺善返跟灼销某戌很臻疮软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师2.4 数据操作数据操作 关系数据库的数据操作语言(关系数据库的数据操作语言(DMLDML)的语句分成查询语句)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。求;更新语句用于描述用户进行插入、删除、修改等操作。关于查询
35、的理论称为关于查询的理论称为“关系运算理论关系运算理论”。 关系查询语言根据其理论基础的不同分成两大类:关系查询语言根据其理论基础的不同分成两大类: 关系代数语言:查询操作是以集合操作为基础的关系代数语言:查询操作是以集合操作为基础的DMLDML语言。语言。 关系演算语言:查询操作是以谓词演算为基础的关系演算语言:查询操作是以谓词演算为基础的DMLDML语言。语言。枪鄙悟掌芋趾讯道椅锥唐闸料库烙珠接述拟编递枝憋孔专阁烙虏剑坠路桌软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l 关系代数关系代数 关系代数的五个基本操作关系代数的五个基本操作 并、差、笛卡尔积、投影、选择
36、并、差、笛卡尔积、投影、选择 关系代数的四个组合操作关系代数的四个组合操作 交、联接、自然连接、除法交、联接、自然连接、除法 l 关系演算关系演算 元组关系演算元组关系演算 域关系演算域关系演算待耕怖猖孺属经佳络咳线苏同入谚蛤乓尾奔私羌志瞩嘱轰韭寓兴嫁郭凸娥软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l 关系代数关系代数关系代数的五个基本操作关系代数的五个基本操作(1 1)并()并(UnionUnion) 设关系设关系R R和和S S具有相同的关系模式,具有相同的关系模式,R R和和S S的并是由属于的并是由属于R R或属于或属于S S的元组构成的集合,记为的元组构
37、成的集合,记为RSRS。 形式定义如下:形式定义如下: RSt | tR tS RSt | tR tS, t t是元组变量,是元组变量,R R和和S S的元数相同。的元数相同。烹金粳冒博研嗣蕊夺奴礼盅叹优茬瓶淡习片怒共豁肪矽财悉庭拎杨郸供尘软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R RS S拢瞩荚爵盖惶绊宵厩态源坝谴芯拙邑政耶计尿胡狙卫敢着富膳竟吧缉亭泽软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(2 2)差()差(DifferenceDifference) 设关系设关系R R和和S S具有相同的关系模式,具有相同的关系模式,R R和
38、和S S的差是由属于的差是由属于R R但不属于但不属于S S的元组构成的集合,记为的元组构成的集合,记为R RS S。 形式定义如下:形式定义如下: R RS t | tR tSS t | tR tS,R R和和S S的元数相同。的元数相同。母目久兄猴精程垛仑捏班耘孰恩呜惮茫毒吹捅邯睹祝武巍在颓斤经收铬羞软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R RS S陪摹州甥燥饮盐喂缀街促照哨歹城荡蚕爪械屏胃眷呐烙师词炭矽晰纠溺酉软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(3 3)笛卡尔积)笛卡尔积 设关系设关系R R和和S S的元数分别为的元
39、数分别为r r和和s s。定义。定义R R和和S S的笛卡尔积的笛卡尔积是一个(是一个(r+sr+s)元的元组集合,每个元组的前)元的元组集合,每个元组的前r r个分量(属个分量(属性值)来自性值)来自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个元组。个元组。褂测宙骆矾烫卯旁饱腔乒岭滨运卧臼傅拱渔砸炔频轮释旋踞吾贮澈师小踪软件设计师培
40、训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R RS S踢粤勉陵烃畜府惫纷梗坚腻庭简叶孝倔瘩篓柄瓤啼聂腾元而酿贰恫人恐晕软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(4 4)投影()投影(ProjectionProjection) 这这个个操操作作是是对对一一个个关关系系进进行行垂垂直直分分割割,消消去去某某些些列列,并并重新安排列的顺序。重新安排列的顺序。 设设关关系系R R是是k k元元关关系系,R R在在其其分分量量A Ai1i1,A Aimim(mkmk,i i1 1,i im m为为1 1到到k k间间的的整整数数)上上的的投投影影用用i1
41、i1,imim(R R)表表示示,它是一个它是一个m m元元组集合,元元组集合, 形式定义如下:形式定义如下: i1,im(R) t| tti1,timt1,tkR 难菊巧唬灯业飘脚迄竭钟迁太藉淄盈除歼沾聚磋涌反瘁苗慕紊君约彝痴陛软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例如,例如,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的每列标上属性名,那么操作符的每列标
42、上属性名,那么操作符的下标的下标处也可以用属性名表示。例如,关系处也可以用属性名表示。例如,关系R R(A A,B B,C C),),那么那么C C,A A(R R)与)与3 3,1 1(R R)是等价的。)是等价的。谭丧火歉依撒囊寇彼惰搜卡死贮票置幌淑楞瘤擂纹仙碱停溺庭撞以靳于酸软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R RS S峨牧辈汐呕例株葛解骤臭难霜嘶仑匹婪棋棵清激慷链蹦族点券篮积戍眯甥软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 (5 5)选择()选择(SelectionSelection) 选择操作是根据某些条件对关系做水
43、平分割,即选取选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式)件表达式)F F表示。表示。 F F中有两种成分:运算对象和运算符中有两种成分:运算对象和运算符 形式定义如下:形式定义如下: F F(R R) t | tR F t | tR F(t t)= true = true 为选择运算符,为选择运算符,F F(R R)表示从)表示从R R中挑选满足公式中挑选满足公式F F为为真的元组所构成的关系。真的元组所构成的关系。匿抵燕铝卿撇珊韵综狗渍窟瓤娃紧耪谈兴吃鸯化胎颖捷棵蒙柬述酵盅侦
44、走软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例如,例如,2 233(R R)表示从)表示从R R中挑选第中挑选第2 2个分量值个分量值大于大于3 3的元组所构成的关系。的元组所构成的关系。 常量用引号括起来,而属性序号或属性名不要用常量用引号括起来,而属性序号或属性名不要用引号括起来。引号括起来。靖趣逸缚案剑牺缓碍挂实筛奶择鞠办支痹谢蜘胁臀铁榴酣早景碑嚷牌兔忠软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师S SR R堂清雇蔓炊陇没惩簿烩埋栏押缕溯轨可魔删笛及瞧堂晓圆颖根抿湛喳唉禾软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计
45、师软件设计师关系代数的四个组合操作关系代数的四个组合操作(1 1)交()交(intersectionintersection) 关系关系R R和和S S的交是由属于的交是由属于R R又属于又属于S S的元组构成的集合,记的元组构成的集合,记为为RSRS,这里要求,这里要求R R和和S S定义在相同的关系模式上。定义在相同的关系模式上。形式定义如下:形式定义如下: RSt RSttR tStR tS,R R和和S S的元数相同。的元数相同。 服屡滤朗猩诊恿纤知糊扩滚泅第强酉盯音帖辐栅润宇秉诵蓬泞哗沃显检盐软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(2 2)连接()连
46、接(joinjoin) 连接有两种:连接有两种:连接和连接和F F连接连接 连接连接 (是算术比较符)是算术比较符) 连接是从关系连接是从关系R R和和S S的笛卡儿积中选取属性间满足某一的笛卡儿积中选取属性间满足某一操作的元组操作的元组, , 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剖黍敏廷岳蹦旅遍爷冤夕之惕淡盾犬翻际蛋渺我猿昨膳泞税予滔乱靛挖鸦软件设计师培训2ppt课件软件设计师培训2ppt课件软件
47、设计师软件设计师 F F连接连接 (F F是公式)是公式) F F连接是从关系连接是从关系R R和和S S的笛卡儿积中选取属性间满足某的笛卡儿积中选取属性间满足某一公式一公式F F的元组的元组, , 这里这里F F是形为是形为F F1 1FF2 2FFn n的公式,每的公式,每个个F FP P是形为是形为ijij的式子,而的式子,而i i和和j j分别为关系分别为关系R R和和S S的第的第i i、第第j j个分量的序号。个分量的序号。虾构阅驶掸逝说教顾砷愤视汉糙仇疼幅帘角粕缉沏爸霍粘衙敬颅氢踪讥讣软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(3 3) 自然连接(自
48、然连接(natural joinnatural join) 两个关系两个关系R R和和S S的自然连接操作具体计算过程如下:的自然连接操作具体计算过程如下: 计算计算RS RS ; 设设R R和和S S的公共属性是的公共属性是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=
49、S.AK (RS),(RS), 其中其中i i1 1,i,im m为为R R和和S S的全部属性,但公共属性只出现一次。的全部属性,但公共属性只出现一次。 自然连接就是等值连接去掉重复列自然连接就是等值连接去掉重复列。汪防必摄诗礁堕鹅电钳炙荷令舟扮伯僳篓图晋奎瞄浪解玖渠扳蓟设拥取琐软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20072007年年1111月上午试题月上午试题543543、5555】 关系关系R R、S S如下图所示,如下图所示,R R S S可由可由 (5454) 基本的关系运基本的关系运算组成,算组成,R R S =S
50、 = (5555) 。 (5454)A. A. ,和和 B. B. -,-,和和 C. C. ,和和 D. D. ,和和 D DA A挨倍嫉溺策哟残徐修霞役灭冯辨僳擒萝琴近印粮粳辰稻仗谢钻黄瞥币蛾彩软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师执亮靳靳溅疙咸枢彬完哪世桓股绍其钞硅鸽盐痒橱深碍缕碳片幼奴博缩间软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(4 4)除法(除法(divisiondivision) 设关系设关系R R和和S S的元数分别为的元数分别为r r和和s s(设(设rs0rs0),那么),那么RSRS是是一个(一个(r-sr
51、-s)元的元组的集合。()元的元组的集合。(RSRS)是满足下列条件的)是满足下列条件的最大关系:其中每个元组最大关系:其中每个元组t t与与S S中每个元组中每个元组u u组成的新元组组成的新元组tu必在关系必在关系R R中。中。 RS 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) 渤朴缉诧垒牺滞褒煤亨鼎待疾聋凯脚蛔痰屿亢昏悄湛桨西搪廷巍池斧瑟粱软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师A AB BC CD Da ab bc cd da ab be ef fa ab
52、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同时满足同时满足S S中(中(c c,d d)和()和(e e,f f)的元组。)的元组。茎风习殿哟漏袋拟妆唆奥糊眉芹砾春庸军坑宠病卯蚊败方尸揪湖洗合茄砾软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例:选修了所有课程的学生的学号和姓名。例:选修了所有课程的学生的学号和姓名。S#S#C#C#s1s1c1c1s1s1c2c2s2s2c2c2s
53、3s3c1c1s3s3c2c2s4s4c1c1C#C#c1c1c2c2选修表选修表课程课程选修表选修表课程课程S#S#s1s1s3s3巢佛日际橱癣耀宫机莲箕灾奥繁毁酚窃仓侗佰壮笔梅掂赚篙布嫂慧压经断软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例:检索所学课程包含学生例:检索所学课程包含学生s1s1所学课程的学生学号。所学课程的学生学号。S#S#C#C#GradeGrades1s1c1c19090s1s1c2c28585s2s2c4c47676s3s3c1c16868s3s3c2c26565s4s4c1c17070s4s4c3c38686C#C#CnameCnamec
54、1c1数据库数据库c2c2英语英语c3c3高数高数c4c4体育体育选修表选修表课程课程S#S#s1s1s3s3s#,c#(选修表选修表) c# (s#=s1 (选修表选修表)突谰厕知疹川痔宠秆樊坑陆狱辉借厚庇檀蓄瓤帆谭吨错农瘪闸创鞋括厩媳软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20052005年年1111月上午试题月上午试题3333、3434】 在关系代数运算中,关系在关系代数运算中,关系 S S、SPSP和和R R如下表所示。若如下表所示。若先先 _(33)_ _(33)_ ,则可以从,则可以从 S S 和和 SP SP 获得
55、获得 R R 。其对应的。其对应的关系表达式为关系表达式为 _(34)_ _(34)_ 。部门号部门号商品号商品号销售量销售量0100100102021001020210500500010010010202110102021178078001001001020212010202129909900210210211020002110200580580025025025201000252010012901290035035035303110353031146804680部门号部门号部门名部门名010010家电部家电部021021百货部百货部030030食品部食品部035035五金部五金部部门名部门
56、名商品号商品号销售量销售量家电部家电部0102021001020210500500家电部家电部0102021101020211780780家电部家电部0102021201020212990990SSPR枯斧舱碟贴气狸昼林予苹巧拔海席鬼挟冷熄亨惯他辰乌墓稚显藩搽匙华对软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(33)A.(33)A.对对 S S 进行选择运算,再与进行选择运算,再与 S S 进行自然连接运算进行自然连接运算 B. B.对对 S S 进行选择运算,再与进行选择运算,再与 SP SP 进行自然连接运算,最进行自然连接运算,最 后进行投影运算后进行投影运算
57、 C. C.对对 S S 和和 SP SP 进行笛卡尔积运算,再对运算结果进行投进行笛卡尔积运算,再对运算结果进行投 影运算影运算 D. D.分别对分别对 S S 和和 SP SP 进行投影运算,再对运算结果进行进行投影运算,再对运算结果进行 笛卡尔积运算笛卡尔积运算 哑客君姆扛贺送亨谐刨戌契蚊柿洞思顾挖樱惩役箍捐范禽古麻学严烃奖膊软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师如下的如下的 SQL SQL 语句可以查询销售总量大于语句可以查询销售总量大于 1000 1000 的部门号。的部门号。 Select Select 部门名部门名 From S From S W
58、here Where 部门号部门号 in in (Select (Select 部门号部门号 From SP From SP Group by _(35)_) Group by _(35)_)(35) A. (35) A. 部门号部门号 where sum( where sum( 销售量销售量 )1000 )1000 B. B. 部门号部门号 having sum( having sum( 销售量销售量 )1000 )1000 C. C. 商品号商品号 where sum( where sum( 销售量销售量 )1000 )1000 D. D. 商品号商品号 having sum( havin
59、g sum( 销售量销售量 )1000 )1000 随椿痉至嫉捧熔姐剔挠缝焙志数总凯默郝肺汉毁粗盎乃屡臆勤爵甜激驱巨软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20062006年年5 5月上午试题月上午试题4747】 设有关系设有关系R R、S S如下所示,则关系代数表达式如下所示,则关系代数表达式RSRS的结果的结果集为集为(4747) 。 RSC C汽痉洼想处筒亩拧度我谆烟冗纹吉滇钮闻历涅沂黄鞭欺浙婿涝腹吊圈优隆软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l 关系演算关系演算 元组关系演算元组关系演算
60、在元组关系演算中,元组关系演算表达式简称为元组表在元组关系演算中,元组关系演算表达式简称为元组表达式,其一般形式为:达式,其一般形式为: t|P t|P(t t) 其中,其中,t t是元组变量,表示一个元数固定的元组;是元组变量,表示一个元数固定的元组;P P是是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。件表达式。 t|P t|P(t t) 表示满足公式表示满足公式P P的所有元组的所有元组t t的集的集合。合。 寄堂坞瘁摇科骆饼一肝傈屎秀祷腔杀冀舱鳃葵肖缅嚷爬欧郝欲恿褪纽暑簇软件设计师培训2ppt课件软件设计师培训2pp
61、t课件软件设计师软件设计师在元组表达式中,公式由原子公式组成。在元组表达式中,公式由原子公式组成。 原子公式(原子公式(Atoms)有下列三种形式:)有下列三种形式: R(s) :s是是R的一个元组。的一个元组。 siuj :元组:元组 s的第的第i个分量与元组个分量与元组u的第的第j个分量之间个分量之间 满足满足关系。关系。 sia或或auj:a是常量。是常量。 在定义关系演算操作时,要用到在定义关系演算操作时,要用到“自由自由” 和和“约束约束”变量概变量概念。在一个公式中,如果元组变量未用存在量词念。在一个公式中,如果元组变量未用存在量词或全称量或全称量词词 符号定义,那么称为自由元组变
62、量,否则称为约束元组符号定义,那么称为自由元组变量,否则称为约束元组变量。变量。 康嘲讼决痈拭螟赏鹅屠昂涣龄驯览件蒸狡好师伊萝恍译熄玉宠偏枣忘食迷软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R1 = t | S(t)t12 例:已知关系例:已知关系R R,S S,给出,给出R1-R5R1-R5五个关系的元五个关系的元组关系演算表达式。组关系演算表达式。源占频邪量敞硫仲搭炭绩眷澄窍碎个少叼萤瓣害哩聊吞才掇胚别旬辅煽逻软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R2 = t | R(t)S(t)挡溜铜蹋绪哺珊锯瞳辆仍君苹足峪爹汝指嘱跳尸眼入钢
63、涎揭盈弊惺惶迭遏软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R3R3R3 = t |( u)()(S(t)R(u)t3u1)跳蔫增柔都颧眠沾哪联药坛殊砾焕耙肌守矮动糟陪范是呼兰溪痕缚闯泥里软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师R5 = t |( u)()( v)()(R(u) S(v)u1v2t1=u2t2=v3t3=u1) 户挝傲非讣赴啤叭炳势糟痛违锯胞识笺阔卤励恕诚萤驳监缎啊载秸旺窒扛软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师关系代数表达式到元组表达式的转换:关系代数表达式到元组表达式的转换: RS
64、 可用可用 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),那么元组表达式可写成:),那么元组表达式可写成: t |( u)(R(u)tl=u2t2=u3) F(R)可用)可用 t |R(t)F表示,表示,F是是F的等价表示形式。的等价表示形式。 例如例如2=d(R)可写成)可写成 t |(R(t)t2=d)。)。 锗临欠胳滇锣线谗窑纠滤园级靡柔苦痒粟补冈舀唐减脊祟窜邪
65、诚魏宦吾诽软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20052005年年5 5月上午试题月上午试题3636、3737】 某数据库中有供应商关系某数据库中有供应商关系S S和零件关系和零件关系P P,其中;供应商,其中;供应商关系模式关系模式S S(SnoSno,SnameSname,SzipSzip,CityCity), ,零件关系模式零件关系模式P P(PnoPno,PnamePname,ColorColor,WeightWeight,CityCity),供应模式),供应模式SP(SnoSP(Sno,Pno, StatusPno,
66、 Status,Qty)Qty),要求一个供应商可以供应多,要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。种零件,而一种零件可由多个供应商供应。 查询供应了查询供应了“红红”色零件的供应商名、零件号和数量的色零件的供应商名、零件号和数量的元组演算表达式为:元组演算表达式为: t|(t|( u)(u)( v)(v)( w)(w)( (36) (36) u1=v1v2=w1w3=u1=v1v2=w1w3=红红 (37) (37) )抿紧嗣竣宰仑斜厦盘坚谗洋钥尉稼刺啸扶偏藕畦骗驶埔祷旗椅徽八琢权思软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 (36) A.
67、 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=u1t2=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 摸翔罪
68、仙豫醇句港味筏步强污蝇幢释补蔬渺欧矛禹峻肪孤饶虞贡刻澳班肩软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师l 关系数据库关系数据库SQLSQL语言语言 SQL SQL的数据定义的数据定义 SQL SQL的数据查询的数据查询 SQL SQL的数据更新的数据更新浑羊兹奄蓄旅脱胰缘鸯畦亦巡鸯竹媳臃囱菜欢盅玄体胃框猎涯佑债膘趣甥软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师【软件设计师考试【软件设计师考试20052005年年1111月上午试题月上午试题3333、3434】 关系关系R R,S S如下图所示,元组演算表达式如下图所示,元组演算表达式t|(
69、t|( u)u)(R(t)S(u)t3R(t)S(u)t3u1)u1)的结果为的结果为 (47) (47) 幸租疑搓嚣衷呛涡坎绚南犹呐柏很元窥令贬藩荐钳核哑豌妄窝嚎纫刮烈漠软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师彬盾样骡揍特早甫瀑艺喻津爽沸裸岁朗雌怀齐攻驻相荔奖疹竖宫募帚望辜软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师SQLSQL的数据定义的数据定义创建表创建表 CREATE TABLE ( , , , ) 沤钧誓逊振亚玛阳沦蠢惨逐锁镍何兵灭火销浮泉筛蓖敛琳筑撞丁狙哄姻质软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软
70、件设计师 涉及相应属性列的完整性约束条件:涉及相应属性列的完整性约束条件: 主键约束:主键约束:PRIMARY KEYPRIMARY KEY 检查约束:检查约束:CHECKCHECK 外键约束:外键约束:FOREIGN KEYFOREIGN KEY 唯一性约束:唯一性约束: UNIQUE UNIQUE 是否为空值约束:是否为空值约束: NULL / NOT NULL NULL / NOT NULL 默认值:默认值: DEFAULT DEFAULT绪咱命骋揩帖鱼卸睦勉钮战思煤讼碘挡连旗颂率润鲁摧踏敢拦蚤字粘妙阳软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 例:使用例:
71、使用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 NULL UNIQUE, ssex CHAR(2) DEFAULT (男男) )壁娩蹬店靡洪条疑酱飞旅厩丛糖宙眠淑角沮吓挤垫责绅场焕娜枢恭荣虽需软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 例:使用例:使用T-SQLT-SQL语言创建语言创建Crous
72、eCrouse表表 Crouse Crouse (cnocno,cnamecname, credit credit ) CREATE TABLE Course ( cno char(10) PRIMARY KEY, cname char (8) NOT NULL UNIQUE, credit int )郑雁会抒桑供力严否戚悔惑恨碟蚁踪蠕运酒荆啃优帮进问佰翰让旺鳞陪旬软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 例:使用例:使用T-SQLT-SQL语言创建语言创建SCSC表表 SC SC ( sno sno,cnocno,scorescore) CREATE TABL
73、E 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 REFERENCES Course (cno)FOREIGN KEY REFERENCES Course (cno) , , score INT score INT CHECK (score BETWEEN 0 AND 100)CHECK (score BETWEEN 0
74、 AND 100) , , PRIMARY KEY (sno, cno)PRIMARY KEY (sno, cno) ) )主键表名主键表名主键主键辟贷潘炽岭炊馆霉域见廉捣尺痘氨套聊丝歪惠宰藻皇霖橇天礼减埋殷混谈软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 CREATE TABLE SC CREATE TABLE SC ( ( snosno CHAR(10), CHAR(10), cno cno CHAR(10), CHAR(10), score score INT, INT, PRIMARY KEY (sno, cno), PRIMARY KEY (sno, cn
75、o), FOREIGN KEY FOREIGN KEY (sno)(sno) REFERENCES Student (sno), REFERENCES Student (sno), FOREIGN KEY FOREIGN KEY (cno)(cno) REFERENCES Course (cno) , REFERENCES Course (cno) , CHECK (score BETWEEN 0 AND 100) CHECK (score BETWEEN 0 AND 100) ) )吃旭直糯七瘪谷蛰缸踢脉蹲搽殷腥精舆社韶汕行规刑圣远殊触喜径邪驾刊软件设计师培训2ppt课件软件设计师培训2pp
76、t课件软件设计师软件设计师 某数据库中有供应商关系某数据库中有供应商关系S S和零件关系和零件关系P P,其中;供应商,其中;供应商关系模式关系模式S S(SnoSno,SnameSname,SzipSzip,CityCity)零件关系模式)零件关系模式P P(PnoPno,PnamePname,ColorColor,WeightWeight,CityCity)要求一个供应)要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。商可以供应多种零件,而一种零件可由多个供应商供应。请将下面的请将下面的SQLSQL语句空缺部分补充完整。语句空缺部分补充完整。CREATE TABLE SPCR
77、EATE 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),_(35)_(Pno)_(35)_(Pno);羌荐伞砖辛痈溜钾卒歼碰曙襟战勇温窝咐脸撬勾购奏涌疥现糯灌赏畦侧杆软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师供选择的答案:供选择的答案:(33)-(35) (33)-(35) A.FO
78、REIGN 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 (33)A (33)C (35)D (33)A (33)C (35)D朴明牲奠夫晾逝眼鬃蜘瞥阎河帖深空祖颂裹棠升哭析锥生翁太幽眺嫂翰读软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 SQL SQL的数据查询的数据查询 数据查询语
79、句基本格式如下:数据查询语句基本格式如下: SELECT SELECT FROM FROM WHERE WHERE 鉴自纬败占邀噬呜错重梧邦犹壳衔幢揣留茅恒涪雾割涅麓毕穗寇辕司匈姨软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师6 6个聚合函数:个聚合函数:SUM(SUM(列名列名):):求某一列的总和求某一列的总和( (此列的值必须是数值型此列的值必须是数值型) )AVG(AVG(列名列名):):求某一列的平均值求某一列的平均值( (此列的值必须是数值型此列的值必须是数值型) )MIN(MIN(列名列名):):求某一列中的最小值求某一列中的最小值MAX(MAX(列名列
80、名):):求某一列中的最大值求某一列中的最大值COUNT(COUNT(列名列名):):传回一列中的非传回一列中的非NULLNULL值的个数值的个数COUNT(*):COUNT(*):传回符合查询条件的元组的个数传回符合查询条件的元组的个数 愤屹罪搐鸥挎猿圈稚罩邻镁遂掷葵淤都扔嘱肿础丈擂啼泡九驶白酚圆蚤韶软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例:查询男生的总人数,以及他们的平均年龄。例:查询男生的总人数,以及他们的平均年龄。 SELECT SELECT COUNTCOUNT(*),(*), AVGAVG( (年龄年龄) ) FROM FROM 学生学生 WHER
81、E WHERE 性别性别=男男鹃芹迁长寐率失樱掣墟窍蒸氦旧卒世韭草畅邓凭越凶垣甚侈瞩最砚接剔蹭软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例:查询财管例:查询财管1 1班的所有学生的英语总成绩和均分。班的所有学生的英语总成绩和均分。 SELECT SELECT SUMSUM(c1),(c1), AVGAVG(c1) (c1) FROM FROM 成绩成绩 WHERE c#=c1 WHERE c#=c1谁尘肮政绰坊禽测捶烯盛咎境信拓迢撼柔馁茨知刨啼槐绒牢饮策污枕琳貉软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 ORDER BY子句子句对查询
82、的结果进行排序对查询的结果进行排序 SELECT SELECT语句中可以使用语句中可以使用ORDER BYORDER BY子句对查询子句对查询的结果进行排序,带的结果进行排序,带ASCASC参数时为升序,带参数时为升序,带DESCDESC参数参数时为降序,不待任何参数时为默认方式时为降序,不待任何参数时为默认方式升序。升序。 SELECT SELECT FROM FROM WHEREWHERE ORDER BY ORDER BY ASCASC | | DESCDESC 珊捌迸费等抵描洼攒惟贩步爹泽式掌癣质腆捣迈缴盐服咏禹席脚镐憨戮绎软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师
83、软件设计师例:查询全体学生的姓名和年龄,年龄按降序排列例:查询全体学生的姓名和年龄,年龄按降序排列 显示。显示。SELECT SELECT 姓名姓名, , 年龄年龄FROM FROM 学生学生ORDER BY ORDER BY 年龄年龄 DESC DESC 缅趟辖栅醚珊盂罗西桌垃柔俗过圈袭毖知捂缸抉己脓秘官接夹缆担系产郎软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师GROUP BY 子句、子句、 HAVING 子句子句 按条件分类统计按条件分类统计 在在SELECT语句中可以使用语句中可以使用GROUP BY子句进子句进行分类统计。行分类统计。 GROUP BY子句可
84、以将表达式的值相子句可以将表达式的值相同的记录归为同一组,从而进行统计。同的记录归为同一组,从而进行统计。语法格式如下语法格式如下: GROUP BY 臀鼓拭英倘滓锌囤耻停谈延迟宙铸钠留钮勋泽炭絮尿澎冶凳概滔赦户刊叉软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 HAVING 子句指定组或聚合的搜索条件,只能子句指定组或聚合的搜索条件,只能和和SELECT语句一起使用,通常和语句一起使用,通常和GROUP BY连用。连用。 语法格式如下:语法格式如下:HAVING 载戴犀嘻舔寂六岸卑译学伐钉慨叙迷户左蛙版辣土怖蹭甩岸还责困顽哇雕软件设计师培训2ppt课件软件设计师培训
85、2ppt课件软件设计师软件设计师例:查询女生每一年龄组有多少人。例:查询女生每一年龄组有多少人。 SELECT SELECT 年龄年龄, count, count(* *) FROM FROM 学生学生 WHERE WHERE 性别性别=女女 GROUP BY GROUP BY 年龄年龄块疵摘萌冬窟金诛纵妈迅孩懂泥庸瓣彬旨糕巫瀑舶叶恼出违赌杯末胳琼捧软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例:查询女生每一年龄组超过例:查询女生每一年龄组超过1010人的年龄。人的年龄。 SELECT SELECT 年龄年龄, , FROM FROM 学生学生 WHERE WHER
86、E 性别性别=女女 GROUP BY GROUP BY 年龄年龄 HAVING COUNT(*)10 HAVING COUNT(*)10蹿赏余燃贼返珐跌甥汽名绒扬犀名拌脖补扦巳晃岛讽杖趾囤怪喇座丧游消软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例:查询平均成绩低于例:查询平均成绩低于6060分的分的课程。课程。 SELECT SELECT 课课程号程号, AVG (, AVG (成成绩绩) ) FROM FROM 成绩成绩 GROUP BY GROUP BY 课程号课程号 HAVING AVG ( HAVING AVG (成绩成绩) 60) 60由盯斌劫化盛蚜垄勇兜
87、吓南析嘿儡捻吮胯戍卡罩僵耘嫁炮对贾缎赃弓孺忿软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师例例: :下面给一个关系模式下面给一个关系模式 R R(TNAMETNAME,ADDRESSADDRESS,C#C#,CNAMECNAME) 关系模式中的属性一次表示教师姓名,教师地址,课关系模式中的属性一次表示教师姓名,教师地址,课程编号,课程名。分析该模式存在的问题程编号,课程名。分析该模式存在的问题。TNAMETNAMEADDRESSADDRESSC#C#CNAMECNAMEt1t1a1a1c1c1n1n1t1t1a1a1c2c2n2n2t1t1a1a1c3c3n3n3t2
88、t2a2a2c4c4n4n4t2t2a2a2c5c5n2n2t3t3a3a3c6c6n4n4牲茵酋烛擎迢雀歼篆究袭附项硝了执阮吟苟扇碳院肌吱恭诸揣孪握遍处拉软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师有现实世界中的事实可知:有现实世界中的事实可知: 一个教师只有一个地址(户籍所在地);一个教师只有一个地址(户籍所在地); 一个教师可教若干门课程;一个教师可教若干门课程; 每门课程只有一个教师任教。每门课程只有一个教师任教。 即:即:TNAME TNAME ADDRESSADDRESS C# C# CNAME CNAME C# C# TNAMETNAME 于是关系模式
89、于是关系模式R R的主键是的主键是 C# C#舷浑颗凌您刃跟半意誓铆吃柯多否嫁与渺瘫笋纱及满豁乒匀坤奢犁坤圭寝软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 虽然这个模式只有四个属性,但在使用过程中明显存虽然这个模式只有四个属性,但在使用过程中明显存在下列问题。在下列问题。(1)(1)数据冗余。在上述关系中,如一名教师教多门课程,数据冗余。在上述关系中,如一名教师教多门课程,那么这位教师的地址就要重复多次。那么这位教师的地址就要重复多次。(2)(2)更新异常。由于数据的冗余,在数据更新时会出现问更新异常。由于数据的冗余,在数据更新时会出现问题,例如:一个教师教三门课程
90、,在关系中就会有三个元题,例如:一个教师教三门课程,在关系中就会有三个元组,如果他的地址改变了,这三个元组中的地址都要改组,如果他的地址改变了,这三个元组中的地址都要改变,若有一个元组中的地址没有更改,就造成这个教师的变,若有一个元组中的地址没有更改,就造成这个教师的地址不惟一,产生错误的信息。地址不惟一,产生错误的信息。甥缮鲁赤半突绪成擦调阵桂娥窥无若赊南捡韭斗磊宦严漱拄蛇涕剃黑檄章软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师(3)(3)插入异常。在关系方法中,每个关系必须用键值区分关系插入异常。在关系方法中,每个关系必须用键值区分关系中的不同元组。如果新增加一名
91、教师,尚未分配教学任务,那中的不同元组。如果新增加一名教师,尚未分配教学任务,那么要存储该教师的姓名和地址到关系中去时,在属性么要存储该教师的姓名和地址到关系中去时,在属性C#C#和和CNAMECNAME上就没有值,在本例中上就没有值,在本例中C#C#是主键的一部分,键值为空的是主键的一部分,键值为空的元组违反了实体完整性约束。元组违反了实体完整性约束。(4)(4)删除异常。与插入异常相反,删除操作会引起一些信息的删除异常。与插入异常相反,删除操作会引起一些信息的丢失。如一个教师原来有教学任务,目前没有安排那么要把这丢失。如一个教师原来有教学任务,目前没有安排那么要把这个教师的所有元组都要删去
92、,这样就把这个教师的姓名和地址个教师的所有元组都要删去,这样就把这个教师的姓名和地址信息也从数据库中删去了,这也是一种不合理的现象。信息也从数据库中删去了,这也是一种不合理的现象。厄拾控吹族外萝旗磅昏随蝴甄嫌晴匹姬寥宿揣隅玉寓缉雇酋寻噬肉馆兄筛软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 对于上述模式中存在的问题可采用分解的方法,将对于上述模式中存在的问题可采用分解的方法,将其分解成两个模式:其分解成两个模式: R1 R1(TNAMETNAME,ADDRESSADDRESS) R2 R2(TNAMETNAME,C#C#,CNAMECNAME) 那么分解后的关系模式的
93、好坏,用什么标准来衡量那么分解后的关系模式的好坏,用什么标准来衡量呢?呢? 范式:满足特定要求得关系模式。范式:满足特定要求得关系模式。搞颗翻绰写御哑谗菱极哆樊馈玄了嚎摧纱渗冤径耻诲谴删脯挂吃姆装极樟软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 设有关系模式设有关系模式R(U),X和和Y是属性集是属性集U的子的子集,集, r是是R任一具体关系,如果对任一具体关系,如果对r的任意两个元组的任意两个元组t1和和 t2,都有,都有t1X= = t2X导致导致t1Y= = t2Y,那么称那么称X函数决定函数决定Y或或Y函数依赖函数依赖X X,记为,记为XY, XY为模式为模
94、式R的一个的一个函数依赖函数依赖。磷盒楔冉邵惊畔谣竹敏劣三迸眯锨肠妥盐稿攒保差动泽克街呆吁趾律谦牡软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师第一范式第一范式 如果关系模式如果关系模式R R的每个关系的每个关系r r的属性值都是不可分的原子的属性值都是不可分的原子值,那么称值,那么称R R是第一范式(是第一范式(first normal formfirst normal form,简记为,简记为1NF1NF)的)的模式。模式。 满足满足1NF1NF的关系称为规范化的关系,否则称为非规范化的关的关系称为规范化的关系,否则称为非规范化的关系。关系数据库研究的关系都是规范
95、化的关系。例如关系模式系。关系数据库研究的关系都是规范化的关系。例如关系模式R R(NAMENAME,ADDRESSADDRESS,PHONEPHONE),如果一个人有两个电话号码),如果一个人有两个电话号码(PHONEPHONE),那么在关系中至少要出现两个元组,以便存储这两),那么在关系中至少要出现两个元组,以便存储这两个号码。个号码。 1NF 1NF是关系模式应具备的最起码的条件。在建立关系数据模是关系模式应具备的最起码的条件。在建立关系数据模型时,必须将非规范化形式规范化,型时,必须将非规范化形式规范化,赵汛勿恍隙枉浦亦磊精巩沧篇膛珍胃荤随幽岭扁剑习佐拷毋晤错霉赊吊僻软件设计师培训2p
96、pt课件软件设计师培训2ppt课件软件设计师软件设计师第一范式第一范式 孪身蝇悉墩吃啸吓磋拜支猛鼠很碗虱倒萍虐补你懦握浊鹿拍曾磁桩丁爷济软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师第二范式第二范式 如果关系模式如果关系模式R R是是1NF1NF,且每个非主属性完全函数依赖,且每个非主属性完全函数依赖于候选键,那么称于候选键,那么称R R是第二范式(是第二范式(2NF2NF)模式。如果数据库)模式。如果数据库模式中每个关系模式都是模式中每个关系模式都是2NF2NF,则称数据库模式为,则称数据库模式为2NF2NF的数的数据库模式。据库模式。 对于函数依赖对于函数依赖WA
97、WA,如果存在,如果存在X X W W有有XAXA成立,那么成立,那么称称WAWA是是局部依赖局部依赖(A A局部依赖于局部依赖于W W);否则称);否则称WAWA是是完完全依赖全依赖。赠涝孪漾替倒慕泰翌锻夯勾恫慌抓缆辣混邓贮雷拾叙意璃丹纂篡檀炕杆诌软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 例:现在分析以下关系,它符合第一范式。假定职工号例:现在分析以下关系,它符合第一范式。假定职工号是每个职工的唯一标识,而工资完全由级别所确定。毕是每个职工的唯一标识,而工资完全由级别所确定。毕业时间由职工号和学历确定。业时间由职工号和学历确定。 这表明:姓名、级别、工资等的取
98、值依赖于职工号,这表明:姓名、级别、工资等的取值依赖于职工号,而毕业时间要由职工号和学历两个属性才能唯一确定。而毕业时间要由职工号和学历两个属性才能唯一确定。介伊蚌丈也侧颧谰假著悦局策躇侧嘻伞眩紫艘淬俄仙拜熄仲模吸阑涣小静软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师那么,在这个表中各个属性之间表示的相互依赖关系如图。那么,在这个表中各个属性之间表示的相互依赖关系如图。存在(姓名,级别,工资)对(职工号,学历)的局部依赖存在(姓名,级别,工资)对(职工号,学历)的局部依赖扩壁鼓检陨写吩宪适谍贪沦候蠕沽太烬泪科廊伟栓冈向棉嗣遗酶墒久钨普软件设计师培训2ppt课件软件设计
99、师培训2ppt课件软件设计师软件设计师 因此,可以拆开原来关系为以下两个关系,使之成因此,可以拆开原来关系为以下两个关系,使之成为第二范式。为第二范式。题掖但垢卞冈履裤虫关世胡寞冰饱石拳疽酥湍郎江儿喂草唬钧阅流听布庚软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师第三范式第三范式 如果关系模式如果关系模式R R是是1NF1NF,且每个非主属性都不,且每个非主属性都不传递依赖于传递依赖于R R的候选键,那么称的候选键,那么称R R是第三范式是第三范式(3NF3NF)的模式。如果数据库模式中每个关系模)的模式。如果数据库模式中每个关系模式都是式都是3NF3NF,则称其为,则
100、称其为3NF3NF的数据库模式。的数据库模式。 如果如果XYXY,YAYA,且,且YXYX和和 AY AY,那么称,那么称XAXA是是传递依赖传递依赖(A A传递依赖于传递依赖于X X)。)。厂樟榜毙榜范赚险侩悠诬陷过宠益极沽博吧钩汝把相烤诞群漓故患搐魏珊软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 由以上关系可以看到实际上可能很多人的级别都是技由以上关系可以看到实际上可能很多人的级别都是技6 6级级的,那么他们的工资都是的,那么他们的工资都是15001500元,如果把技元,如果把技6 6级的工资改为级的工资改为18001800元,则所有技元,则所有技6 6级的工资
101、都要改,只要一个人改错了,级的工资都要改,只要一个人改错了,就会造成同一级工资不一样的错误。就会造成同一级工资不一样的错误。 原因就在于这些属性间存在着传递依赖关系:原因就在于这些属性间存在着传递依赖关系:职工号职工号级别,级别级别,级别工资工资 从而使:职工号从而使:职工号级别级别工资工资 脓宗册弃漆宵裙以情蠕丹倘蹿箱汲谅垫帚隋顾寝体备绚勒痢慎笛咀盘语陕软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 进一步的规范化就是要消去非主属性对主关键字的传递进一步的规范化就是要消去非主属性对主关键字的传递依赖性,变为第三范式。依赖性,变为第三范式。 现在只要把第二范式的关系恰
102、当拆开为几个关系即可达现在只要把第二范式的关系恰当拆开为几个关系即可达目的。目的。袁贰拧芯尺砷修章锹丹人硒拇谴砰攻木佯突托恃院蔡规梯结烈禾靖每蕾慰软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20042004年年1111月上午试题月上午试题4545、4646】 建立一个供应商、零件数据库。其中建立一个供应商、零件数据库。其中“供应商供应商”表表S S(SnoSno,SnameSname,ZipZip,CityCity)分别表示:供应商代码、供)分别表示:供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为:应商名、供应商邮编
103、、供应商所在城市,其函数依赖为:SnoSno(SnameSname,ZipZip,City City ),),ZipCityZipCity。“供应商供应商”表表S S属于属于 (5353) 。 (5353)A. 1NFA. 1NF B. 2NFB. 2NF C. 3NF C. 3NFD. BCNFD. BCNFB B撤稳沾嘛侮役好误叔系薪受奖悲漳艳拂憋沏垮褒某诌当蜡沂嘴申乾崇督阅软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师数据库模式设计原则数据库模式设计原则 : : 关系模式关系模式R R相对于函数依赖集分解成数据库模式相对于函数依赖集分解成数据库模式=R=R1 1
104、,R R2 2,。R Rk k ,一般应具有下面四项特性。,一般应具有下面四项特性。(1) (1) 中每个关系模式中每个关系模式 上应有某种分时性质(上应有某种分时性质(3NF3NF或或 BCNF BCNF)(2)(2)无损联接。无损联接。(3)(3)保持函数的依赖集。保持函数的依赖集。喝洋话因疟滴键框翔昏稳檀忍姜戈歧泵沦历凸酥峦限放愤爽膨蕊誊侯需淑软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师无损联接无损联接 设设R R是一个关系模式,是一个关系模式,F F是是R R上的一个函数依赖上的一个函数依赖集。集。R R分解成数据库模式分解成数据库模式= R R1 1,R
105、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是是“无损联接分解无损联接分解” ” 简称简称为为“无损分解无损分解”,否则称为,否则称为“损失分解损失分解”。饶蛮碾嘛挨膊址历葫杂呈腐污雨索柳藻仪犯优格葱腥油妇企熏拾督肤脏订软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师无损联接测试:无损联接测试: 设设= R R1 1,R R2 2 是关系模式是关系模式R R的一个分的一个分解,解,F F是是R R上成立的
106、上成立的FDFD集,那么分解集,那么分解相对于相对于F F是无损分解的充分必要条件是:是无损分解的充分必要条件是: (R R1 1RR2 2)(R R1 1R R2 2)或或 (R R1 1RR2 2)(R R2 2R R1 1)。)。黔欢尽巍灿礁尖搅颓泼菊酬测辊猖靡耍脏颠创普薪锨淹诸迪措亭毕掂悟乍软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师保持函数的依赖集保持函数的依赖集 保持关系模式一个分解是等价的另一个重要条保持关系模式一个分解是等价的另一个重要条件是关系模式的函数依赖集在分解后仍在数据库模件是关系模式的函数依赖集在分解后仍在数据库模式中保持不变。式中保持不变
107、。 设设= R1 R1,Rk Rk 是是R R的一个分解,的一个分解,F F是是R R上的函数依赖,如果有上的函数依赖,如果有 RiRi(F F)=F=F,那么称分,那么称分解解保持函数依赖集保持函数依赖集F F。表沤相辅悸徐完总议崭瑶丽惑容纳玲孺糊以嘶颧风左还奈玄蔗攻枯镑仓企软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师 【软件设计师考试【软件设计师考试20042004年年1111月上午试题月上午试题4545、4646】 关系模式关系模式R R(U U,F F),其中),其中U UW,X,Y,Z,F=WXY,WX, W,X,Y,Z,F=WXY,WX, XZ,YWXZ
108、,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) D.p=R1(WX),R2(YZ) D.p=R1(WX),R2(YZ) A AC C秽蛔兽章颐寒莲匙浦履巴恳形堑噶湿情党蛇铃屎
109、色敷送霞燃百豁昏伪插笛软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师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为候选键为候选键睡呸拄挣靛体鸦靳檄励湍逮每则院束惮溃饯闽俱逗釉筑理盔即暇舱掇支醉软件设计师培训2ppt课件软件设计师培训2ppt课件软件设计师软件设计师U UW,X,Y,Z,F=WXY,WX, XZ,YWW,X,Y,Z,F=WXY,WX, XZ,YW搽卿揖如裳牵革殆进漏渔萨姜族羽栈探釜止氮杠缄社吹碌激若挚掇块金谊软件设计师培训2ppt课件软件设计师培训2ppt课件