欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[MySQL笔记]07.三大范式

程序员文章站 2022-05-30 09:48:47
...


范式

什么是范式

好的数据库设计对数据的存储性能和后期的程序开发,都会产⽣重要的影响。建⽴科学的,

数据库范式:

三大范式:

范式 解释
1NF 在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。
2NF 在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)。
3NF 在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)。

名词解释

函数依赖:
通过一个属性(组)A, 能确定唯一的B属性的值, 称B函数依赖于A
例如: 学号 -> 姓名  学号+课程名称 -> 分数
部分函数依赖:
通过属性组A中的部分属性, 就能确定唯一的B属性的值, 称B部分函数依赖于A
例如: 学号+课程名称 -> 姓名
完全函数依赖:
通过属性组A中的每一个属性一起确定唯一的B属性的值, 称B完全函数依赖于A
例如: 学号+课程名称 -> 分数	
传递依赖:
通过属性(组)A确定唯一的B属性的值, 再通过B属性, 确定唯一C属性的值, 称C 传递依赖于A
例如: 学号 -> 系名 -> 系主任
主码:
也叫主属性, 表中其他所有属性的值, 都能通过一个属性(组)来确定, 这个属性(组)就是主码
例如: 学号+课程名称