数据库三范式的理解定义

原创 2017年01月03日 09:47:37
仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构
Dr E.F.codd 最初定义了规范化的三个级别,范式是具有最小冗余的表结构
这些范式是:
第一范式(1st NF -First  Normal Form)
第二范式(2nd NF-Second  Normal Form)

第三范式(3rd NF- Third  Normal Form)



第一范式: 要求表的每个字段必须是不可分割的独立单元

student     :   name              -- 违反第一范式

  张小名|狗娃

sutdent    name    old_name    --符合第一范式

张小名    狗娃

第一范式的目标是确保每列的原子性
如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)



第二范式: 在第一范式的基础上,要求每张表只表达一个意思。表的每个字段都和表的主键有依赖

employee(员工): 员工编号  员工姓名 部门名称   订单名称  --违反第二范式

员工表:员工编号  员工姓名 部门名称   

订单表:  订单编号  订单名称             -- 符合第二范式

如果一个关系满足1NF,并且除了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF) 
第二范式要求每个表只描述一件事情



第三范式: 在第二范式基础,要求每张表的主键之外的其他字段都只能和主键有直接决定依赖关系

员工表: 员工编号(主键) 员工姓名  部门编号  部门名 --符合第二范式,违反第三范式 (数据冗余高)

员工表:员工编号(主键) 员工姓名  部门编号    --符合第三范式(降低数据冗余)

部门表:部门编号  部门名

如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)



为满足某种商业目标,数据库性能比规范化数据库更重要
通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间
通过在给定的表中插入计算列(如成绩总分),以方便查询
在数据规范化同时,要综合考虑数据库的性能

版权声明:本文为蒋大帅原创文章,转发使用记得给点评论点赞哦

数据库设计三大范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。    ...
  • u012316120
  • u012316120
  • 2016年05月07日 23:30
  • 1850

数据库三范式的简单理解

参考书籍:数据库系统概论第四版-王珊、萨师煊 数据库范式 范式的级别       设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递...
  • zymx14
  • zymx14
  • 2017年04月08日 23:58
  • 1276

数据库三范式简单理解------阿冬专栏

数据库设计当中三范式是经常遇到的,如果实际项目数据库设计中能达到第三范式基本也就满足要求了,那么如何快速有效的理解三个范式,同时应用于实际项目中去呢? 首先看看标准定义的三个范式: 第一范...
  • zhangdong305
  • zhangdong305
  • 2015年08月24日 09:50
  • 2872

简单的理解数据库三范式

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中...
  • z1002137615
  • z1002137615
  • 2016年03月09日 16:34
  • 678

【转】数据库设计三范式理解

数据库设计当中三范式是经常遇到的,如果实际项目数据库设计中能达到第三范式基本也就满足要求了,那么如何快速有效的理解三个范式,同时应用于实际项目中去呢? 首先看看标准定义的三个范式: 第一范式(1NF)...
  • u010108836
  • u010108836
  • 2016年03月29日 12:01
  • 367

数据库设计三大范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。    ...
  • u012316120
  • u012316120
  • 2016年05月07日 23:30
  • 1850

关系型数据库三范式

关系数据库、 三大范式
  • niclascage
  • niclascage
  • 2015年10月07日 21:35
  • 1742

理解数据库设计的三大范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。   ...
  • heicm
  • heicm
  • 2014年10月28日 15:45
  • 1674

MySQL设计之三范式的理解

网上查找了一些资料,记录如下并加入自己的理解。 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。...
  • WangQYoho
  • WangQYoho
  • 2016年10月23日 11:18
  • 4051

数据库的三范式详解

数据库的三范式 1N:关系R中的属性都是不可分割的项. 2N:在1N的基础上,每个非主属性完全函数依赖于码. 3N:在2N的基础上,每一个非主属性既不部分依赖于码也不传递依赖于码....
  • bluend1004
  • bluend1004
  • 2013年08月17日 21:22
  • 947
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库三范式的理解定义
举报原因:
原因补充:

(最多只允许输入30个字)