数据库设计规范化理论探究和应用

数据库设计规范化理论探究和应用

ID:6242176

大小:27.00 KB

页数:5页

时间:2018-01-07

数据库设计规范化理论探究和应用_第1页
数据库设计规范化理论探究和应用_第2页
数据库设计规范化理论探究和应用_第3页
数据库设计规范化理论探究和应用_第4页
数据库设计规范化理论探究和应用_第5页
资源描述:

《数据库设计规范化理论探究和应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库设计规范化理论探究和应用  摘要:数据库设计规范化是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。本文以实际应用为例介绍了数据库规范化的理论和过程。【关键词】数据库设计规范化应用1引言数据库的分析与设计一般分为“需求分析、概念设计、逻辑设计、物理设计”四个阶段。在概念设计阶段,不同的设计人员从不同的角度,抽取不同的实体和相关属性,就会设计出不同的E-R图,再将E-R图转换成不同的数据表。那么,如何审核这些设计,判断谁的设计最优呢?很重要的一点是通过数据库设计符合第几范式来判断。规范化理论是研究如何将一个不好的关系模式转化为好的关系模式的理论,规

2、范化理论是围绕范式而建立的。关系数据库设计是对数据进行组织化和结构化的过程,核心是关系模式的设计,但一个关系数据库中的所有关系都应满足一定的规范。2数据库的规范化设计5(1)范式概述。为了建立冗余较小、结构合理的数据库,构造数据库时必须遵循一定的规则,关系数据库中这种规则就是范式。满足最低要求的范式是第一范式(1NF),在第一范式的基础上进一步满足更多要求的范式称为第二范式(2NF),其余范式依次类推,一般来说数据库只需满足第三范式(3NF)就可以了。(2)第一范式(1NF)。1NF是关系模式的最低要求,是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体

3、中的某个属性不能有多个值或者不能有重复的属性。如果出现重复属性,就可能需要定义一个新的实体,新的实体由重复属性构成,新实体与原实体之间为一对多关系。在任何一个关系型数据库管理系统中,其中的任何数据表至少都应该符合第一范式,否则该系统不能称为关系型数据库管理系统。(3)第二范式(2NF)。满足2NF必须先满足1NF。2NF要求实体的属性完全依赖于主关键字。所谓完全依赖是指不存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。(4)第三范式(3NF)。如果一个数据表已经满足第二范式,而且该数据表中

4、的任何两个非主键字段的数值之间不存在函数依赖关系,那么该数据表满足第三范式(35NF)。实际上,第三范式就是要求不要在数据库中存储可以通过简单计算得出的数据。这样不但可以节省存储空间,而且在拥有函数依赖的一方发生变动时,避免了修改成倍数据的麻烦,同时也避免了在这种修改过程中可能造成的人为错误。3数据库规范化理论的应用我们以教学管理系统为例进行数据库规范化设计。(1)经过“需求分析、概念设计、逻辑设计”,我们得到以下关系模式(只给出部分关系模式)。系部信息表(DeptID,DeptName,SpecName,DeptScript)教师信息表(TeacherID,TeacherNa

5、me,DeptID,Sex,Age,Birthday,TPassword,TitleID)班级信息表(ClassID,ClassName,DeptID,TeacherID,DeptSetDate)(2)数据库设计规范化第一范式(1NF)检查:我们以系部信息表(DeptID,DeptName,SpecName,DeptScript)为例进行第一范式的检查。根据第一范式的要求,数据表的每个字段只能包含一个不可被分解的原子值。从上述系部信息表的SpecName字段确存在5着明显的问题:该列需要记录多少个专业的名称,需要预留多少空间,预留空间超出了怎么办?上述系部信息表的SpecNam

6、e字段的设计违反了第一范式。为了修正上面的设计,必须将这个非第一范式的结构转换成如图1所示的结构,使之符合第一范式的要求。第二范式(2NF)检查:我们以班级信息表(ClassID,ClassName,DeptID,TeacherID,DeptSetDate)为例进行第二范式的检查。将DeptSetDate字段放在班级信息表中,而DeptSetDate字段却不依赖于班级信息表的主键ClassID,因为DeptSetDate字段(系部设立时间)是关于系部实体的信息,而不是关于班级实体的信息。解决的方法是把DeptSetDate字段放回到系部信息表中,保证它至少符合第二范式。第三范式

7、(3NF)检查:我们以教师信息表(TeacherID,TeacherName,DeptID,Sex,Age,Birthday,TPassword,TitleID)为例进行第三范式检查。教师信息表中的Age(年龄)和Birthday(出生日期)字段好像存在重复记录信息有现象。尽管Age和Birthday字段都依赖于主键TeacherID而存在,但是Age字段依赖于Birthday字段,即通过Birthday字段和系统日期可以得到Age字段的值,所以Age字段可以去掉。4结果语5从上面的实际应用

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

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

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