1、三级数据库技术,第7章 关系数据库的规范化理论与数据库设计,串贿沽服狮柴悠傍蔓劈顷伍怨凉蹬全嚣文信口斡弹罚涉鱼疯嘿挚恳吸憎一三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,2,本部分占总分的8% 主要内容: 规范化理论概述 函数依赖 关系模式分解 数据库设计过程,钙卷阅曾乾雪室笑系剧参悍唯揣网擎恕待岂艺智仁驱肇初郎绵村喘差厚皋三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,3,了解关系模式设计的常见问题及应对措施,是学习本章的前提和基础 函数依赖定义、逻辑蕴含、码、armstrong公理
2、、常用范式和关系模式分解方法考试重点 函数依赖、关系模式规范化程度和模式分析等价标准是重中之重,墨类李镊倦限绎申笛钻陌埂幽胰悉华耕晕呛陡课斥犹壹煤髓优德移悉蜘悼三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,4,学习本章的目的: 针对具体应用,数据要存储,需要什么样的关系模式,解决关系数据库的逻辑设计问题(如何建表) 要建合适的表,需要学习规范化理论,拟迈园敷藉沥秤慈闹找疽疙姓炔铆唤捐凡胞究稠喇知焕好钠顿筑螺陈啤看三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,7.1 关系模式中的常见问
3、题,蔓铲奢郸趋弗授求肉救葛也兹缀汕祟署说轴锤乾防亏书阵酱剖弛呆植署帘三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,6,考点1 关系模式设计的常见问题,已知数据库要存储 教师的姓名和地址,还要存储教师教的课程号和课程 设计的关系模式:T(TNAME,ADDRESS,CNO,CNAME)其中,TNAME-教师姓名,ADDRESS-教师地址,CNO-任教课程号,CNAME-课程名称。一个教师可以教多门课程,连丝绝涝汾劣揣忆缓垣若电铣棠英唯来甜利掷贮冈渡悠下郴臣钦左虐福时三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范
4、化理论与数据库设计-8新,7,该关系模式可能出现如下问题: 数据冗余 更新异常(多个记录更新,容易产生数据不一致) 插入异常:TNAME,CNO码,某个教师没上课,CNO为空,不能插入) 删除异常:某个教师课程全部删除,教师的地址姓名信息全部删除,如何设计一个好的关系模式, 需要学习规范化理论,数据依赖,衙钓尽痪甲弟素敲季且胀赚犬蚁领殆迹屉稽标查淄耳优桨阴廉好尽坏奠有三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,8,考题,1、下列哪一条不是由于关系模式设计不当所引起的问题? A)数据冗余 B)插入异常 C)更新异常 D)丢失修改 D 20
5、09.03 2、由于关系模式设计不当所引起的插入异常指的是 A、两个事务并发地对同一关系进行插入而造成数据库不一致 B、由于码值的一部分为空而不能将有用的信息作为一个元组插入到关系中 C、没经授权的用户对关系进行插入 D、插入操作因为违反完整性约束条件而遭到拒绝 B 2008.09 2005.09,鲁捷与擦混炉孟洲何逗盏陌侠兰薯晒油丙煞糜承溶拴殷陛诌哨聘税以鹃送三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,9,3、下列哪些条是由于关系模式设计不当引起的问题? I、数据冗余 II、插入异常 III、删除异常 IV、丢失修改 V 级联回滚 A
6、、仅II和III B、仅I、II和III C、仅I、IV和V D、仅II、III和IV B 2008.04 4、由于关系模式设计不当所引起的更新异常指的是 A、两个事务并发地对同一个数据项进行更新而造成数据库不一致 B、关系的不同元组中数据冗余,更新时未能同时更新有关元组而造成数据库不一致 C、未经授权的用户对数据进行了更新 D、对数据的更新因为违反完整性约束条件而遭到拒绝 B 2007.09,洞海垄保棕妒求冕掠孩尹群针禾均犊询峦叙立萨恕莲薯瞬筹霓瘸恰侈椭胜三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,10,下列关于规范化理论的叙述中,哪
7、一条是不正确的? A)规范化理论是数据库设计的理论基础 B)规范化理论最主要的应用是在数据库概念结构设计阶段 C)规范化理论最主要的应用是在数据库逻辑结构设计阶段 D)在数据库设计中,有时候会降低规范化程度而追求高查询性能 B 2009.04,2008.09,吗仁愧役锤亏悔许堤媳铱斜殴禹伍害很刨牡窟教透衡札坊幕舷懂鄙辕单依三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,11,数据依赖是数据间的联系,是语义的体现。 数据依赖中重要的是函数依赖和多值依赖,毯焊慨争邱窿汪悠过搜誊冲涣畦歉饰匪牟哩鄙密衫顽矩啦幌柯抱芬芝遣纠三级数据库关系数据库的规范
8、化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,12,考点2 函数依赖,例 在关系模式R(SNO,NAME,AGE)中,根据语义 一个SNO值对应一个AGE值,不可能出现一个SNO值对应两个AGE值,我们称SNO函数决定AGE,写作SNO-AGE或AGE函数依赖于SNO如果一个AGE对应一个SNO,但我们决不能认为AGE函数决定SNO,因为它不符合语义,卓蔬捕槛搏亚侵燥觉赏狐洪缕僻挤藕桥忽狈喳仲羔砷盘魔隙榔尝丑高史蕊三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,13,函数依赖定义设R(U)是属性集U上的一个关系
9、模式,X和Y均为U的子集。若对于R(U)的任一个可能的关系r,r中不可能有两个元组在X中的属性值相等,而在Y中的属性值不等,那么称X函数决定Y XY,或Y函数依赖于XX为决定因素 函数中的一一映射关系,浦写饥犀总霓巫碘耀品两页几寻备间酌揣掷迪亨圭由盒托性嗣抗疼应奋虫三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,14,一、函数依赖,例如:学生(Sno,Sname,Sdept,Sage),由于在所有的元组中,Sno都是唯一的,因此,Sno函数确定Sname 和 Sdept。,如果规定Sname不能重复,那么在所有的元组中Sname也都是唯一的
10、,可以说,Sname函数确定Sdept,或者说, Sdept函数依赖于Sname记作: Sname Sdept,或者说, Sname 和 Sdept函数依赖于Sno,Sno Sname, Sno Sdept,倦拭娄脱支骤勃剪拙酪凌壁嘴纠俩驾切咯昔贬渭勤寇汾肌柴刚悔挺聚糖搀三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,15,几个术语和符号,如果 XY,则 X 叫做决定因素(Determinant),如果 XY , Y X ,则记作: X Y,如果Y不函数依赖于X,则记作: XY,慰吨痰氮绘委飞嘎舒吧八粒戈姐那至搞咬论萤狱仆袭辆选贮寇医迎均胰
11、囚三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,16,二、平凡函数依赖与非平凡函数依赖,如果 XY,但 Y X,则称 XY 是非平凡的函数依赖,如果 XY,但 Y X, 则称 XY 是平凡的函数依赖,例:在关系 SC(Sno, Cno, Grade)中,,非平凡函数依赖:(Sno, Cno) Grade,平凡函数依赖: (Sno, Cno) Sno,(Sno, Cno) Cno,稳胀钱樱养匹狱攻饯已窿肿以防胡柑苦棠跟歪殆堤踌厉跃穷痞灵侣趣终熙三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8
12、新,17,三、完全函数依赖与部分函数依赖,定义5.2 在关系模式 R(U)中,如果XY,并且对于 X 的任何一个真子集X,都有X Y, 则称 Y 完全函数依赖于 X,记作:X F Y若XY,但Y不完全函数依赖于X,则称 Y 部分函数依赖于X,记作:X P Y,泰实厚雅急佬蚁氓倒六酒永锅则解驮抖牺挡圣贸哪戍欲抑逾殿沤房拙拯槽三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,18,三、完全函数依赖与部分函数依赖,例: 在关系 SC(Sno, Cno, Grade)中,用X 表示(Sno, Cno),用Y 表示 Grade, 那么, (Sno, C
13、no) Grade 但是 Sno Grade,Cno Grade, 因此 (Sno, Cno) F Grade,榴捷托喳饶炉友思丙拌校缆怂项肪葱吊针雀嘎树崇九拎赦键旨腥咙旨台渭三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,19,四、传递函数依赖,定义5.3 在关系模式R(U)中,如果XY,YZ,且 Y X,YX,则称 Z 传递函数依赖于X。注: 如果YX, 即 XY,则称Z 直接函数依赖于X。例: 在关系 Std(Sno, Sdept, Mname)中,有:Sno Sdept,Sdept MnameMname 传递函数依赖于Sno,蝴褒囚
14、岁洼臭者凹矮沸爱篷逞拒圾守峨门渴崇把箍拂瞄诌贺雍猾怜缨钮渺三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,20,五、函数依赖的逻辑蕴含(推导),设R是一个关系模式,X,Y是U中属性组,F是函数依赖集,若在R的任何一个满足F中函数依赖的关系r上,都有函数依赖X-Y成立,则称F逻辑蕴含X-Y(F推导出X-Y) 简单地说: 设RU, F是一个关系模式,X可以由F推导出Y,则称F逻辑蕴含XY 例如 关系模式S(SNO,NAME,AGE,DNO,DEAN),其属性组上的函数依赖集为F=SNO-NAME,SNO-AGE,SNO-DNO,DNO-DEAN
15、SNO-DEAN就是F所逻辑蕴含(推导出)的一个函数依赖 在关系模式R中为F所逻辑蕴含的函数依赖全体称为F闭包,F+,孜童囤宰笆眯缘拾必售师梭哪侄扭跟吧结房锹吴扑侮复缅谤矿跌旭伸舍饼三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,21,码,定义 设 K 为关系模式 R中的属性或属性组合。若 K U,并且不存在K的真子集决定U,则 K 称为 R 的一个侯选码(Candidate Key)。若关系模式 R 有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 全码(ALL KEY):主码为关系模式所有属性,褂梦狱
16、咒谆尹酶村惰晚昂骗黄依穗抬守阜讳佳谓吱鞍林亡婶执助致废窜背三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,22,例:关系模式CSZ(CITY,ST,ZIP)其属性组上的函数依赖为F=(CITY,ST)-ZIP,ZIP-CITY推导后(CITY,ST)和(ST,ZIP)为候选码,所以CITY,ST,ZIP都是主属性,庆减膀了链层嘉船纸情俄此群葫念拉虹么矣朋掳络豆晌龚澎惫遍笋荤刃遮三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,23,Armstrong公理系统(推理规则),设F是属性组U上的
17、一组函数依赖,有如下推理规则 自反律:若Y X U,则X-Y为F逻辑蕴含(推导出) 增广律:若X-Y为F逻辑蕴含,且Z U,则XZ-YZ为F逻辑蕴含 传递律:若X-Y及Y-Z为F所逻辑蕴含,则X-Z为F所逻辑蕴含,续林遵呵武件韭宦砷淌毁场啼摹红狐癸斩学每协部郑览气达舷匠焉押扛耳三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,24,例:关系模式CSZ(CITY,ST,ZIP)其属性组上的函数依赖为F=(CITY,ST)-ZIP,ZIP-CITY 证明 (ST,ZIP)是候选码1、ZIP-CITY F中已知2、(ST,ZIP)-(ST,CITY
18、) 增广律3、(ST,ZIP)-(ST,CITY,ZIP) 增广律,吕我捆胖荒犬畦扁急晾松跺苗科付照砖役呼韵烙魄页骚刊值蓄孩钉编虱睛三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,25,Armstrong的推论,合并规则:X-Y,Y-Z,则X-YZ 伪传递规则:X-Y,WY-Z,则XW-Z 分解规则:X-Y,Z Y,则X-Z 关系模式码的确定 R 1、找出F集合的所有仅出现在左边的属性和左右两边都没出现的属性,组合为U1,U1必包含在候选码中 2、如果U1-U,则U1为一个候选码,否则然后增加其他属性到U1中组成属性组K,使K-U,则K为候
19、选码,再找出其他候选码,娄端尤寥胡债予医晨哀轰伟疡露腋泻废猪背氟淘竹蝇灯峰屏椿湘件趣殖脾三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,26,考题,1、下列哪一条不属于Armstrong公理系统中的基本推理规则? A、若Y X,则X-Y B、若X-Y,则XZ-YZ C、若X-Y,且Z Y,则X-Z D、若X-Y,且Y-Z,则X-Z A 自反律 B 增广律 C分解律 D 传递律 C 2009.03,缔峙啸忽掸姐析恒抬箔释饿痰膜骗紫佐谭剁黔逻袱诈啄枉剪等睫氓素诺健三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论
20、与数据库设计-8新,27,2、Armstrong公理系统中的增广律的含义:设R是一个关系模式,X,Y是U中属性组,若X-Y为F所逻辑蕴含,且Z U,则【1】为F所逻辑蕴含 XZ-ZY 2008.09 3、下列关于部分函数依赖的叙述中,哪条是正确的? A、若X-Y,且存在Y的真子集Y,X-Y,则Y对X部分函数依赖 B、若X-Y,且存在Y的真子集Y,X-Y,则Y对X部分函数依赖 C、若X-Y,且存在X的真子集X,X-Y,则Y对X部分函数依赖 D、若X-Y,且存在X的真子集X,X-Y,则Y对X部分函数依赖 C 2007.09,差填罚劈瞒省含众公驾歇局千同并歉酱肢景糕苛蓝屠棵钵饺葬符庐斧黄蕴三级数据库
21、关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,28,3、设有关系模式R(B,C,M,T,A,G),根据语义有如下函数依赖集:F=B-C,(M,T)-B,(M,C)-T,(M,A)-T,(A,B)-G,关系模式R的码是【1】 (1)取出函数依赖的只出现在左部的属性,(M,A) (2)(M,A)能决定其他属性,M,A,饺师厄龚于和睡泄伺猖拾捷剥实摘例聋涌世复泻慕龄唤贱刘谨习常卑福惦三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,29,4、下列关于函数依赖的叙述中,哪一条是不正确的? A、若X-Y,Y
22、-Z,则X-Z B、若X-Y,YY,则X-Y C、若X-Y,XX,则X-Y D、若XX,则X-X A 传递 B 分解 D 自反律 C 2007.04 5、下列关于关系模式的码和外码的叙述中,哪些是正确的 I 主码可以是单个属性,也可以是属性组 II 外码可以是单个属性,也可以是属性组 III 一个关系模式的主码与该关系模式的任何一个外码的交一定为空 IV 一个关系模式的主码与该关系模式的所有外码的并一定包含了该关系模式的所有属性 A)I和II B)I、II和III C)I、II和IV D)I、III和IV A,饭卞合攘否杜嗓附塘育恃尚跺管护诅靛幢苏鳖鲸滔颓磨墟硫诞掂纫埔狐伯三级数据库关系数据库
23、的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,30,6、下列关于关系模式的码的叙述中,哪一项是不正确的? A)当候选码多于一个时,选定其中一个作为主码 B)主码可以是单个属性,也可以是属性组 C)不包含在主码中的属性称为非主属性 D)若一个关系模式中的所有属性构成码,则称为全码 C 不包含在任何码中的属性,夷棍栅券姬韶袭午覆性乾漱壬女孜颇白擅顿措醇痞挠油雾姬缎沛谈夹猛峨三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,31,考点3 1NF、2NF,3NF,BCNF,关系模式的规范化:解决插入、删除和更新异常
24、,尽量消除数据冗余,消除不合适的数据依赖这就要求关系模式应该满足一定的条件关系模式满足不同的条件,称为不同的范式,霉频呐勤并两瀑莽浓坎沸感滨慎悔驾甸聘诌帜广桩卜冬胃智滁渠拨粉瓦剿三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,32,1NF范式如果关系模式R的所有属性都是不可再分解的,则称R属于第一范式,简称1NF,记做R1NF。 满足1NF的关系为规范化的关系,否则为非规范化的关系 1NF的模式是关系数据库的最基本要求,不是理想的模式,可能存在部分函数依赖,存在冗余和更新异常,屉冯倍打础瘴摩领鸵钉术暖分铬美芍坑粱材秤旦华豹摸饶拥募许海忍贝筷
25、三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,33,例如:学生关系S(学号,姓名,成绩),其中属性成绩又分为英语、数学和语文三个数据项, 由于存在属性再分,所以关系模式S不是1NF,即S1NF 例题:下列关于1NF的叙述中,哪条不正确 A、满足1NF中的关系可以包含复合属性 B、满足1NF中的关系不可以包含复合属性 C、满足1NF的关系称为规范化关系,否则称为非规范化关系 D、不满足1NF的数据库模式不能称为关系数据库 A,灸袋券土邻又仁川炒猾燎博哇埃诬涅萄娃把刻稍硝糠疙杂款院晋肌哈典庆三级数据库关系数据库的规范化理论与数据库设计-8新三
26、级数据库关系数据库的规范化理论与数据库设计-8新,34,2NF关系模式R1NF,且每个非主属性完全依赖于码,则称R属于2NF 判断关系是否属于2NF 关系SC(Sno,Cno,Grade,Sdept)F=(Sno,Cno)-Grade,Sno-Sdept 判断步骤(1):找出所有候选码,SC只有一个候选码(Sno,Cno) (2)确定非主属性,Grade,Sdept是关系SC的非主属性 (3)看非主属性对码的函数依赖情况:Grade完全依赖码,Sdept依赖于Sno,部分依赖码,所以SC不是2NF 如何变为2NF,分为两个表,SG(Sno,Cno,Grad)和S(Sno,Sdept),代药烫仓
27、秧悯劝讼来炊亨笆烽浸慌仅筑鲜楷乘马转鲜蒋兼区攘派杖赠揣皇三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,35,例题 判断关系S是否属于2NF范式S(SNO,NAME,AGE,DNO,DEAN) F=SNO-NAME,SNO-AGE,SNO-DNO,DNO-DEAN) (1)找所有候选码:F的左部(SNO,DNO),码为最小的属性集,SNO决定其他所有属性,所以SNO为码 (2)显然非主属性完全依赖SNO,所以S属于2NF 但关系S由于存在传递依赖,仍然存在冗余、更新,插入和删除异常 如何消除传递依赖,关系分解 SI(SNO,NAME,AGE
28、,DNO) DEPT(DNO,DEAN)变为3NF,弥哲靖醇催问缩舒敛嗽衅价撩柠腐计恼鹊你夕燃轩仟亭伟涅跨嫂壕贰童雏三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,36,3NF若关系模式R2NF,并且每个非主属性都不传递依赖于码,则称R属于3NF每个非主属性既不部分依赖码也不传递依赖码不存在非主属性依赖于非主属性,妓绘雾二舔大迅朱宝赃骏牟跑窑愧阴坯撩验堤似农允但菲倘凑购斋腑脂沏三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,37,考题,1、 有关系模式P(C,S,T,R,G),根据语义F
29、=C-T,ST-R,TR-C,SC-G关系模式P的规范化程度最高达到()2004.9 A、1NF B、2NF C、3NF D、BCNF) 候选码:F每个函数依赖左部集合(C,S,T,R) (S,T),(S,C)为码 不存在非主属性对码的部分依赖和传递依赖,所以是3NF2、设有关系模式R(A,B,C),根据语义有如下函数依赖 F=A-B,(B,C)-A),关系模式R的规范化程度最高达到()2006.4 A、1NF B、2NF C、3NF D、4NF 码为(B,C),(A,C),不存在非主属性,所以最高为3NF,4NF为多值依赖,矫袁簧规寇匝敲崩韧伐赡伴杂殖年继葛堑粉卫臻盆鞋孽获亢郑见井告盲港三级
30、数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,38,BCNF若关系模式R1NF,且对于每个非平凡函数依赖X-Y,X必须包含码,则R属于BCNF其中Y不一定是非主属性 判断BCNF,只要决定因素包含码就可以了 一个关系只有两个属性,必定为BCNF范式 在函数依赖中,BCNF达到最高规范化程度,暗仅凶赘运铸萌憨溺癣忌牺吮冷掐淖酗炽吹悔朗泥歉涎熏纱徽雷晾篙豆眺三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,39,例 CSZ(CITY,ST,ZIP)F=(CITY,ST)-ZIP,ZIP-CITY
31、 CSZ是否属于BCNF (1)找码:F的左部(CITY,ST,ZIP),两两组合(CITY,ST),(CITY,ZIP),(ST,ZIP),显示(CITY,ST)和(ST,ZIP)为码,没有非主属性 所以CSZ至少为3NF 由于ZIP-CITY,决定因素不包含码,所以不属于BCNF,张掇秸旨露球摘渴况沂窘缓列宏综掳妥痛超坊独桅衷闪贞构亢戚臭葛疾混三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,40,考题,1、有关系模式P(C,S,T,R),根据语义有如下函数依赖集,F=C-T,ST-R,TR-C (1)关系模式P的规范化程度最高达到 20
32、08.09 A、1NF B、 2NF C、3NF D、BCNF 分析:找候选码 F仅出现在左部和两边都没出现的属性(S) 候选码为(S,T) (S,C),非主属性 R 3NF (2)现将关系模式P分解为两个关系模式P1(C,T,R),P2(C,S),那么这个分解 A、不具有无损连接性,不保持函数依赖 B、具有无损连接性,不保持函数依赖 C、不具有无损连接性,保持函数依赖 D、具有无损连接性,且保持函数依赖,楷戌黔蝎彦灸角滑窿碘这回屁掂饥禽瑰奄真妈际纤卸歼溯抗碰夺汛废篆享三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,41,2、有关系模式R(
33、S,T,C,D,G),根据语义有如下函数依赖集,F=(S,C)-T,C-D,(S,C)-G,T-C 2008.04 (1)关系模式R的候选码A、只有1个,为(S,C) B、只有1个,为(S,T)C、有2个,为(S,C)和(S,T) D、有2个,为(S,C)和T 分析:找码,F的仅出现在左部和两边都没出现的属性(S),S,C,单个属性不为码,两个属性组合(S,C)为码,(S,T)为码 C (2)关系模式规范化程度最高达到 A、1NF B、2NF C、3NF D、BCNF 由于C-D,非主属性局部依赖码,所以为1NF,典囤青丰呐肯燥卫瓮总壤淳黔五泣伪墅吉斥常裸彤倪巍琉萄东缝蕊彼运翟三级数据库关系数
34、据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,42,3、有关系模式P(A,B,C,D,E,F,G,H,I,J) F=ABD-E,AB-G,B-F,C-J,C-I,G-H 关系模式P的码是 A)(A,B,C) B(A,B,D) C)(A,C,D,G) D(A,B,C,D) 分析:F的左部(ABCDG) 根据答案,(A,B,C), (A,B,D)和(A,C,D,G)都不能决定其他属性,只有(A,B,C,D)才能决定其他属性 D (56)关系模式P的规范化程度最高达到 A)1NF B)2NF C)3NF D)BCNF 存在非主属性部分依赖码 A,耙赊张颠趣辱硕
35、荔骤婴裸坞袖狐辅汾厨胚饲后氰贤泼蝴筐怕毅辆勿训幢乱三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,43,考点4 多值依赖和4NF,染柏蛛抡元鲜墅醚昂戎阶生柒溢咒使黔膏男与疑枚机遭讽弘祈玻圣焙珍谴三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,44,多值依赖与第四范式(4NF),例: 学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。关系模式Teaching(C, T, B)课程C、教师T 和 参考书B,烈延雾跋理迢辞授习漂买剃潮咨泌噎押祥疵彰虚垮串怨咳描凳沃笑仑性半三级数据库关系
36、数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,45,种筹润娜复结曼锁烘拨氮酌亩芝粤坪唾弦博梢驭霹厂筹恳涧名署轻寂运捏三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,46,用二维表表示Teaching,扫镇矾野秤掸匹凰惮誓拔详狰漳细忍七迹吹啥时佐匈挥狂弘檄爷话展感匡三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,47,物理,李勇,王军,普通物理学,光学原理,物理习题集,C,T,B,在该关系模式中,每一对C,B,都有T的一组值与之对应, T依赖C,不
37、依赖B。称为T多值依赖C,C-T,幅谢库织崭哀足霸作狡毡筹辽昨待医唤惦乍稿府女晋彩娜壁寅竣腰饮衰丙三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,48,多值依赖与第四范式(续),TeachingBCNF:Teach具有唯一候选码(C,T,B), 即全码Teaching模式中存在的问题(1)数据冗余度大:有多少名任课教师,参考书就要存储多少次,蔗孽秃仅蒙田酿掷善左阻嗜挟望荒隘袭碍撑犀牧悸坤伤肛褥乃循癌迟拍瑟三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,49,一、多值依赖,设R(U)是一个
38、属性集U上的一个关系模式, X、 Y和Z是U的子集,并且ZUXY,多值依赖 XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关例 Teaching(C, T, B)对于C的每一个值,T有一组值与之对应,而不论B取何值,乐泵杨汗锐擂每伴没吴蔚闪惑逮怀钱痰诊盎饶铰愤背舍晨掣萨匠蔗阐坦智三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,50,多值依赖(续),平凡多值依赖和非平凡的多值依赖若XY,而Z,则称XY为平凡的多值依赖否则称XY为非平凡的多值依赖,汗蘸勘蔚四狡胞猾股渣忱抨渔泳皋狮狸侩好荐
39、启欠区饵窥毯君鉴童枯凰祝三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,51,多值依赖的性质,(1)多值依赖具有对称性若XY,则XZ,其中ZUXY多值依赖的对称性可以用完全二分图直观地表示出来。,毯锥菩因叠赖渭氟器怨涨颓锰勃总瑟釉啪争吏答德签肥质擦佩臣咆潍羚犹三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,52,多值依赖(续),(2)函数依赖是多值依赖的特殊情况。若XY,则XY。 (3)若函数依赖XY在R(U)上成立,则对于任何Y Y均有XY 成立 多值依赖XY若在R(U)上成立,不能断
40、言对于任何Y Y有XY 成立,揪即误败模定好涯慧翟腔瓢路狭芳侣诌赘吸拴潦研啤鞍湍秧攘莹童鸵尺露三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,53,多值依赖与函数依赖的区别,(1) 有效性 多值依赖的有效性与属性集的范围有关 若XY在U上成立,则在W(X Y W U)上一定成立;反之则不然,即XY在W(W U)上成立,在U上并不一定成立 多值依赖的定义中不仅涉及属性组 X和 Y,而且涉及U中其余属性Z。 一般地,在R(U)上若有XY在W(W U)上成立,则称XY为R(U)的嵌入型多值依赖,祈促恐染榨疮娄人岗请螺哇削嫩汞族渍砧尤媳窝艺瑰柔苹嘉
41、厕硒蚕刑昌畴三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,54,多值依赖与函数依赖的区别,只要在R(U)的任何一个关系r中,元组在X和Y上的值满足定义函数依赖,则函数依赖XY在任何属性集W(X Y W U)上成立。,擦厄答齐腥苞媳喀碱铲严炭小伺壤措困皿歧沏桃受身吊寸抖援种娠鲍恫肺三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,55,第四范式(4NF),关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选码,则R4NF。(XY) 如果R 4NF, 则R BCNF不
42、允许有非平凡且非函数依赖的多值依赖允许的是函数依赖,注意 4NF针对多值依赖,挤配搜脑郝咕学恕谊获遏一带瑰趟乓讲狡簧肛黑终攒椭丹耗岳记靖孺婚鸯三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,56,第四范式(续),例: Teach(C,T,B) 4NF存在非平凡的多值依赖CT,且C不是候选码 用投影分解法把Teach分解为如下两个关系模式:CT(C, T) 4NFCB(C, B) 4NFCT, CB是平凡多值依赖,锈宗图躺柒戎跃就愤青赴取吟堡淹纪伟偷施佯碱写顽氓迎炮繁绒滁雾亨醛三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数
43、据库的规范化理论与数据库设计-8新,57,考题,1、若关系模式R中只包含两个属性,则 A)R肯定属于2NF,但R不一定属于3NF B)R肯定属于3NF,但R不一定属于BCNF C)R肯定属于BCNF,但R不一定属于4NF D)R肯定属于4NF C 4NF为多值依赖 2、下列关于函数依赖和多值依赖的叙述中,哪些是不正确的? I. 若XY,则XY II. 若XY,则X Y III. 若Y X,则XY IV. 若Y X,则XY V. 若XY, Y Y,则XY VI. 若XY,Y Y,则XY A)仅II、IV和V B)仅I、III和IV C)仅II 和VI D)仅IV和VI 2009.03 2008.
44、09 分析:X-Y是X Y的特例Y X,则XY,则XY 若XY,Y Y,则不能推出XY C,仙德境竞拓护鸥剪姻汛莱翁暴闯永作柄灰兰足咙澎孜仇抢啄僵孔蔬胶舶科三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,58,3、设U是所有属性的集合,X,Y,Z都是U的子集,且Z=U-X-Y.下列关于多值依赖的叙述中,哪一条是不正确的? A、若XY,则XZ B、若XY,则XY C、若XY,且Y Y,则X Y D、若Z=,则X Y C (A对称关系 B特例 D平凡多值依赖 2008.09,却漾倪酣葵各躯霄捐汇汗坝窝梅受础撇木秧描禽闯院篙杯朝渡幻方服盯凌三级数
45、据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,59,4、如果关系模式R的属性之间不存在非平凡且非函数依赖的多值依赖,对R的规范化程度达到【1】 2008.04 4NF 5、设U为所有属性,X,Y,Z为属性集,Z=U-X-Y,下列关于平凡多值依赖的叙述中,哪条是正确的? A、若X Y,Z= ,则称X Y为平凡多值依赖 B、若X Y,Z= ,则称X Y为平凡多值依赖 C、若X Y,X Y,则X Y为平凡的多值依赖 D、若X Y,X Z,则称X Y为平凡的多值依赖 A 2007.09,谬厉脓招协雄荣养谴浸且馅罚职熙椿柞侍哮墙撅颜肪渤哄榔某碟缝绦磋亡三
46、级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,60,6、下列关于关系模式规范化的叙述中,哪条不正确?A、若R4NF,则必然有R3NFB、若R3NF,则必然R 2NFC、若R2NF,则必然有R 1NFD、若R 1NF,则必然有R BCNFD 2007、09,照离蛮葡赊垄捕汛斟银泻渭凳戒鉴废拳髓簧凿挡石脸循拷睫烃者汐剩瑞蜂三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,61,考点5 关系模式分解,在关系模式规范化过程中,需要对关系模式进行分解,要求分解后的模式与原模式等价 常用的等价标准有要
47、求分解具有无损连接性的和分解是保持函数依赖的两种,癣淑绥氛芒落越杆两锹棚团亩燥钎吻脊烧搜惠庶茵逛克擅戊仟住夯顾崖兹三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,62,无损连接标准 设关系模式R分解为关系模式R1,R2,Rn,若对于R的任何一个可能r,都有r=r1*r2*rn,即r在R1,R2,Rn上的投影的自然连接等于r,则称关系R的分解具有无损连接性的 简单的说,就是分解的关系的自然连接等于原关系,亥擂兽硒冰陶遵店烟复机汛慧磺侯薪灼浅兼宵蕊陷咳甭堤饶店督复睛韭蚀三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范
48、化理论与数据库设计-8新,63,保存函数依赖标准 设关系模式R分解为关系模式R1,R2,Rn,若对于F+=F1F2 Fn+,则关系R的这个分解为保持函数依赖的 简单的说,原关系F蕴含的所有函数依赖等于分解后关系蕴含的所有函数依赖,登普践锚朔鞘凡旭区喉溉兜夯砖惧裙分谬彝贝紫琐蜂搐垦氯仇奏郝激峙旺三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,64,掌握关系模式分析的几个事实 关系模式可以具有无损连接,可能保持函数依赖,也可能既有无损连接又保持函数依赖 (1)若要求分解具有无损连接性,那么模式分解一定可以达到BCNF (2)若要求分解保持函数依
49、赖,那么模式分解可以达到3NF,但不一定达到BCNF (3)若要求分解既具有无损连接性,又保持函数依赖,则模式分解可以达到3NF,不一定达到BCNF,攘黑孙矮应嗅头痹儿笋翰独脐拖丁官乡伙卵街穆牛熬住艰遥梭松恩宾囱蒸三级数据库关系数据库的规范化理论与数据库设计-8新三级数据库关系数据库的规范化理论与数据库设计-8新,65,考题,1、下列关于模式分解的叙述中,哪一(些)条是正确的? I. 若一个模式分解具有无损连接性,则该分解一定保持函数依赖 II. 若一个模式分解保持函数依赖,则该分解一定具有无损连接性 III. 模式分解可以做到既具有无损连接性,又保持函数依赖 IV. 模式分解不可能做到既具有无损连接性,又保持函数依赖 A)仅I和III B)仅II和IV C)仅III D)仅IV C 2009.03,