总结数据库的几大范式

0、前言        

        对于数据库的设计,要遵循一定的规则。本文详细介绍数据库的几大范式。
        需要说明的是:以下的每一个范式,都是在上一个范式的基础上进行约束的,即:        


1、第一范式(原子性)

        概括一句话:数据库的每个字段不可再拆分。

        例如:user_info内含有姓名、电话、住址,可以继续拆分,必须要拆开。

 应变为:    

2、第二范式 (依赖主键的全部)

        概括两句话,在第一范式的基础上,满足:
        1.一定要有主键(唯一标识性)
        2.非主键字段必须“完全依赖”主键

        注意,什么叫做“完全依赖”?其实就是“不是部份依赖”,就是不能仅仅依赖主键的一部分。
        比如,以下非主键部分产生了部份依赖:

         应当改为:

 3、第三范式(只依赖主键、不依赖非主键)

         一句话概括:非主键字段只允许依赖主键字段,而不能依赖别的非主键字段。

         例如:

4、BCNF范式

         一句话概括:主属性对于候选键不可以是部分依赖!

例如: 

         主属性仓库名对于候选键(管理员,物品名)是部分依赖的关系, 这样就有可能导致异常情况。


        由于太多的范式要求会导致分表,这样会造成联表查询,因此范式也不是越多越好,后面的其他范式都不太常用了,因此本文就不做赘述咯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好奇的7号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值