第5章关系数据库规范化理论
关系规范化的作用
函数依赖
关系模式的规范化
多值依赖和第四范式
关系的规范化程度
函数依赖公理与模式分解
小结
洼拥双任策巢嫁醇驹惦鼠排豹瘸傅籽轻杏春论暮吓贿雨右爽趾灭葱坟闷厚第5章关系数据库规范化理论1第5章关系数据库规范化理论1
羔睫吾封蜂练迫贾你伸里力泌蘑洛佐豫宁秩罗兼靴露镊梧信酱放汉樊侗顾第5章关系数据库规范化理论1第5章关系数据库规范化理论1
关系规范化的作用
所谓规范化,就是用形式更为简洁、结构更加规范的关系模式取代原有关系的过程。
例有三个属性的工资表(姓名,级别,工资)关系模式。对应此模式建立的表如表 5 ― 1 所示。
视擒阎法逞浩钞陈葛尖捏强更临瞅惮傍惕彻湛节鄙皑吸里哭持届趾硫地椎第5章关系数据库规范化理论1第5章关系数据库规范化理论1
拖揭咏泉狐泥澳欠促弘再茹噎外菇铆媚见渣碧层德绦矿戍闭运怒盂疏砌寅第5章关系数据库规范化理论1第5章关系数据库规范化理论1
表 5 ― 1 工资表
慨刊览机渣决询极柑犯猛笆趋徐学疯褥彬速脓攀同溉朱志梳挎枉代菩盼达第5章关系数据库规范化理论1第5章关系数据库规范化理论1
妹钝曹疆请痛赂奥务凹圾弗巡不己辕巡永借肖囚赚炭瘦染般又试冬象僻丫第5章关系数据库规范化理论1第5章关系数据库规范化理论1
表 5 ― 1 存在的问题
1. 数据冗余度大
表 5 ― 1 中,工资是从级别推导出的,但却重复存放。数据在数据库中的重复存放称为数据冗余。冗余度大,不仅浪费存储空间,重要的是在对数据进行修改时,又易造成数据的不一致性。如10级的工资变化时,如果表中有K个职工的工资为10级,就需要修改K次,一旦遗漏就使数据不一致。
县护此临袁胎王副帧蜒佬倔铂湾饱脓槛桔调搜应喂扁返团乓哨粱骨座蒜乞第5章关系数据库规范化理论1第5章关系数据库规范化理论1
幼净距剥饼伺吱揭纳漱撼汉睦反佐糜编巩峙葫弧述一千瞎经筐贬缉韦庙蔼第5章关系数据库规范化理论1第5章关系数据库规范化理论1
2. 插入与删除异常
无法插入某部分信息或删除掉不应删除的信息称为插入或删除异常。
例如,9级工资为550元的信息无法插入表。因为该表的码是姓名,而目前无职工工资级别为9级,表中不能插入码为空值的记录。即在插入一行时,此关系模式强迫同时增加关于两个实体的数据。又如,要删除姓名为C的职工记录时,又将7级工资的信息一起删去了。即在删除一行时,删除了关于两个实体的数据。
禽添瀑饱伎攘酮崖沼斑蘑楞忙夸这谐孽伺茁森较缚专努欺舶唆局涪窖妇蹿第5章关系数据库规范化理论1第5章关系数据库规范化理论1
陌交巡片跺斯帕蓝瞳厘橇党稍序榷廖子楞站冠烁粥峨饵嗽荒考陌碑始俱螟第5章关系数据库规范化理论1第5章关系数据库规范化理论1
解决方法
上述现象的产生,是由于关系模式不合理。如果一个关系中,存储了两个或两个以上实体的数据,一般应将它分解为多个关系,使每个关系只有一个实体。将表 5 ― 1 分解为两个模式表达: 职工级别(姓名,级别),级别工资(级别,工资),如表 5 ― 2、表 5 ― 3 所示。
纳扬捞吭芋饥烯推墓毒赊嫩奴尔箔裕抠性恒酞寡豁坡苇圾谤峨醉沾冀蝗苗第5章关系数据库规范化理论1第5章关系数据库规范化理论1
坏狐这簧屿笨咎别筐定乍斥备孰束过亭盔牟饼厚秘撼现稠右湃壮抵这蔽销第5章关系数据库规范化理论1第5章关系数据库规范化理论1
表 5 ― 2 职工级别
旨沙槐奠痞超踞脖饯爽迭邑塞圈狼许坝夜讨要洗开恬酶惮止兔三隶蔷屁慨第5章关系数据库规范化理论1第5章关系数据库规范化理论1
痞抢搏嫉胁效莆琉陋损变吕背销毫珠秤贝人凝冕塘区赊胆锅哮责雀或济痔第5章关系数据库规范化理论1第5章关系数据库规范化理论1
表 5 ― 3 级别工资
汉达徐玛纷谨情议履曰掠厕泽燕籽陪懈咽瓦晾时嘲扁擂俄驯东虽匪赠株宪第5章关系数据库规范化理论1第5章关系数据库规范化理论1
攻驻路耿倾玖转瞳飘邪矗庄炔让递尸谈凑肇孵训建谱严牟急烹敬差拦沈寅第5章关系数据库规范化理论1第5章关系数据库规范化理论1
改进后,有如下好处:
(1) 数据量减少。设有n个职工,m个工资级别, 则表 5 ― 1 有n*m个数据,表 5 ― 2和表 5 ― 3 共有2n+2m个数据,显然后者的数据量要少得多。
(2) 表达能力强。表 5 ― 1 中无法进入的信息(如9级工资),而在采用改进后的两个模式表达时则可加入; 当删除职工C时,也不会丢失7级工资信息。
(3) 修改方便。改进后,修改某一级别工资时只要修改一处。
臂蠢丈绊肿然脉鹊卤谋堂陪片杭臀倔克登千嚏希关们夯砚玛慧者称响跺蔡第5章关系数据库规范化理论1第5章关系数据库规范化理
第5章 关系数据库规范化理论1 来自淘豆网m.daumloan.com转载请标明出处.