关闭

数据库三大范式另一角度的理解

247人阅读 评论(0) 收藏 举报
1.第一范式

  在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 
      数据库表中的字段都是单一属性的,不可再分。

2.第二范式

  在第一范式的基础上。

  第二范式(2NF):数据库表不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有   关键字段都完全依赖于任意一组候选关键字。

    假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关系: 
    (学号, 课程名称) → (姓名, 年龄, 成绩, 学分) 

    这个数据库表不满足第二范式,因为存在如下决定关系: 
    (课程名称) → (学分) 
    (学号) → (姓名, 年龄) 
    即存在组合关键字中的字段决定非关键字的情况。 

  多对多的关系表内不要添加其中一张表的其他属性,如关联表user_org(uid,oid,uname,oname)内除了用户id,组织id外还添加了用户姓名,组织名称等属性。

3.第三范式

 在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。

假定学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字"学号",因为存在如下决定关系: 
    (学号) → (姓名, 年龄, 所在学院, 学院地点, 学院电话) 

    这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系: 
    (学号) → (所在学院) → (学院地点, 学院电话) 
    即存在非关键字段"学院地点"、"学院电话"对关键字段"学号"的传递函数依赖。

  一对多的数据库表设计时(一个组织有多人,一个人只属于一个组织)只保存组织的id,不保存组织的其他属性。如:user(id,name,age,oid),user内如果添加org_name,那么就不符合第三范式。

0
0
查看评论

数据库三大范式最简单的解释

关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF...
  • andywuchuanlong
  • andywuchuanlong
  • 2014-05-15 20:33
  • 4104

简单的理解数据库三范式

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4N...
  • z1002137615
  • z1002137615
  • 2016-03-09 16:34
  • 718

数据库三大范式详解(通俗易懂)

数据库三大范式详解(通俗易懂)
  • QingKing520
  • QingKing520
  • 2016-10-26 20:03
  • 8717

数据库-三大设计范式(概念、三大范式的理解)

(1)概念:     设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF...
  • zdplife
  • zdplife
  • 2015-08-30 15:40
  • 1077

数据库三范式的简单理解

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

面试常考-数据库(第一范式,第二范式,第三范式)

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4N...
  • xuchenhuics
  • xuchenhuics
  • 2015-09-22 09:35
  • 518

数据库三大范式的理解

一: 引言        作为一个数据库的学习者,搞懂关系数据库的三大范式是很有用的。然而教科书上有关数据库范式的介绍都是采用学术性的定义,语法羞涩,让人难懂,故写下自己对数据库范式的理解,给初学者提供帮助,也备日后查看。   ...
  • fivedoumi
  • fivedoumi
  • 2012-10-26 15:47
  • 967

对数据库中的123范式的理解

关系数据库中的函数依赖。 定义如下:一个属性集的全集U,设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的所有具体关系r都满足如下约束:对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作X->Y,X称作决定因素。 其实这...
  • chenpidaxia
  • chenpidaxia
  • 2017-06-07 22:48
  • 514

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

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。   在实际开发中最为常见的设计范式有三个:   1.第一范式   第一范式是最基本的范式。如果数据库...
  • heicm
  • heicm
  • 2014-10-28 15:45
  • 1740

数据库设计原则之三大范式

首先声明,本文为笔记记录。可能不适合作为博客文章,所以如果看着不舒服,还望“另请高明”,(^__^) 嘻嘻……数据库设计的时候有三大范式,现简述如下:第一范式(1NF): 原子性,数据不可再分原则就是使得表列为原子性,每一个字段内容不能再分解。第二范式(2NF):唯一性,消除部分依赖第二范式要求满足...
  • Marksinoberg
  • Marksinoberg
  • 2016-08-14 17:40
  • 9402
    个人资料
    • 访问:32412次
    • 积分:750
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:11篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论