数据库设计三范式

转载 2018年01月13日 15:14:28

前言

    因为合作要进行对数据库三范式的规范,所以重新拿起了课本对三范式进行了再一次的学习,这次本博文主要从举例子的角度来理解数据库的三范式。

内容

    下面要说的三范式,都是在特定的场景中进行规范的。


1、第一范式:确保每列保持原子性(属性不可再分)


    解析:当我们在录入一些个人信息的时候,我们会涉及到联系方式这一项。有时候联系方式这个可以作为独立的字段,但是对于某些特定情境中,联系方式又会分为邮件、QQ号、手机号、座机号等等。我们所说的属性不可再分强调的是某种特定情况下的规范。例如:

 

    上面的表中的字段都满足了属性不可再分。


2、第二范式:确保每列都和主键相关(完全依赖)


    第二范式是建立在第一范式的基础之上的,强调的是数据库中的每一列都要和主键相关,而不是单单依赖主键的其他字段。下面是我在网上看到的例子:

 

    其中,当有两个字段联合作为主键,那么该表中的任何字段都应该同时依赖这两个主键字段。这个表中是以订单编号和商品编号作为联合主键。这样在该表中商品名称、单位、商品价格等信息不与该表的主键相关,而仅仅是与商品编号相关。所以在这里违反了第二范式的设计原则。

3、第三范式:确保每列都和主键直接相关,并不是间接相关(不存在传递依赖)


    例如字段1、2、3,字段1为主键,2完全依赖字段1,那么3完全依赖字段2,从而依赖字段1,这样的关系在数据库中,是不符合三范式的。如下表中:

 


    其中卡号为主键,姓名完全依赖卡号,性别完全依赖姓名间接依赖卡号。


    综上所述,菜鸟眼中的数据库三范式大概就是这个样子,还请大神多多指教。



简要概括:


1.有主键,且列不可分;
2.确保表中的每一列都和主键相关;
3.是直接相关,而不是间接相关;




原文链接: http://blog.csdn.net/zlt995768025/article/details/50965065

原文链接:

DB2大型数据库设计与开发入门

-
  • 1970年01月01日 08:00

深入浅出数据库设计三范式

设计良好结构的数据库,可以有效减小数据冗余,减少增删改中出现的问题。深入理解数据库设计的三范式,对于设计“健壮的数据库“十分有必要。数据库三范式是设计数据库 时参考的准则,接下来我们一一进行介绍: ...
  • xqf309
  • xqf309
  • 2012-08-24 17:17:57
  • 4226

数据库设计第三范式---一二三范式介绍

一、数据库设计范式及其意义和不足 数据库的设计范式是数据库设计所需要满足的规范,数据库的规范化是优化表的结构和优化把数据组织到表中的方式,这样使数据更明确,更简洁。实践中,通常把一个数据库分成两...
  • h330531987
  • h330531987
  • 2017-05-05 11:43:41
  • 2184

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

如何理解三个范式:                        第一范式: 1NF即属性的原子约束性,属性具有原子性,怎么理解了?我们知道原子是不能再分的,即属性不能往下分了。比如说人作为一个实体...
  • kongxiangli
  • kongxiangli
  • 2011-11-14 10:46:53
  • 924

数据库设计三大范式应用实例剖析(讲得比较清楚)

转贴地址:http://blog.csdn.net/songkexin/archive/2007/01/18/1486289.aspx先说几句:        首先作者的劳动果实,让我对这个比较模糊到...
  • fenglibing
  • fenglibing
  • 2007-07-16 21:03:00
  • 9829

Oracle:数据库设计三大范式

数据库设计三大范式 为什么要谈及范式?       这也是为了数据库设计做准备,对于表设计而言,我们需求何种程度的设计,这完全取决你数据的规模,好比你建房子,要是建个一两层,基本上不需要什么设计,...
  • Daniel_Chen_
  • Daniel_Chen_
  • 2016-12-06 09:06:10
  • 2804

数据库设计(三范式,冗余字段,逆范式)

数据库设计(三范式,冗余字段,逆范式)   在设计数据库的时候,应该注意一下什么呢?首先来看一张表。 学生成绩表            姓名         性别         j...
  • cy_weiyi
  • cy_weiyi
  • 2015-07-31 14:17:44
  • 728

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

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

数据库表设计三范式

数据库设计三范式(nomorlization)
  • waterxcfg304
  • waterxcfg304
  • 2014-06-21 20:10:51
  • 3701

轻松理解数据库三范式 + 设计原则

数据库设计相关的概念与设计原则,理解上相对容易,但很少有人能把这些内容应用到实际开发上去!!!...
  • rcom10002
  • rcom10002
  • 2011-04-27 16:57:00
  • 2593
收藏助手
不良信息举报
您举报文章:数据库设计三范式
举报原因:
原因补充:

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