数据库设计--范式原则
范式原则【也称三大范式 主要有三点】
- 每一列保持原子性 不可分割
- Eg: 表示地址时--省市区街道 这些信息不要放在同一个字段 因为这些信息是可拆分的 应该分为四个字段 -- 省、市、区、街道 这样便满足了不可分割性
- 每一列都要跟主键相关 即一张表应该只描述一个对象
- 每一列都应该是跟主键直接相关 而不是间接相关
- Eg:用户表--公司ID--公司名称 名称就是间接相关了
范式原则的优与缺
与范式定义相违背的 即**反范式** 反范式的数据中 信息是冗余 范式中的第三点 反范式是容许间接相关存在的
优点
* 范式化的更新操作 往往快于反范式
* 很少或没有重复的数据
* 表通常更小 执行操作更快
* 冗余少--Distinct、Group by 就用的少
缺点
* 范式化的设计离不开-关联 越是复杂的查询 关联的次数就会越多 //反范式化 则容许冗余 可避免一定的关联 所以实际设计往往都是 范式+反范式 相互结合使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现