【数据库】范式
0.概述
范式(Normalization)是关系型数据库设计中的一种重要概念,主要目的是通过规范化(Normalization)来减少冗余和复杂性,提升数据库的数据完整性、一致性和可维护性。
在数据库设计中,范式通常分为一般范式(First Normal Form,1NF)、第二范式(Second Normal Form,2NF)、第三范式(Third Normal Form,3NF)等。每一级别的范式都有其特定的要求和优点,一般来说,范式级别越高,数据库设计就越规范化,但同时也会增加数据库的查询和维护难度。
例如,在 1NF 中,每个属性都应该是原子性的,即不可再分的。在 2NF 中,每个非主属性都应该完全依赖于主键,而在 3NF 中,每个非主属性都不依赖于其它非主属性。在实际的数据库设计中,通常需要根据具体需求和数据特征进行选择和平衡。
范式的概念在数据库设计和优化中非常重要,可以帮助开发者设计出高效、可靠、可维护的数据库系统。
在关系型数据库设计中,常见的范式包括以下几种:
- 第一范式(First Normal Form,1NF):属性具有原子性,不可再分。
- 第二范式(Second Normal Form,2NF):满足 1NF,且非主属性完全依赖于主键。
- 第三范式(Third Normal Form,3NF):满足 2NF,且非主属性不依赖于其它非主属性。
- 巴斯-科德范式(Boyce-Codd Normal Form,BCNF):满足所有主属性都能唯一决定非主属性,不存在函数依赖。
- 第四范式(Fourth Normal Form,4NF):满足 3NF,并且不存在多值依赖和联合依赖。
- 第五范式(Fifth Normal Form,5NF):满足 4NF,并且不存在结构相同但具有不同语义的多值依赖。
其中,1NF 是最基本的范式,后续的范式都是在 1NF 的基础上进行进一步规范化。这些范式可以提高数据库的数据完整性、一致性和可维护性,但范式的划分也需要根据具体需求和数据特征进行选择和平衡。
1.第一范式(NF)
2.第二范式(2NF)
3.第三范式(3NF)
4.BCNF(3.5范式)
5.第四范式(4NF)
6.范式判断
- 题目:
- R(A,B,C,D) F={B->D,D->B,AB->C}
- 答案:
- 过程:
- 找候选键
- 只在左边出现的项,L=A,A为候选键
- A+能否导出全部?不能,A不是候选键
- 在左右都出现的项,LR=B,D
- 候选键:AB,AD
- AB+={ABCD}
- AD+={ABCD}
- AB,AD是候选键
- 只在左边出现的项,L=A,A为候选键
- 非键属性是否部分依赖于候选键?
- 非键属性:C,由AB导出,直接依赖
- 至少2NF
- 非键属性是否传递依赖于候选键?
- 没有传递依赖
- 至少3NF
- 不满足左边都是候选键
- 3NF
- 找候选键
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效