范式及其对数据库设计的指导意义

范式及其对数据库设计的指导意义

ID:39659760

大小:328.50 KB

页数:72页

时间:2019-07-08

范式及其对数据库设计的指导意义_第1页
范式及其对数据库设计的指导意义_第2页
范式及其对数据库设计的指导意义_第3页
范式及其对数据库设计的指导意义_第4页
范式及其对数据库设计的指导意义_第5页
资源描述:

《范式及其对数据库设计的指导意义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章范式及其对数据库设计的 指导意义范式理论及对实践指导意义概述。范式:1NF、2NF、3NF、BCNF、4NF、5NF实例分析及1NF、3NF的认识误区关系模型下的树结构表达供应商和系名问题范式的局限-对冗余的进一步讨论单表行间冗余多表间冗余2.1范式理论及对实践指导意义概述1)范式理论形成:1971年,由1970年首先提出“大型共享数据库数据的关系模型”的关系数据库之父EdgarFrankCodd相继提出了三级规范化形式1NF-3NF1974年,E.F.Codd和Boyce共同提出BCNF19

2、77RonaldFagin提出了第四范式以后又相继提出了5NF(Project-JoinNormalForm(PJ/NF))、DKFN(Domain/KeyNormalForm)和6NF2)各范式之间关系:1NF2NF3NFBCNF4NF5NFDKNF6NF3)规范化方法:一个属于低一级的范式的关系模式可以通过模式分解转换成属于高一级范式的关系模式,这个过程称为关系模式的规范化。4)规范化目的:消除关系中的数据冗余由于数据冗余引发的问题:浪费了存储资源,并且重复的数据占用的空间随数据量

3、的递增而递增。由于数据的重复,为保证数据的一致性,将增加数据维护(插入、更新和删除)的代价,从而降低了系统的开发和运行效率各种意外还是可能造成重复数据的不一致,从而降低了系统的稳定性和可靠性。是产生插入,更新和删除异常根源(见下例)插入,更新和删除异常实例:假设存在下列关系,包含学生和系的基本信息:学号姓名所在系系主任001zhang数学MrLi002wang数学MrLi003zhou数学MrLi004feng计算机Mrchen005dong计算机Mrchen该关系存在插入,更新和删除异常。插入异常

4、:当新成立一个系但还没有学生时,产生插入异常。删除异常:当一个系的学生被全部删除后,系信息也被删除。更新异常:当系名称或系主任发生变化,必须同时更新这个系所有学生记录,若漏改一个,就产生更新异常。5)规范化理论对实践的指导意义异常分类:关系设计不规范引起插入,更新和删除异常有的可以通过严密的算法避免发生,有的则不能避免。在上例中,插入和删除异常不可避免,而更新异常却可以避免。不可避免异常:若数据库的设计中存在不可避免的异常时,需求将无法实现,设计者会自觉地消除这些异常。在上例中,一般会增加一个“系(

5、系名,系主任)”关系来排除不可避免的插入和删除异常。这时,规范化设计成为设计师自觉的行动可避免异常:关系规范化理论对设计者有指导意义的是消除可避免异常引起的数据冗余。冗余和范式关系:一般消除了一个关系中的数据冗余(除外键引用为必要的数据冗余外),该关系也就符合了范式要求。一个关系符合范式要求,一般就不会产生数据冗余,但必须注意的是范式可以消除一个关系中的(单行)数据冗余,但不能消除一个表的行间冗余和多个关系之间的数据冗余。2.2范式 2.2.11NF及对实践的指导意义 1)定义1NF的定义1:若关系

6、中所有属性是不可再分的基本项(原子项),即关系中的属性不能是组合属性,称关系属于或服从第一范式。1NF的定义2:关系模式R中不能含有任何重复的数据项。(RobertD.Schnneider规划与建立高性能SQLServer6.5数据库)第一范式是关系数据模式必须遵循的规范,其他规范均建立在此基础之上。关系的一切数学理论均基于关系模式服从1NF。如一个学生的成绩包括数学,语文,外语等,则成绩不能作为学生关系中的一个属性。要使其符合1NF,必须把数学,语文,外语成绩直接作为学生关系的属性。由于关系数据库

7、中表中列之间的关系相互并列,本身不支持层次结构或数组,所以表面上看,只要是二维表,就一定符合1NF2)1NF的第一层次的解释3)1NF的第二层次的解释不要或没有必要把若干属性或代码组合成一个组合属性或组合代码放在一个数据列中。这同样违反1NF。这样做的风险是数据库系统对组合属性中某属性的可操作性(子串)一定不如对列的可操作性。解决上述问题的方法也不要简单地把组合属性分解成列,当这些属性有扩充的可能时,应单独建立一个关系。(后面有详例分析)4)1NF的第三层次的解释1NF要求在一行中不能有重复组,不管

8、是重复的列还是列中含有的重复信息都不允许。(数据库设计)如不要把数学成绩,语文成绩和外语成绩作为学生关系中的属性,因为,一旦增加一门课程,该关系就必须作修改。正确的做法是把成绩独立出来,形成的关系模型为:成绩(学号,学科号,成绩)类似的如在学生关系中有联系电话属性,而每一个学生可能有不确定的电话数量,则增加属性“电话1”、“电话2”…,同样不符合1NF要求,正确的做法是增加关系:R(学号,电话号码)2.2.22NF及对实践的指导意义关系属于第一范式并且每一个非主属性完

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。