关系数据库设计 规范化 范式
规范化 保持存储数据完整性同时最小化冗余数据的过程
E-R模型 允许实体集和联系集的属性具有某种程度的子结构,如地址包含省市区,带有编码性质的编号 这些是非原子的
多值属性 一个属性 一个元组可能包含多个,如手机号码
- 避免重复数据在多个关系中分别存储, 容易造成不一致问题
- 过大的关系(属性臃肿) 添加新的元组 容易产生大量空值
超码 是一个或多个属性的集合,超码中的这些属性可以让我们在一个实体集中唯一地标识一个实体。
关系模型中
- 第一范式 所有属性的域都是原子的(不可分的单元) 1NF
- 第二范式 1NF的基础上,关系中的元素应该全部依赖于主键,否则要进行拆分 2NF
- 第三范式 2NF的基础上,非主属性之间不能存在依赖,消除传递依赖 3NF
- BC范式 3NF的基础上,主属性不能依赖于非主属性,
- 第四范式 消除多值依赖,多个属性依赖于一个属性,但属性之间无依赖,就要进行拆分
- 第五范式 拆分表为更小的表,每个小表不可再分,且每个小表都能够通过候选键推导出来
内容会不断更新,欢迎批评指正。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)