第三范式 (3NF)定义
第三范式 (3NF)定义
3NF建立在2NF之上,它要求所有的非主键列都必需直接依赖于主键,不包括任何传递依赖(Transitive Dependency)。这里的传递依赖指的是从A→B,B→C,所以可以从A→C。具体含意参见以下示例。
举例来说明,比如有课程Student表如下所示。
【Student 表】
学生编号 | 学生姓名 | 户口所在地 | 户口所在省 |
---|---|---|---|
1 | 张小成 | 合肥 | 安徽 |
2 | 李百义 | 南京 | 江苏 |
3 | 王右佐 | 保定 | 河北 |
在这张表中通常学生编号
就能确定学生户口所在地
,而通过户口所在地
即可确定户口所在省
。即学生编号
→户口所在地
→户口所在省
,所以 学生编号
与 户口所在省
是传递依赖关系,户口所在省
就是冗余的。
修改
【Student 表】
学生编号 | 学生姓名 | 户口所在地 |
---|---|---|
1 | 张小成 | 合肥 |
2 | 李百义 | 南京 |
3 | 王右佐 | 保定 |
小结
3NF是指一个表中的列应该与主键或者这个表所表示的对象直接关联,而不是间接关联。这样,才能够将依赖降低至最小,从而便于数据的日常管理和维护。
相关文章
[1] 三大范式详解,https://www.cnblogs.com/ktao/p/7775100.html
[2] https://www.tutorialspoint.com/sql/second-normal-form.htm
[3] https://www.studytonight.com/dbms/database-normalization.php
第三范式 (3NF)定义相关推荐
- 关系规范化之满足第三范式3NF的函数依赖保持分解算法
满足第三范式3NF的函数依赖保持分解算法 ------------------------------------------------------------------------------- ...
- 第一范式1NF、第二范式2NF、第三范式3NF详解
第一范式1NF:表的每个属性必须具有原子(单个)值. 第二范式2NF:而 2NF 告诉我们一张表就是一个独立的对象,一张表只 表达一个意思.每个非主键属性依赖于主键,依赖于整个主键". 第三 ...
- 数据库第一范式1NF,第二范式2NF,第三范式3NF详解
文章目录 一,超码.主码.候选码之间的定义与联系 二,函数依赖. 三,三大范式 第一范式(1NF): 第二范式(2NF): 第三范式(3NF): BCNF 一,超码.主码.候选码之间的定义与联系 码是 ...
- 第一范式(1NF)、第二范式(2NF)和第三范式(3NF)
第一范式(1NF): 列1唯一确定列2, 列3, 列4, ...,即列2, 列3, 列4, ...不能再分裂出其它列. 假设有关系模式列1: 订单名; 列2: 商品.一个订单下可以有多个商品, ...
- 三张图搞透第一范式(1NF)、第二范式(2NF)和第三范式(3NF)的区别
第一范式(1NF): 列1唯一确定列2, 列3, 列4, ...,即列2, 列3, 列4, ...不能再分裂出其它列. 假设有关系模式列1: 订单名; 列2: 商品.一个订单下可以有多个商品, ...
- 房间计费系统改造——数据库设计
曾记得.第一次编写机房收费系统的文档模板,整整有12个文档须要编写,只花了两三天的时间就让师傅验收,完结项目.就这样囫囵吞枣的文档编写完毕了. 要知道:欠下的账,终究是要还的.如今到了机房收费系统个人 ...
- 计算机软件技术基础考前整理
第一章 计算机由五个基本部分组成:运算器.控制器.存储器.输入设备.输出设备 程序的三种基本结构(顺序.选择.循环) 1.什么是信息,信息和数据的区别和联系在何处? 信息是经过加工.具有一定含义的且对 ...
- 转:数据库关系模式的范式详解
关系模式的范式 主要有4种范式,1NF,2NF,3NF,BCNF,按从左至右的顺序一种比一种要求更严格.要符合某一种范式必须也满足它前边的所有范式.一般项目的数据库设计达到3NF就可以了,而且可根据具 ...
- 数据库导论 关系数据库理论
1. 数据库理论 数据库是 一系列有价值的信息组成的结构化的集合 (A structured collection of meaningful data). 我们称任何有价值的信息为 数据, (Dat ...
最新文章
- 气泡图在开源监控工具中的应用效果
- MySQL 数据库常用命令—where like union 排序 分组 连接
- 3.以太坊之秘钥文件
- 阿里巴巴拿下奥运顶级赞助商
- mongo执行逻辑表达式_MongoDB 高级查询
- js php 正则差别,JavaScript正则表达式的浏览器的差异
- 你和女朋友的婚后老年生活!
- springboot springcloud区别_SpringBoot回顾、Spring Cloud初学
- arm体系结构与编程_教程:如何学习嵌入式系统(基于ARM平台)
- Dnscrypt_wrapper 服务端的安装与配置
- 拼多多332亿美金市值超网易,黄铮离目标又近了一步!
- PulseAudio VS AudioFlinger(七)
- linux 交叉编译 makefile,简单谈谈Makefile和交叉编译工具链
- 晒下自己App广告平台积分墙收入,顺便点评几个广告平台
- OpenCL中kernel的循环调用
- SQl语句学习专题(转)
- GitChat软件中的课程、专栏下载脚本,包含各种格式(pdf、markdown)
- 红旗桌面4.0正式版最新使用方法和问题解答100例
- 微信小程序后台返回的JSON字符串转JSON报错问题解决方案
- NSSCTF-SWPU新生赛
热门文章
- 视频教程-Excel2013公式用法实例视频教程-Office/WPS
- Uipath 处理excel转PDF或者合并PDF(excel to pdf, join pdf files)
- 修改datagridView单元格颜色(行颜色,列颜色)
- Jenkins + GitLab + CocoaPod 的自动打包平台配置(从build到export success)
- Nginx之访问限制模块之 limit_conn 模块、limit_req 模块
- 短信黑名单app接收短信优先级权限设置
- 十二星座程序猿,谁赚钱最多?
- java 校验图片的大小,和比例尺寸
- Tableau-参考线
- VMware中NAT模式和桥接模式的区别(虚拟机上网设置)