




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关系规范化设计理论和方法一 关系规范化设计理论函数依赖 定义: 设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y 是U的子集。 如果对于R(U)的任意一个可能的关系 r ,对于X的每一个具体值,Y都有唯一具体的值与之对应,则称 X函数决定 Y,或Y函数依赖于X,记为 XY。我们称X为决定因素,Y为依赖因素。当Y不函数依赖于X时,记作:XY。当XY且YX时,则记作:XY。 范式在关系数据库的规范化过程中,为不同程度的规范化要求设立的不同的标准或准则称为范式(Normal Form)。满足最低要求的叫第一范式,简称1NF。在第一范式中满足进一步要求的为第二范式(2NF),其余以此类推。R为第几范式就可以写成RxNF(x表示某范式名)。 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种转换过程就叫规范化。 第一范式 定义: 如果关系模式R所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R1NF。第一范式(First Normal Form)是最基本的规范化形式,即关系中每个属性都是不可再分的简单项。第二范式 定义: 如果关系模式R1NF,R(U,F)中的所有非主属性都完全函数依赖于任意一个候选关键字,则称关系R 是属于第二范式(Second Normal Form),简称2NF,记作R2NF。从定义可知,满足第二范式的关系模式R中,不可能有某非主属性对某候选关键字存在部分函数依赖。第三范式 定义: 如果关系模式R2NF,R(U,F)中所有非主属性对任何候选关键字都不存在传递函数依赖,则称R是属于第三范式(Third Normal Form),简称3NF,记作 R3NF。3NF只限制了非主属性对码的依赖关系,而没有限制主属性对码的依赖关系。如果发生了这种依赖,仍有可能存在数据冗余、插入异常、删除异常和修改异常。这时,则需对3NF进一步规范化,消除主属性对码的依赖关系,向更高一级的范式BCNF转换。 BC范式 定义:如果关系模式R1NF,且在所有的函数依赖 XY(Y不包含于X)中,决定因素X都包含了R的一个候选码,则称R属于BC范式(Boyce-Codd Normal Form),记作 RBCNF。由BCNF的定义可以得到以下结论,一个满足BCNF的关系模式有:(1)所有非主属性对每一个候选码都是完全函数依赖。(2)所有的主属性对每一个不包含它的候选码都是完全函数依赖。(3)没有任何一组属性完全函数依赖于非码。二关系规范化方法应用举例某机械厂有多个车间;每个车间有多名工人;每个车间生产多种产品和零件;一种产品由多个零件组成;产品和零件均存入仓库中,该厂有多个仓库。以下是该机械厂的详细情况表格:原始数据表格R0职工号姓名性别工种车间号车间主任车间产品号产品价格产品存仓仓库主任组成产品的零件号零件重量零件制造车间零件存仓0157张三男钳工03李瑞T-25890.002顾太原A2578.0010202B23612.00201C2247.00103030165李大朋女车工02王娜T-474580.003赵选发A2578.0010202B5485.00201C2247.00103030184王五男铣工01张雄伟B-021954.002顾太原A2578.0010202B23612.00201S-581800.001陈自成B5485.00201C2247.00103030244刘小刚女车工02王娜T-474580.003赵选发A2578.0010202B5485.00201C2247.0010303这张表格察看起来非常方便,但它不符合1NF,存在以下问题:某些单元格存储的数据多于一个,在数据库中将无法实现这种存储格式;另外,这种表格使某些操作也无法完成。 为了使R01NF,对R0做纵向扩展,从而可有以下关系R1:某机械厂信息管理关系R1职工号姓名性别工种车间号车间主任车间产品号产品价格产品存仓仓库主任组成产品的零件号零件重量零件制造车间零件存仓0157张三 男钳工03李瑞 T-25 890.002顾太原 A2578.001020157张三 男钳工03李瑞 T-25 890.002顾太原 A2578.002020157张三 男钳工03李瑞 T-25 890.002顾太原 B23612.002010157张三 男钳工03李瑞 T-25 890.002顾太原 C2247.001030157张三 男钳工03李瑞 T-25 890.002顾太原 C2247.003030165李大朋 女车工02王娜 T-47 4580.003赵选发 A2578.001020165李大朋 女车工02王娜 T-47 4580.003赵选发 A2578.002020165李大朋 女车工02王娜 T-47 4580.003赵选发 B5485.002010165李大朋 女车工02王娜 T-47 4580.003赵选发 C2247.001030165李大朋 女车工02王娜 T-47 4580.003赵选发 C2247.003030184王五 男铣工01张雄伟 B-02 1954.002顾太原 A2578.001020184王五 男铣工01张雄伟 B-02 1954.002顾太原 A2578.002020184王五 男铣工01张雄伟 B-02 1954.002顾太原 B23612.002010184王五 男铣工01张雄伟 S-58 1800.001陈自成 B5485.002010184王五 男铣工01张雄伟 S-58 1800.001陈自成 C2247.001030184王五 男铣工01张雄伟 S-58 1800.001陈自成 C2247.003030244刘小刚 女车工02王娜 T-47 4580.003赵选发 A2578.001020244刘小刚 女车工02王娜 T-47 4580.003赵选发 A2578.002020244刘小刚 女车工02王娜 T-47 4580.003赵选发 B5485.002010244刘小刚 女车工02王娜 T-47 4580.003赵选发 C2247.001030244刘小刚 女车工02王娜 T-47 4580.003赵选发 C2247.00303现在,R11NF 。R1的一个候选键是:(职工号+产品号+零件号)。由于R1存在以下函数依赖:职工号姓名,职工号性别,职工号工种,职工号车间号,职工号车间主任;产品号价格;产品号仓库号;产品号仓库主任零件号重量。在以上9个函数依赖中,依赖因素都是非主属性,而决定因素都是候选键的一部分。换句话说,R1中存在非主属性对候选键的部分函数依赖,故R1不满足2NF。可明显看出,R1存在大量数据冗余。必须通过模式分解将R1关系模式转换为若干个高一级范式的关系模式的集合模式规范化处理。为了使关系模式R1向高一级范式转换,可将R1分解(做垂直分割,并保留相关的联系)为R2、R3、R4三个关系:R2职工号姓名性别工种车间号车间主任车间产品号0157张三 男钳工03李瑞 T-25 0157张三 男钳工03李瑞 T-25 0157张三 男钳工03李瑞 T-25 0157张三 男钳工03李瑞 T-25 0157张三 男钳工03李瑞 T-25 0165李大朋 女车工02王娜 T-47 0165李大朋 女车工02王娜 T-47 0165李大朋 女车工02王娜 T-47 0165李大朋 女车工02王娜 T-47 0165李大朋 女车工02王娜 T-47 0184王五 男铣工01张雄伟 B-02 0184王五 男铣工01张雄伟 B-02 0184王五 男铣工01张雄伟 B-02 0184王五 男铣工01张雄伟 S-58 0184王五 男铣工01张雄伟 S-58 0184王五 男铣工01张雄伟 S-58 0244刘小刚 女车工02王娜 T-47 0244刘小刚 女车工02王娜 T-47 0244刘小刚 女车工02王娜 T-47 0244刘小刚 女车工02王娜 T-47 0244刘小刚 女车工02王娜 T-47 R3 R4车间产品号产品价格产品存仓仓库主任组成产品的零件号零件号零件重量零件制造车间零件存仓T-25 890.002顾太原 A257A2578.00102T-25 890.002顾太原 A257A2578.00202T-25 890.002顾太原 B236B23612.00201T-25 890.002顾太原 C224C2247.00103T-25 890.002顾太原 C224C2247.00303T-47 4580.003赵选发 A257A2578.00102T-47 4580.003赵选发 A257A2578.00202T-47 4580.003赵选发 B548B5485.00201T-47 4580.003赵选发 C224C2247.00103T-47 4580.003赵选发 C224C2247.00303B-02 1954.002顾太原 A257A2578.00102B-02 1954.002顾太原 A257A2578.00202B-02 1954.002顾太原 B236B23612.00201S-58 1800.001陈自成 B548B5485.00201S-58 1800.001陈自成 C224C2247.00103S-58 1800.001陈自成 C224C2247.00303T-47 4580.003赵选发 A257A2578.00102T-47 4580.003赵选发 A257A2578.00202T-47 4580.003赵选发 B548B5485.00201T-47 4580.003赵选发 C224C2247.00103T-47 4580.003赵选发 C224C2247.00303删除以上三个关系中的重复元组后,三个关系模式分别为:R2职工号姓名性别工种车间号车间主任产品号0157张三 男钳工03李瑞 T-25 0165李大朋 女车工02王娜 T-47 0184王五 男铣工01张雄伟 B-02 0184王五 男铣工01张雄伟 S-58 0244刘小刚 女车工02王娜 T-47 R3 R4产品号产品价格产品存仓仓库主任组成产品的零件号零件号零件重量零件制造车间零件存仓T-25 890.002顾太原 A257A2578.00102T-25 890.002顾太原 B236A2578.00202T-25 890.002顾太原 C224B23612.00201T-47 4580.003赵选发 A257C2247.00103T-47 4580.003赵选发 B548C2247.00303T-47 4580.003赵选发 C224B5485.00201B-02 1954.002顾太原 A257B-02 1954.002顾太原 B236S-58 1800.001陈自成 B548S-58 1800.001陈自成 C224R2的候选键是(职工号+产品号)。R2存在以下函数依赖:职工号姓名,职工号性别,职工号工种,职工号车间号,职工号车间主任;由于R2存在部分函数依赖,故R2不满足2NF。将R2分解为R5和生产表:R2职工号姓名性别工种车间号车间主任产品号0157张三 男钳工03李瑞 T-25 0165李大朋 女车工02王娜 T-47 0184王五 男铣工01张雄伟 B-02 0184王五 男铣工01张雄伟 S-58 0244刘小刚 女车工02王娜 T-47 R5 生产表职工号姓名性别工种车间号车间主任车间号产品号0157张三 男钳工03李瑞 03T-25 0165李大朋 女车工02王娜 02T-47 0184王五 男铣工01张雄伟 01B-02 0244刘小刚 女车工02王娜 01S-58 显然,生产表2NF,且生产表3NF。生产表反映的是车间与产品之间的联系车间生产产品。R5满足2NF。R5的候选键是“职工号”。故有:职工号车间号,职工号车间主任;但也存在:车间号车间主任。即有:职工号车间号,车间号车间主任,即“车间主任”传递依赖于候选关键字“职工号”,即R5不满足3NF。将R5分解为工人表和车间表: 工人表 车间表职工号姓名性别工种车间号车间号车间主任0157张三 男钳工0303李瑞 0165李大朋 女车工0202王娜 0184王五 男铣工0101张雄伟 0244刘小刚 女车工02 至此,R2被分解成了3个满足3NF的关系模式(工人表、车间表、生产表)。R3的候选键是(产品号+零件号)。R3存在以下函数依赖:产品号产品价格,产品号仓库号,产品号仓库主任;故R3不满足2NF。将R3分解为R6和装配表:R3产品号产品价格仓库号仓库主任零件号T-25 890.002顾太原 A257T-25 890.002顾太原 B236T-25 890.002顾太原 C224T-47 4580.003赵选发 A257T-47 4580.003赵选发 B548T-47 4580.003赵选发 C224B-02 1954.002顾太原 A257B-02 1954.002顾太原 B236S-58 1800.001陈自成 B548S-58 1800.001陈自成 C224 R6 装配表产品号产品价格产品存仓仓库主任产品号零件号T-25 890.002顾太原 T-25 A257T-47 4580.003赵选发 T-25 B236B-02 1954.002顾太原 T-25 C224S-58 1800.001陈自成 T-47 A257T-47 B548T-47 C224B-02 A257B-02 B236S-58 B548S-58 C224显然,装配表2NF,且装配表3NF。装配表反映的是零件与产品之间的联系零件装配成产品。R6满足2NF,但不满足3NF,故再将R6分解为产品表和仓库表: 产品表 仓库表产品号产品价格仓库号仓库号仓库主任T-25 890.00202顾太原 T-47 4580.00303赵选发 B-02 1954.00201陈自成 S-58 1800.001 至此,R3被分解成了3个满足3NF的关系模式(产品表、仓库表、装配表)。 R4的候选关键字是:(零件号+车间号),存在部分函数依赖,故将R4分解为零件表和制造表:R4零件号零件重量车间号仓库号A2578.00102A2578.00202B23612.00201C2247.00103C2247.00303B5485.00201 零件表 制造表零件号零件重量仓库号零件号车间号A2578.002A25701B23612.001A25702C2247.003B23602B5485.001C22401C22403B54802 显然,零件表3NF,制造表3NF。 综合以上规范化结果,有以下8个关系:工人表职工号姓名性别工种车间号0157张三 男钳工030165李大朋 女车工020184王五 男铣工010244刘小刚 女车工02车间表车间号车间主任03李瑞 02王娜 01张雄伟 产品表产品号产品价格仓库号T-25890.002T-474580.003B-021954.002S-581800.001仓库表仓库号仓库主任02顾太原03赵选发01陈自成生产表产品号车间号T-2503T-4702B-0201S-5801零件表零件号零件重量仓库号A2578.002B23612.001C2247.003B5485.001装配表产品号零件号T-25A257T-25B236T-25C224T-47A257T-47B548T-47C224B-02A257B-02B236S-58B548S-58C224制造表零件号车间号A25701A25702B23602C22401C22403B54802其中,生产表可合并到产品表中。则最终规范化结果为以下7个关系模式:工人表职工号姓名性别工种车间号0157张三 男钳工030165李大朋 女车工020184王五 男铣工010244刘小刚 女车工02车间表车间号车间主任03李瑞 02王娜 01张雄伟 产品表产品号产品价格仓库号车间号T-25890.00203T-474580.00302B-021954.00201S-581800.00101仓库表仓库号仓库主任02顾太原03赵选发01陈自成零件表零件号零件重量仓库号A2578.002B23612.001C2247.003B5485.001装配表产品号零件号T-25A257T-25B236T-25C224T-47A257T-47B548T-47C224B-02A257B-02B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐理考试题及答案小学
- 消防安全生产人考试题库及答案解析
- 矿山电工考试题及答案
- 课件显示不完整问题
- 教师招聘之《小学教师招聘》考前自测高频考点模拟试题及完整答案详解(典优)
- 课件时间修改
- 铝及铝合金熔铸工晋升考核试卷及答案
- 2025年中国纸浆模包装制品数据监测报告
- 轻冶沉降工技能操作考核试卷及答案
- 经济政治考试题及答案
- 《火灾调查 第2版》 课件 第5-7章 火灾调查分析、放火火灾调查、电气火灾调查
- 2024-2025学年人教版数学九年级上册第一次月考试题
- 消化道出血诊疗规范2022版
- 退休返聘人员劳务合同范本
- 储能柜质保协议
- 教学课件 《自动化制造系统(第4版)》张根保
- KLA缺陷检查培训
- 收购组织财务尽职调查资料清单
- 产业链风险管理
- 四川省普通高中2022-2023学年学业水平考试英语试题
- 通信管道管线施工安全操作规程
评论
0/150
提交评论