数据库设计三大范式

1.什么是范式?

范式是数据库设计范式的简称,是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则,在关系数据库中,这种规则就是范式。

2.第一范式(1NF)

数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是保证每一列的原子性。

举例:

该表在这里插入图片描述
该表的每一列都是不可拆分的最小单元(最小数据单元或最小原子单元),即符合每一列的原子性。

3.第二范式

指的是在满足第一范式(1NF)的基础上,要求表中所有的列都必须依赖于主键,不能有任何一列与主键没有关系,通俗的来说就是一个表只描述一件事。

举例:

订单与订单日期表:
订单和在这里插入图片描述

产品和产品名称表:
在这里插入图片描述

订单表只描述与订单相关的信息,所有的字段都必须与订单id相关, 产品表只描述产品相关的信息,所有字段都必须与产品id相关;因此不能在一张表中同时出现订单信息与产品信息。这就是满足了第二范式。

3.第三范式

在满足第二范式的前提下,要求表中的每一列只与主键直接相关而不是间接相关(表中的每一列只能依赖于主键)。

例如:订单表中若需要有客户相关的信息,在分离出客户表之后,订单表中只需要一个客户id即可,而不需要客户的其他信息(性别,电话号码等等)。因为其他的客户信息直接关联于客户id,而不是与订单id直接相关。

4.如何更好地区分三大范式呢?

第一范式和第二范式在于有没有分出两张表,第三范式要求已经分出了多张表,但是一张表中只能有另一张表中的id(主键),而不能有其他的任何信息。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值