第三范式

如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)的模式。

基本信息

  • 中文名称

    第三范式

  • 外文名称

    third normal form

  • 关系

    传递函数依赖关系

  • 模式

    关系模式

  • 方法

    投影分解法

  • 解决目地

    每个关系模式中不能留有传递依赖

  • 注意

    关系S中不能没有外关键字DNO

目录

展开

简介
详细信息

简介

  每个非关键字列都独立于其他非关键字列,并依赖于关键字,第三范式指数据库中不能存在传递函数依赖关系。
第三范式关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性Z(Z ? Y), 使得X→Y,Y→Z,成立,Y→X不成立,则称R<U,F> ∈ 3NF。
若R∈3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。
如果R∈3NF,则R也是2NF。
采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。
将一个2NF关系分解为多个3NF的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。

详细信息

  例:如S1(SNO,SNAME,DNO,DNAME,LOCATION) 各属性分别代表学号,姓名,所在系,系名称,系地址。 
关键字SNO决定各个属性。由于是单个关键字,没有部分依赖的问题,肯定是2NF。但这关系肯定有大量的冗余,有关学生所在的几个属性DNO,DNAME,LOCATION将重复存储,插入,删除和修改时也将产生类似以上例的情况。 
原因:关系中存在传递依赖造成的。即SNO -> DNO。 而DNO -> SNO却不存在,DNO -> LOCATION, 因此关键字 SNO 对 LOCATION 函数决定是通过传递依赖 SNO -> LOCATION 实现的。也就是说,SNO不直接决定非主属性LOCATION。 
解决目地:每个关系模式中不能留有传递依赖。 
解决方法:分为两个关系 S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION) 
注意:关系S中不能没有外关键字DNO。否则两个关系之间失去联系。 
将第一,第二范式化为第三范式的步骤:
(1)求出R的最小函数依赖集Fmin
(2)找出不在Fmin中出现的属性,并将这些属性从R中去掉,构成一个关系模式
(3)若Fmin中有一个函数依赖涉及R的全部属性,则R不能分解
(4)否则,若Fmin中有X->A,则分解应包含{XA};若有X->A1,X->A2....X->An均属于Fmin,则分解应包含{XA1A2...An}

时间: 2024-08-25 11:12:44

第三范式的相关文章

Oracle数据库设计第三范式

一.数据库设计范式及其意义和不足 数据库的设计范式是数据库设计所需要满足的规范,数据库的规范化是优化表的结构和优化把数据组织到表中的方式,这样使数据更明确,更简洁.实践中,通常把一个数据库分成两个或多个表并定义表之间的关系以做到数据隔离,添加.删除和修改某个字段只需要在一个表中进行,接着可以通过定义的关系传递到数据库中剩余的表中(和分层思想的意义所在很相似).这样我们可以消除很多错误或垃圾数据出现的机会并减轻更新信息所必要的工作量. 目前,主要有六种范式:第一范式.第二范式.第三范式.BC范式.

转!!数据库 第一范式(1NF) 第二范式(2NF) 第三范式(3NF)的 联系和区别

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法.目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF.通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF).下面就简单介绍下这三个范式. ◆ 第一范式(1NF):强调的是列的原子性,即列

数据库(第一范式,第二范式,第三范式)

数据库(第一范式,第二范式,第三范式) 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法.目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF.通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF). 设计关系数据库时,遵从不同的规范要求

ZT 第一范式,第二范式,第三范式

第一范式,第二范式,第三范式 Posted on 2012-05-09 16:30 GISerYang 阅读(2) 评论(0) 编辑 收藏 第一范式 存在非主属性对码的部分依赖关系 R(A,B,C) AB是码 C是非主属性 B-->C B决定C C部分依赖于B 第一范式 定义:如果关系R 中所有属性的值域都是单纯域,那么关系模式R是第一范式的 那么符合第一模式的特点就有 1)有主关键字 2)主键不能为空, 3)主键不能重复, 4)字段不可以再分 例如: StudyNo   |   Name  

数据库设计准则(第一、第二、第三范式说明)

数据库设计准则(第一.第二.第三范式说明) I.关系数据库设计范式介绍 1.1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性.如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系.在第一范式(1NF)中表的每一行只包含一个实例的信息.简而言之,第一范式就是无重复的列. 说明:在任何一个关系数据库中,第一范式(1NF)是对

数据库(第一范式,第二范式,第三范式)2

转载http://blog.csdn.net/famousdt/article/details/6921622 版权归原作者所有 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法.目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF.通常所用到的只是前三个范式,即:第一范式

SQL 第一范式、第二范式、第三范式、BCNF

作者 : Dolphin 原文地址: http://blog.csdn.net/qingdujun/article/details/27365979 一.第一范式 1NF 要求:每一个分量必须是不可分的数据项. 特点: 1)有主键,且主键不能为空. 2)字段不能再分. 示例:(以下例子 不满足 第一范式) /*学号 年龄 信息*/ Sno Sage Sinfo 1001 19 陕西省西安市,电话:10086 1001 20 陕西,宝鸡 主键:Sno 不满足原因:1)主键重复.2)Sinfo字段可

【数据库范式】 第三范式分析

3.第三范式3NF 定义:在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合3NF. 我们来看上例中优化后的表3-1 StudentNo CardNo UserID UserLevel Date Time 021101 001 Operator 操作员 2011/10/03 09:00 在表中,一个UserID能确定一个UserLevel.这样,UserID依赖于StudentNo和CardNo,而UserLevel又依赖于UserID,这就导致了传递依赖,3

数据库设计之“有时不得不违背的第三范式”

数据库设计之“有时不得不违背的第三范式” 在博客园上看到了一篇关于数据库范式的文章<数据库设计中的五个范式>:  第三范式规则查找以消除没有直接依赖于第一范式和第二范式形成的表的主键的属性.我们为没有与表的主键关联的所有信息建立了一张新表.每张新表保存了来自源表的信息和它们所依赖的主键.    关于第三范式的思想,我想有很多朋友都熟悉,在数据库设计时,也是我们尽可能采用的范式之一,第三范式的出发点是什么?就是尽可能的减小“数据冗余”.并也能得到“数据”的整洁性,提高维护性,不容怀疑,第三范式是

数据库(第一范式,第二范式,第三范式)(转)

原著:http://blog.csdn.net/famousdt/article/details/6921622 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法.目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF.通常所用到的只是前三个范式,即:第一范式(1NF),第二