MySQL 数据库设计范式

第一范式(1NF)

sql 复制代码
每一列都是不可分割的原子数据项

第二范式(2NF)

sql 复制代码
在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)
1.函数依赖
	A->B,如果通过A属性(属性组)的值,可以确定唯一B属性的值。则称B依赖于A.
	例如: 学号-->姓名  (学号,课程名称)-->分数
2.完全函数依赖
	A->B,如果A是一个属性组,则B属性值的确定需要依赖于A属性组中所有的属性值
	例如: (学号,课程名称)-->分数
3.部分函数依赖
	A->B,如果A是一个属性组,则B属性值的确定只需要依赖于A属性组中某一些值即可
	例如: (学号,名称)-->姓名
4.传递函数依赖
	A->B,B->C,如果通过A属性(属性组)的值,可以确定唯一B属性的值,再通过B属性(属性组)的值可以确定唯一C属性的值,则称C传递函数依赖于A	
	例如: 学号-->系名-->系主任
5.码
	如果一张表中,一个属性或属性组,被其他所有属性完全依赖,则称这个属性(属性组)为该表的码
	例如:该表中的码为:(学号,课程名称)
	主属性: 码属性组中的所有属性
	非主属性: 除过码属性组的属性

第三范式(3NF)

sql 复制代码
在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)

巴斯-科德范式(BCNF)暂不学习

第四范式(4NF)暂不学习

第五范式(5NF)暂不学习

点击返回 MySQL 快速学习目录

相关推荐
Nturmoils18 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波1 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6002 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL2 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_5 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横5 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二5 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab5 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm