三大范式的实际作用
第一范式(1NF):每一列都是不可分割的原子数据项
好处:减少了数据冗余
存在可再分项,一条订单存储了多个商品
班级 |
日期 |
学号 |
姓名 |
图书编码 |
图书名 |
单价 |
数量 |
C1 |
1-22 |
1 |
程少商 |
1001 |
星汉灿烂 |
45 |
500 |
1002 |
月升沧海 |
32 |
200 |
||||
C2 |
4-30 |
2 |
田枣 |
1003 |
胡同 |
38 |
178 |
1004 |
摔跤记 |
26 |
54 |
||||
C3 |
8-2 |
3 |
柳依依 |
1005 |
萌妻食神 |
60 |
802 |
1004 |
柔弱少女 |
32 |
100 |
图书编码 |
图书名 |
单价 |
数量 |
1001 |
星汉灿烂 |
45 |
500 |
1002 |
月升沧海 |
32 |
200 |
1003 |
胡同 |
38 |
178 |
1004 |
摔跤记 |
26 |
54 |
1005 |
萌妻食神 |
60 |
802 |
1004 |
柔弱少女 |
32 |
100 |
应拆分成
班级 |
日期 |
学号 |
姓名 |
C1 |
1-22 |
1 |
程少商 |
C2 |
4-30 |
2 |
田枣 |
C3 |
8-2 |
3 |
柳依依 |
第二范式(2NF):表中只能存储一种数据,确保的每一列所有字段都必须和主键有关
好处:利于维护、修改和展示
出现冗余
图书编码 |
图书名 |
单价 |
数量 |
1001 |
星汉灿烂 |
45 |
500 |
1002 |
月升沧海 |
32 |
200 |
1003 |
胡同 |
38 |
178 |
1004 |
摔跤记 |
26 |
54 |
1005 |
萌妻食神 |
60 |
802 |
1004 |
柔弱少女 |
32 |
100 |
应拆分成
班级 |
图书编码 |
数量 |
C1 |
1001 |
500 |
C2 |
1002 |
200 |
C2 |
1002 |
200 |
C3 |
1003 |
178 |
图书编码 |
图书名 |
单价 |
1001 |
星汉灿烂 |
45 |
1002 |
月升沧海 |
32 |
1003 |
胡同 |
38 |
1004 |
摔跤记 |
26 |
1005 |
萌妻食神 |
60 |
1004 |
柔弱少女 |
32 |
第三范式(3NF):确保表中的每列都和主键直接相关,而不是间接相关
好处:修改了一个字段不会影响其他字段
没有主键直接相关
班级 |
日期 |
学号 |
姓名 |
C1 |
1-22 |
1 |
程少商 |
C2 |
4-20 |
2 |
田枣 |
C3 | 8-2 | 3 |
柳依依 |
应拆分成
班级 |
日期 |
学号 |
C1 |
1-22 |
1 |
C2 |
4-30 |
2 |
C3 |
8-2 |
3 |
学号 | 姓名 |
1 | 程少商 |
2 | 田枣 |
3 | 柳依依 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现