获得一个BCNF的“成就关系”:R1(学号
发布时间:2019-09-09   动态浏览次数:

  第30卷第6期 同济大学学报 Ⅷ30№6 2002年6月 JOURNALOFTONGJILNI\,tRSITY Jun21X}2 BC范式的鉴定及关系的规范化方式 孙昌言 (同济大学经济取办理学院,上悔200092) 摘要:正在函数依赖的范围内对关系模子的规范化理论及其使用问题进行了切磋起首证了然关于Bc范式两个 定义的等价性,然后提出关于13(2范式的一个适用的鉴定并加以证明,最初系统地提出一整套适用的关系 规范化的具体方式和步调.这些研究有帮于关系规范化理论的进一步完美及其进修和使用 环节词:关系规范化理论;函数依赖;BC范式;鉴定;规范化步调 中围分类号:TP311131 文献标识码:A FOrmand Theoremabout Normal Judgement Boyce—Oodd MethodsofRelationNormaI_zation SUNChang一dan of (SchmlEc㈣iaand 200092.凸m) M日∞t.TDngjlUnN—ersity.Shanghi of and of Abstract:Withinthe function category dependency.thetheoryapplication Form modelarestudied.Atfirst.the oftwodefinitionsabout Normalisproved. equivalency 130yce—C.odd Formis At setof useful theoremabout Normal advancedand last,a Then,a judgement Boyce—Codd proved of are forwardThesestudiescan methodsrelationnormalization give practicallyspecific systematicallyput some tothefurther dtherelationnormalizationits help perfection theory.andapplication. Keywords:relationnormalizationtheory;functiondependency;Boyce—CoddNormal ofnormalization orern;steps 关系模子是目前使用得最为普遍的数据库模子,关系模子的规范化理论是关系型数据库逻辑设想的 根本,消息系统开辟人员对关系规范化的使用能力将间接影响所设想数据库系统的质量,并进而影响整个 系列论文中系统地提出了INF,2N-F和3NF的尺度,并深切切磋了关系进一步规范化的问题,由此奠基r 当前又有人提出了5NF虽然关系规范化的理论研究成长至今曾经相当完整,但仍有进一步完美和充分 的需要.正在函数依赖的范围内,BC范式已达到完满的程度(已完全消弭了无害的函数依赖关系),本文试图 正在函数依赖的范围内对关系规范化的理论和使用做进一步的切磋. 1 BC范式的两个定义及其等价性证明 对1312范式,有以下两个等价的定义. 收穑日期:2001—11—30 做者简介:孙昌言(1949一),男,安徽芜觏^.副传授,工学硬士 同济太学学报 第3tt卷 则.Y必含有尺的环节字(也称健或码).称具有以上性质的关系是13(2范式的… 以上定义申明,正在BCNF中只要环节字才能是函数决定要素.这是利用得最为遍及的关于BCNF的 定义,但它投有曲不雅指出BCNF取3NF的联系取区别下面的定义有帮于对BC.NF的进一步理解 定义2设R是INF的,若尺中的每个属性都不传送函数依赖于尺的任一环节字,则称尺是Bc范式的 系中,仅解除了非从属性对环节字的传送函数依赖,仍然存正在从属性对环节字的部门函数依赖或传送函数 依赖,因此仍然存正在数据冗余度犬、插入非常、删除非常、点窜坚苦等问题.可见BCNF比3NP对无害的函 数依赖分手得更为完全.下面采用反证明这两个定义的等价性 证明(1)设尺满脚定义1前提,倘若R不满脚定义2前提,则存正在尺的环节字』Y、属性A和属性 定义l前提矛盾. (2)设月满脚定义2前提,倘若R不满脚定义1前提,则存正在R中的属性A和属性集¨,有y—A, 字),y—A,A告y,即A传送函数依赖于环节字x,取定义2前提矛盾.等价性证毕. 2关于Bc范式的一个鉴定 下面是笔者给出的一个很是有用的关于BcNF的一个鉴定及其证明. BC范式的鉴定设关系R是3NF的,且R的环节字中至少只要一个是合成环节字,则尺必是 BCNF的. 证明本中“R的环节字中至少只要一个是台成环节字”的前提,可阻分鸺为以下三种环境:①R 的所相关键字都不是合成环节字;②R仅有一个环节字;③R有多个环节字,但仅有一个是合成环节字 下面临三种环境别离加以证明. 从而Y’—矗:,i=1,…,^,故A必从属性,从而有非从属性A传送函数依赖于环节字Bl,取R是3NF 矛盾。故R必是BCNF的. 性集y,有y—A,A告y,且x笸y ①若A从属性,则由上述阐发,A传送函数依赖于^Y,从而R不是3NF的,取前提矛盾;②若A 是从属性,则A∈X,又Fh 古x,,但A∈X,从而尬≠x,R有两个分歧的环节字,取前提矛盾,故R必是BGqF的. (3)设R是3NF的,且有多个环节字,但此中仅有一个是合成环节字.设x是尺的台成环节字.倘若R 不是BCNF,则存正在尺中的环节字Z、属性A和属性集y,有y—t4,A告y,且y不含相关键字,故y≯哩. ①若A从属性,则A传送函数依赖于环节字z,R不是3NF的,取前提矛盾;②若A是从属性, 故由x1的构制可知,x2不成能台成环节字,故x2必是合成环节字,即尺有两个分歧的台成环节 字,取前提矛盾,故R必是BCNF的证毕. 因为Bom完全消弭了属性间无害的函数依赖联系,因此正在办理消息系统的开辟中,关系型数据库系统 的设想至多应达到哪.本鉴定具有以下方面的使用价值:①由本可知,一个非Bo盯的3NF关 系中必含有多个合成环节字,领会这一点明显对指点关系型数据库系统的逻辑设想将常无益的,即应避 免正在一个关系中包含多个合成环节字的环境;②能够正在大大都环境下很曲不雅地鉴定一个3NF的关系已是 第6期 孙昌言:Bc范式的辫定及关系的规范化方式 747 ————————————————————————————————————————————————一——————————————————————————————————————————————————————————— BCNF的;③按照本的结论,可获得将非BCNF的3NF关系规范化为B(孙『F的具体方式和步调 上述鉴定给出了BCNF的一个充实前提,尚待同业专家们进一步研究的课题是:它能否还可能 是需要前提?或者仅仅只是一个充实前提?若要证明它不是需要前提,就需要找到一个有多个合成环节 字的BCNF的反例.因为关系中各属性间的函数依赖联系素质上属于语义定义问题,因而要证明它能否 是需要前提可能是及其坚苦的.但无论成果若何,都不会影响本鉴定的上述使用价值 3正在函数依赖的范围内关系规范化的具体方式和步调 关系的规范化,就是将一个低一级范式的关系,通过投影分化转换成若干高一级范式关系的过程,投 影分化中必需确保所获得的多个高一级关系之间有外部环节字做为彼此联系的桥梁和纽带.下面是笔者 按照范式的理论,系统提出的一整套将INF的关系逐渐规范化为BCNF的方式和具体步调 3.1将非2NF的关系分化为2NF的方式取步调 若是关系尺中存正在非从属性对环节字(明显该环节字必是台成环节字)的部门函数依赖,则尺就不 是2NF的由此可知,要将R规范为若干2NF的关系,就该当从“部门函数依赖”的现状出发,以环节字的 各实子集完全函数头定的各非从属性集做为投影分化的根本,达到消弭非从属性对环节字部门函数依赖 的方针,具体步调如下: 各非从属性集¨(i=1,2,-..,m;m≥1),若R有多个台成环节字,则同样处置; (2)正在只中剔除所有¨,获得一个关系尺o,x仍然是它的环节字,因为‰中已剔除了所有部门函数 依赖于环节字的非从属性,故必是2NF的; (3)别离将(2)中剔除的非从属性集E加上完全函数决定它们的R中的从属性集.、r,后,获得其余的 从属性(y:)都完全函数依赖于其独一的环节字‘Yl,故也都是2NF的. 以上的投影分化的过程不只解除了所得各关系中所有非从属性对环节字的部门函数依赖,并且确保 了它们之间有外部环节字做为彼此联系的桥梁和纽带. 3.2将非3NF的2NF关系分化为3NF的方式取步调 若是关系R中存正在非从属性对环节字的传送函数依赖,则R就不是3NF的由此可知,要将R规范 为若干3NF的关系,就该当从“传送函数依赖”的现状出发,以传送函数依赖于环节字的各非从属性集为 根本对R进行投影分化,达到消弭非从属性对环节字传送函数依赖的方针,具体步调如下: 数依赖于x的非从属性集y,(净1,2,…,m;m≥1),此中五是可间接函数决定y。的最小非从属性集, 若R有多个环节字,则同样处置; (2)正在R中剔除所有H,获得一个关系Ro,X仍然是它的环节字,明显,Ro中已不存正在非从属性对 环节字的传送函数依赖,故是3NF的; (3)别离将(2)中剔除的非从属性集H加上R中间接函数决定它们的五后,获得其余的关系R.(i =1,2,…,m;m≥1),明显五是尺,的环节字,且是Ro的外部环节字因为尺:中的所有非从属性F都曲 接函数依赖于其独一的环节字五,故也都是3NF的. 以上的投影分化的过程不只解除了所得各关系中所有非从属性对环节字的传送函数依赖,也同样确 保了它们之间有外部环节字做为彼此联系的桥梁和纽带. 3.3将非BCNF的3NF关系分化为BCNF的方式取步调 的定义2知,R中必存正在某个合成环节字的实子集A,可由另一合成环节字x中的最小线)函数决定(凡是A,取置是彼此函数决定的).以上述A,和置为根本对_R进行投影分化, 达到消弭从属性对环节字的部门(也是传送)函数依赖,具体步调如下: (1)正在尺中保留该合成环节字x,剔除上述所有从属性集Af后获得第一个关系RI,此时x仍是R】 同济大学学报 第3l】卷 的环节字,明显尺1中已不存正在从属性对环节字的部门或传送函数依赖,故已是BCNF的; (2)将(1)中所有被剔除的属性集A;加上所有上述X后获得第二个关系尺2,明显X是尺2的环节 字,且是Rl的外部环节字(凡是A:也是R2的环节字),若R2中仍存正在从属性对环节字的部门函数依赖, 则反复上述步调. 由以上投影分化的方式可知,最终获得的各关系中不只解除了从属性对环节字的部门(传送)函数依 赖,也同样确保了它们之问有外部环节字做为彼此联系的桥梁和纽带. 下面举例申明上述规范化的现实步调. 设有一个客户定货合同关系:R(合,签定日期,客户号,客户名,地址,德律风,产物号,产物名,打算 单价,发卖单价,数量,交货期).此中一份合同对应一个客户,但一个客户可签定多份台同;一份合同中可 定购多种产物;产物名、客户名不独一;各产物的打算单价是确定的,但正在分歧合同中的发卖单价能够不 同;统一合同中各产物能够有分歧的交货期,但一种产物只要一个交货期.对R的规范化步调如下 (1)起首,R的环节字为(台,产物号),此中:合一(签定日期,客户号,客户名,地址,德律风); 产物号一(产物名,打算单价),故尺不是2NF的. 其次,从R中剔除所有部门函数依赖于环节字的非从属性集(签定日期,客户号,客户名,地址,德律风) 和(产物名,打算单价)后,获得一个2NF的“合同内容关系”:Rl(台,产物号,发卖单价,数量,交货 期),环节字仍然是(合,产物号). 将被剔除的非从属性集(签定日期,客户号,客户名,地址,德律风)加上完全函数决定它的合后,就 获得第二个2NF的“合同客户关系”:R2(合,签定日期,客户号,客户名,地址,德律风),环节字是合同 号,它也是R,关系的外部环节字. 将被剔除的非从属性集(产物名,打算单价)加上完全函数决定它的产物号后,就获得第三个2NF的 “产物关系”:尺。(产物号,产物名,打算单价),环节字是产物号,它也是R1关系的外部环节字 正在关系R,取R3中,已不存正在非从属性对环节字的传送函数依赖,故已是3NF的. (2)正在关系R2中,由于合一客户号,客户号争合,客户号一(客户名,地址,电线NF的,可做如下进一步分化. 正在R2中剔除传送函数依赖于环节字合的非从属性集(客户名,地址,电线NF的 “合同头关系”:尺2】(合,签定日期,客户号),环节字仍然是合; 将被剔除的非从属性集(客户名,地址,德律风)加上间接函数决定它的客户号后,就获得一个3NF的 “客户关系”:R,,(客户号,客户名,地址,德律风),环节字是客户号,它也是尺21关系的外部环节字 蹦上所得4个3NF关系月l,尺2l,月22,R3中都仅有一个环节字,由鉴定知,它们都已是BCNF的 (3)下面是将一个非BCNF的3NF关系投影分化为BCNF的例子. 设有一个学生成就关系:R(学号,姓名,课程号,成就),此中姓名无沉名,则(学号,课程号)取(姓名, 课程号)都是环节字,独一的非从属性成就不传送函数依赖于任一环节字,故R是3NF的.但由于学号一 姓名,姓名芷学号,而学号不含相关键字,故尺不是BCNF的,可做如下分化: 正在尺中剔除从属性姓名后,获得一个BCNF的“成就关系”:R1(学号,课程号,成就),环节字是(学 号,课程号); 将被剔除的姓名加上函数决定它的学号后,就获得第二个BCNF的“学生关系”:尺2(学号,姓名),它 有2个非合成环节字:学号、姓名,此中学号也是R1关系的外部环节字. 由以上例子的投影分化过程可知,上述关系规范化的方式取步调是相当简单且便于进修理解和控制 使用的. 参考文献 [1]王整臣,邬文华办理消息系统[M]杭州:浙江大学出书社,1989.95 【2]施伯乐法式员级高级法式员辗软件知诅【M],第2版:大学出艋社,1996,129

  请盲目恪守互联网相关的政策律例,严禁发布、、的言论。用户名:验证码:匿名?颁发评论

  1.本坐不应用户上传的文档完整性,不预览、不比对内容而间接下载发生的问题本坐不予受理。