关系数据库设计 规范化 范式

规范化 保持存储数据完整性同时最小化冗余数据的过程

E-R模型 允许实体集和联系集的属性具有某种程度的子结构,如地址包含省市区,带有编码性质的编号 这些是非原子的
多值属性 一个属性 一个元组可能包含多个,如手机号码

  1. 避免重复数据在多个关系中分别存储, 容易造成不一致问题
  2. 过大的关系(属性臃肿) 添加新的元组 容易产生大量空值

超码 是一个或多个属性的集合,超码中的这些属性可以让我们在一个实体集中唯一地标识一个实体。

关系模型中

参考博客

  1. 第一范式 所有属性的域都是原子的(不可分的单元) 1NF
  2. 第二范式 1NF的基础上,关系中的元素应该全部依赖于主键,否则要进行拆分 2NF
  3. 第三范式 2NF的基础上,非主属性之间不能存在依赖,消除传递依赖 3NF
    在这里插入图片描述

  1. BC范式 3NF的基础上,主属性不能依赖于非主属性
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  1. 第四范式 消除多值依赖,多个属性依赖于一个属性,但属性之间无依赖,就要进行拆分
  2. 第五范式 拆分表为更小的表,每个小表不可再分,且每个小表都能够通过候选键推导出来
posted @   海胆Sur  阅读(14)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示