设计过数据库的童鞋,一定对数据库设计三范式有一定的了解,这是数据库设计的基本原则,但是设计数据库是不是非得要按这三个范式进行呢?未必,在某些情况下(1:n,1:1的情况),适当的违反三范式,增加一点数据冗余,可以给我们带来便利。
谈起数据库设计三范式,你一定会被它那抽象的定义给搞晕,什么部分关系依赖,传递关系依赖,关键字与非关键字等等等。下面就通俗的介绍下数据库三范式:
1、一个属性用数据库的一个列表示。现在的关系型数据库都遵守这个范式,所以你想违反都难。
2、比如有一个选课表含有如下几个字段:
(学号, 姓名, 年龄, 课程名称, 成绩, 学分)
我们知道通过学号和课程名称可以确定其他字段即:(学号, 课程名称) → (姓名, 年龄, 成绩, 学分)
但是我们又发现:
(课程名称) → (学分)
(学号) → (姓名, 年龄)
这就违反了第二范式:数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖,在上例中非关键字段学分存在对关键字段课程名称的部分函数依赖。
3、如果有如下关系 (学号) → (姓名, 年龄, 所在学院, 学院地点, 学院电话)
这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:
(学号) → (所在学院) → (学院地点, 学院电话)
即非关键字段学院地点存在对关键字段学号的传递函数依赖。
如果还不理解,可以查看附件里的相关资料,个人觉得讲的不错。
分享到:
相关推荐
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的...
尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入、删除和更新操作异常。第一范式:数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本...
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多...
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式...
此文档是关于数据库三大范式的描述,以及在何种情况下应该用何种范式已达到数据库的良好效率!
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式...
数据库设计三大范式应用实例剖析 PDF版 简明扼要,绝对的好东西
第一范式 第一范式(确保每列保持原子性) 第一范式是最基本的范式 第一范式的合理遵循需要根据系统的实际需求来定 第一范式 第一范式 第一范式 第二范式 第二范式
关系数据库三个范式理解实例,举例,20个字补丁
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式...
数据库范式理解例题数据库范式理解例题
数据库设计的第一范式第二范式第三范式描述和实例
数据库的设计的学习,一些基本的介绍,简单明了,还是很容易理解。
尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。
内含经典SQL语句大全,sql基础培训资料,数据库设计三范式
老程序员工作笔记,五年以上的开发人员在工作中积累的经验,可以帮组很多新手,你值得拥有。
Oracle 数据库设计范式 PowerDesignerOracle 数据库设计范式 PowerDesignerOracle 数据库设计范式 PowerDesigner