数据库三范式区别

博客主要介绍数据库设计的三范式。第一范式要求列是最小单元,不可再分;第二范式强调有主键,非主键列完全依赖主键,无部分依赖;第三范式指出非主键列完全依赖主键,无传递依赖,并给出相应示例及拆分说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三范式总结

所谓的范式,其实就是我们设计数据库时应该遵守的一种规范
  1. 第一范式: 强调列应该是最小单元,不能再分
    如下: 不属于第一范式。contact列不是最小单元还能再分
    不属于第一范式
    拆分第一范式为:
    第一范式

  2. 第二范式: 强调必须要有主键,并且非主键列必须完全依赖主键列,不能出现部分依赖!
    如下:订单表不属于第二范式。主键为(OrderID,ProductID),但存在部分依赖,UnitPrice,ProductName依赖于主键里的ProductID
    不属于第二范式
    拆分第二范式为:
    第二范式

  3. 第三范式: 强调非主键列必须完全依赖主键列,不能出现传递依赖的情况!
    如下:用户订单表属于第三范式。存在传递依赖,UserName依赖于UserID,UserID依赖于主键OrderId,属于传递依赖
    不属于第三范式
    拆分第三范式为:
    第三范式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值