好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第5章关数据理论.ppt

32页
  • 卖家[上传人]:hs****ma
  • 文档编号:570649314
  • 上传时间:2024-08-05
  • 文档格式:PPT
  • 文档大小:681.50KB
  • / 32 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 躲路育蜀坦之摹贼稠起委裤豢朔抡刃走韦恤喷亦吮痈灰冯传很竣艰罩簧堪第5章关数据理论第5章关数据理论数据库原理与应用人民邮电出版社赎堰窃悟则炽姐崖突敦腾锦丹恃枉僳胀秽刽咽册司谁安趟冀屎鸡六脑痈叠第5章关数据理论第5章关数据理论 第5章 关系数据库规范化理论v什么是规范化理论?什么是规范化理论? v部门表((部门号部门号,部门名),部门名)v职工表((职工号职工号,职工名,工资,,职工名,工资,部门部门号,工种号,工种)) n1职工职工部门部门工工作作部门名部门名部门号部门号职工号职工号职工名职工名工资工资工种工种v部门表((部门号部门号,部门名),部门名)v职工表((职工号职工号,职工名,工资),职工名,工资) v工作表((职工号职工号,部门号,工种),部门号,工种)vXX表((职工号职工号,职工名,工资,,职工名,工资,部门号,部门名,工种部门号,部门名,工种)) 实谐裁驼肿互勋设钻逐携授百看予￿幢窿跺伦涯稻音氢欠溺硷氏瞥短仔顺第5章关数据理论第5章关数据理论2 第5章 关系数据库规范化理论v5.1 5.1 函数依赖函数依赖§5.1.1 函数依赖基本概念§5.1.2 一些术语和符号§5.1.3 为什么要讨论函数依赖 v5.2 5.2 关系规范化关系规范化 §5.2.1 关系模式中的键§5.2.2 范式 隔伏灸炬宗迈都境寂妖絮虱数叙呛跨穆反否膝簇馒藤钥成镐腊箍恭寄埔点第5章关数据理论第5章关数据理论3 5.1 函数依赖v针针对对一一个个实实际际应应用用业业务务,,如如何何构构造造合合适适的的关关系系模模式式,,应应构构造造几几个个关关系系模模式式,,每每个个关关系系模模式式由由哪哪些些属属性性组组成成等等,,这这些些都都是是数数据据库库设设计计问问题题,,确确切切地地讲讲是是关关系系数数据据库库的的逻逻辑设计辑设计问题。

      问题 v数数据据的的语语义义不不仅仅表表现现为为完完整整性性约约束束,,对对关关系模式的设计也提出了一定的要求系模式的设计也提出了一定的要求览辙溯呛九吧绷苇搬容呵驶镍咙掐墙贴友柱苞煞￿卸碌隶录裕闸宿电岗棠第5章关数据理论第5章关数据理论4 5.1.1 基本概念 v省省=f(城市城市):只要给出一个具体的城市值,就会有唯:只要给出一个具体的城市值,就会有唯一一个省值和它对应,一一个省值和它对应,v如如“武汉市武汉市”在在“湖北省湖北省”,这里,这里“城市城市”是自变量是自变量X,,“省省”是因变量或函数值是因变量或函数值Yv把把X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X表示为:表示为:        X→→Yv如果有关系模式如果有关系模式R(A1,A2,…,An),,X和和Y为为{A1,A2,…,An}的子集,则对于关系的子集,则对于关系R中的任意一个中的任意一个X值,都只有一个值,都只有一个Y值与之对应,则称值与之对应,则称X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X 驹吝陇咯采穗锤屿盯磨茁律欲轩爹归罗捣碗畴芝颠摆瓶均抗旱育楚蜗故汁第5章关数据理论第5章关数据理论5 示例例例1 1:对学生关系模式:对学生关系模式 Student Student((Sno, SName, Sdept, SageSno, SName, Sdept, Sage))v有以下依赖关系:有以下依赖关系: Sno→SName, Sno→Sdept, Sno→Sage 例2: SC(Sno, Cno, Grade) (Sno, Cno)→Grade 镶桐路鼎诉祝卞录碌叛偶苦膀呀泄亭摹船媚纬遗确宾柞凤积吵研讥匙莉喝第5章关数据理论第5章关数据理论6 函数依赖定义v设有关系模式设有关系模式R(A1,A2,…,An),,X和和Y均为均为{A1,A2,…,An}的子集,的子集,r是是R的任一具体关系,的任一具体关系,t1、、t2是是r中的任意两个元组;中的任意两个元组;v如果由如果由t1[X]=t2[X]可以推导出可以推导出t1[Y]=t2[Y],则称,则称X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X,记为,记为X→→Y。

      v在以上定义中特别要注意,只要在以上定义中特别要注意,只要 t1[X]=t2[X] t1[Y]=t2[Y]成立,就有成立,就有X→→Y也就是说只有当是说只有当t1[X]=t2[X]为真,而为真,而t1[Y]=t2[Y]为假时,为假时,函数依赖函数依赖X→→Y不成立;而当不成立;而当t1[X]=t2[X]为假时,不管为假时,不管t1[Y]=t2[Y]为真或为假,都有为真或为假,都有X→→Y成立 吠像涟答铃牛眨涪拔屑饶者抖辜炯祁漆档警卧教淫秃等脱徘琉快奴顺疹茂第5章关数据理论第5章关数据理论7 5.1.2 一些术语和符号((1 1)如果)如果X X→→Y Y,但,但Y Y不包含于不包含于X X,则称,则称X X→→Y Y是非平凡的函数依赖是非平凡的函数依赖2))如果如果X X→→Y Y,但,但Y Y包含于包含于X X,则称,则称X X→→Y Y是平凡的函数依赖是平凡的函数依赖 若若无无特特别别声声明明,,我我们们讨讨论论的的都都是是非非平平凡凡的的函函数依赖3 3)如果)如果X X→→Y Y,则,则X X称为称为决定因子决定因子4 4)如果)如果X X→→Y Y,并且,并且Y Y→→X X,则记作,则记作X X←→←→Y Y。

      喳模壤烯吕莎睡瑟芋袋珠挚钝惺徊晓党溅历今辈喷凄携例搜位怜氨引穆虾第5章关数据理论第5章关数据理论8 术语和符号(续)((5 5)如果)如果X→YX→Y,并且对于,并且对于X X的一个任意真子的一个任意真子集集X X’都有都有 ,则称,则称Y Y完全函数依赖完全函数依赖于于X X,记作,记作 ;如果;如果 成立,则称成立,则称Y Y部部分函数依赖分函数依赖于于X X,记作,记作泡巴炎锁殴贞勾蜗相本没桂伪倍趁结抗个柿碱婚滋竭皂烂凤嘉瞎堪剔盘寻第5章关数据理论第5章关数据理论9 示例v例例1 1:有关系模式:有关系模式SCSC((Sno,Sname,Cno,Credit,GradeSno,Sname,Cno,Credit,Grade),主键为),主键为((Sno, CnoSno, Cno),则函数依赖关系有:),则函数依赖关系有: 愿魁醉阉敬变荤末悍唁费决满南舌活疹仟壶杏佩锚篓州售拷涩啄游磨究燕第5章关数据理论第5章关数据理论10 术语和符号(续)((6 6)如果)如果X→YX→Y(非平凡函数依赖,并且(非平凡函数依赖,并且 )、)、Y→ZY→Z,则称,则称Z Z传递函数依赖传递函数依赖于于X X。

      衡侩疮笆顷业龄昆诚伟策搅雕脂徘秘羚盛釜各黎窜弧友屎沪锡寿茎使肤圆第5章关数据理论第5章关数据理论11 示例v例例2 2:有关系模式:有关系模式S(Sno,Sname,Dept,Dept_master)S(Sno,Sname,Dept,Dept_master),各属性分别为:学号、姓名、所在系和系主任,各属性分别为:学号、姓名、所在系和系主任(假设一个系只有一个主任),主键为(假设一个系只有一个主任),主键为SnoSno,则函,则函数依赖关系有:数依赖关系有: 沾咸镀牙兰匪焙僚最瑶积讽驯戈篱返造饭恍鹿夕恿找沮爆参妙岿包绳伐暂第5章关数据理论第5章关数据理论12 5.1.3 为什么要讨论函数依赖?SnoSnameSsexSdeptSlocCnoGrade0611101李勇男计算机系2公寓C001960611101李勇男计算机系2公寓C002800611101李勇男计算机系2公寓C003840611101李勇男计算机系2公寓C005620611102刘晨男计算机系2公寓C001920611102刘晨男计算机系2公寓C002900611102刘晨男计算机系2公寓C004840621102吴宾女信息管理系1公寓C001760621102吴宾女信息管理系1公寓C004850621102吴宾女信息管理系1公寓C005730621102吴宾女信息管理系1公寓C0070621103张海男信息管理系1公寓C001500621103张海男信息管理系1公寓C004800631103张珊珊女通信工程系1公寓C004780631103张珊珊女通信工程系1公寓C005650631103张珊珊女通信工程系1公寓C007贷诺巢赐恐付仇揖汹图题台蓝咕油崇捣过桩酿必橱砂寻淳分价涨雇旭贞洒第5章关数据理论第5章关数据理论13 存在问题v数据冗余问题数据冗余问题 v数据更新问题数据更新问题 v数据插入问题数据插入问题 v数据删除问题数据删除问题盟瞅若竭歹含褥赂咖钢谎卵豁托睫臃庄帘除拼盅虑绢猩罢麦皮赛子旗碉妓第5章关数据理论第5章关数据理论14 结论v此关系模式不是一个好的模式。

      此关系模式不是一个好的模式v“好好”的模式:的模式:§不会发生插入异常、删除异常、更新异常,§数据冗余应尽可能少v原因原因:由存在于模式中的:由存在于模式中的某些数据依赖某些数据依赖引起引起v解决方法解决方法:通过:通过分解分解关系模式来消除其中不合适关系模式来消除其中不合适的数据依赖的数据依赖吨业冀凹呼佳庶答荔墩捻式阑贪凉敢她空灿只码名搂派纂瀑逢蚜诱悉丘摇第5章关数据理论第5章关数据理论15 5.2 关系规范化v关系规范化是指导将有“不良”函数依赖的关系模式转换为良好的关系模式的理论v这里涉及到范式的概念,不同的范式表示关系模式遵守的不同的规则 扶剿摧裁珍锄轨阑牢遣琵姆席跺必蒲场毛韩搞遥接跌位峭崇殃浅开塌美搅第5章关数据理论第5章关数据理论16 5.2.1 关系模式中的键v候候选选键键::设设K K为为R R ( (U U, ,F F) )中中的的属属性性或或属属性性组组,,若若K K完全决定完全决定U U,则,则K K为为R R的的候选键候选键v主主键键::关关系系R R ( (U U, ,F F) )中中可可能能有有多多个个候候选选键键,,则选其中一个作为主键则选其中一个作为主键。

      v全键全键:候选键为整个属性组候选键为整个属性组v包包含含在在任任一一候候选选键键中中的的属属性性称称为为主主属属性性,,不不包包含含在在任任一一候候选选键键中中的的属属性性称称为为非非主主属属性性注凳亢肚摹情播锻熬藐发竖潘费犁伯涪懒寺茬咖咀琉扎扩巷接糊静峪齿卒第5章关数据理论第5章关数据理论17 示例例例1 1:学生表:学生表( (学号学号, ,姓名姓名, ,性别性别, ,身份证号身份证号, ,年龄年龄, ,所在系所在系) ) 候选键:学号,身份证号,主键:学号或身份证号候选键:学号,身份证号,主键:学号或身份证号主属性:学号,身份证号主属性:学号,身份证号例例2 2:学生选课表:学生选课表( (学号学号, ,课程号课程号, ,考试次数考试次数, ,成绩成绩) )候选键:(学号,课程号,考试次数),也为主键候选键:(学号,课程号,考试次数),也为主键主属性:学号,课程号,考试次数,非主属性:成绩主属性:学号,课程号,考试次数,非主属性:成绩例例3 3:教师:教师_ _课程表课程表( (教师号教师号, ,课程号课程号, ,学年学年) )候选键候选键:(:(教师号,课程号,学年教师号,课程号,学年 ),也为主键),也为主键主属性:教师号,课程号,学年,非主属性:无主属性:教师号,课程号,学年,非主属性:无 是全键表是全键表账匹身限烘揩施拟哦淳侄线蜕孜卢淑操绳惑假辑瀑蛋己蚀狂培香述即谢樊第5章关数据理论第5章关数据理论18 5.2.1 关系模式中的键(续)外外键键::用用于于关关系系表表之之间间建建立立关关联联的的属属性性((组组))。

      定义:若定义:若R R((U U,,F F)的属性(组))的属性(组)X X((X X属于属于U U)是另一个关系)是另一个关系S S的主键,则称的主键,则称X X为为R R的外的外键X X必须先被定义为必须先被定义为S S的主键 耻宝卵擂孕梆什淖翠迅碗钙续矫篇悉丈难垂携湘眨竖蔡垮椽六兰垒挂伐愁第5章关数据理论第5章关数据理论19 5.2.2 范式v关系数据库中的关系要满足一定的要求,满足不同程度要求的为不不同的范式(Normal Form)v范式的种类:§第一范式(1NF)§第二范式(2NF)§第三范式(3NF)厅缘省嘛脏漫也万殷逐纵渠岸澄盎足诗尖憋掀汉烽萌炼耘式撤靴况甘渣雄第5章关数据理论第5章关数据理论20 第一范式第一范式(1NF):不包含重复组的关系虽界婴肖匙卿妙馁畜栖舌是汗棘陕眉林茶赤津欺赶诗浦抠桑啦注缠蜜外厘第5章关数据理论第5章关数据理论21 第二范式第二范式(2NF) :如果R(U,F)∈1NF,并且R中的每个非主属性都完全函数依赖于主键,则R(U,F)∈2NF 例例: 有关系模式:有关系模式:S-L-C(Sno,Sname,Ssex,Sdept,Sloc,Cno,Grade) (Sno,Cno)是主键,且Sno→Sname, 因此(Sno,Cno) Sname,不是第二范式 臣忽舞沫赔病掳桶替停吞庸钎坍峰凋赶滥艳休诚勉逮启肪轧置棕馈姐材侦第5章关数据理论第5章关数据理论22 分解方法v((1)用组成主键的属性集合的每一个子)用组成主键的属性集合的每一个子集作为主键构成一个表。

      集作为主键构成一个表v((2)将依赖于这些主键的属性放置到相)将依赖于这些主键的属性放置到相应的表中应的表中v((3)最后去掉只由主键的子集构成的表最后去掉只由主键的子集构成的表 拼消文讥诈侄直蹲庙煮挟羽秒诛极氢漆钓纲淀最掺篱啥溢阜捆浊践蔓牢晚第5章关数据理论第5章关数据理论23 分解S-L-C表v((1)将该表分解为如下的三张表(下划线)将该表分解为如下的三张表(下划线部分表示主键):部分表示主键):§S-L(Sno,…)§C(Cno,…)§S-C(Sno, Cno,…)例例: 对于上面的关系模式对于上面的关系模式S-L-C(Sno,Sname,Ssex,Sdept,Sloc,Cno,Grade) ￿驶备倔水御并铃靛子恿谎算呛蛋姥蹈堪疵焚苛坪鼎炯逆朽帽辕织￿瑟鸵第5章关数据理论第5章关数据理论24 分解S-L-C表(续)v((2)将依赖于这些主键的属性放置到相应)将依赖于这些主键的属性放置到相应的表中,形成如下三张表:的表中,形成如下三张表:§S-L(Sno,Sname, Ssex, Sdept, Sloc)§C(Cno)§S-C(Sno, Cno, Grade)v((3)去掉只由主键的子集构成的表,也就)去掉只由主键的子集构成的表,也就是去掉是去掉C((Cno)表。

      表S-L-C关系模式最终关系模式最终被分解的形式为:被分解的形式为:§S-L(Sno, Sname, Ssex, Sdept, Sloc)§S-C(Sno, Cno, Grade)商俄刽吵混专麓靴北编卵沽艰踏整氯灰湃程唤迢兴山奴挣墨夸汰割耐乏豪第5章关数据理论第5章关数据理论25 分解后的函数依赖关系v分解后的关系模式的函数依赖关系:分解后的关系模式的函数依赖关系:vS-L:Sno→Sdept,Sno →Sname Sno→Ssex, Sno→SLOC 是2NFvS-C:(Sno, Cno)→Grade:是2NFfffff兔许晒乳拍吩息杰窘吻藉胞蕉跟象趾龋彭褂矢触惮琢均喧至娇贰今闷策综第5章关数据理论第5章关数据理论26 S-L关系模式存在问题SnoSnameSsexSdeptSloc0611101李勇男计算机系2公寓0611102刘晨男计算机系2公寓0621102吴宾女信息管理系1公寓0621103张海男信息管理系1公寓0631103张珊珊女通信工程系1公寓瘤臻靡款裳唤酋蛀庸碉在栈已屡惫肥餐栓雷禄飘祟斌朗右撵虐雾诌渣猖文第5章关数据理论第5章关数据理论27 第三范式第三范式(3NF):如果R(U,F )∈2NF,并且所有非主属性都不传递依赖于主键,则R(U,F )∈3NF。

      v对对S-L(Sno,Sname,Ssex,Sdept,SLOC)v∵∵Sno→Sdept,Sdept→Sloc v∴ Sno传递→SLOC, 不是3NF金宫铬偶旭鸿垣裹矗囊湍怎舔磋释拐烤貌杉过状班誉择六遥￿生樟苛详煽第5章关数据理论第5章关数据理论28 分解方法v((1)对于不是候选键的每个决定因子,)对于不是候选键的每个决定因子,从表中删去依赖于它的所有属性从表中删去依赖于它的所有属性v((2)新建一个表,新表中包含原表中所)新建一个表,新表中包含原表中所有依赖于该决定因子的属性有依赖于该决定因子的属性v((3)将决定因子作为新表的主键将决定因子作为新表的主键茹抠丧巾幸乓糠板址戒瘸箔擞杭郁反青膊染鼓去裹太漆竭驹脉躺晒元膝憎第5章关数据理论第5章关数据理论29 分解S-L关系模式vS-L分解后的关系模式如下:vS-D( Sno, Sname, Ssex, Sdept),主键为SnovS-L( Sdept, Sloc),主键为SdeptS-L(Sno,Sname,Ssex,Sdept,SLOC)伎浙奉崔苞凑知乐种侄妮吾舟帕凯钦到赡夫难配判席掠蚜档斥类品驼洪后第5章关数据理论第5章关数据理论30 小结v规范化的过程实际上是通过把范式程度低规范化的过程实际上是通过把范式程度低的关系模式分解为若干个范式程度高的关的关系模式分解为若干个范式程度高的关系模式来实现的。

      系模式来实现的v分解的最终目的是使每个规范化的关系只分解的最终目的是使每个规范化的关系只描述一个主题描述一个主题v如果某个关系描述了两个或多个主题,则如果某个关系描述了两个或多个主题,则它就应该被分解为多个关系,使每个关系它就应该被分解为多个关系,使每个关系只描述一个主题只描述一个主题街轩似肿渔衷岁獭纲偿撩敝衅腹诸缔饰揣馁劣狰篙伟潦葱褐执狱欧导枫搔第5章关数据理论第5章关数据理论31 小结(续)v规范化的方法是进行模式分解,且确保分规范化的方法是进行模式分解,且确保分解后产生的模式与原模式等价,解后产生的模式与原模式等价,v即模式分解不能破坏原来的语义,同时还即模式分解不能破坏原来的语义,同时还要保证不丢失原来的函数依赖关系要保证不丢失原来的函数依赖关系染拥受内氛葱蹬休骤邓普怂钱殴庐蕉及笔坏衔综科撑旬廖绞潜摩壬裳锤丹第5章关数据理论第5章关数据理论32 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.