图解数据库设计三范式

1NF(第一范式)

域应该是原子性的,即数据库表的每一列都是不可分割的原子数据项。
以下表不符合第一范式(在特定的业务场景下)

身份证姓名地区
250***张三广州市海珠区
251***李四广州市天河区

可以修改成:

身份证姓名
250***张三广州市海珠区
251***李四广州市天河区

2NF(第二范式)

在 1NF 的基础上,实体的属性完全函数依赖于主关键字(混合主键), 不能存在部分函数依赖于主关键字。
符合第二范式
在这里插入图片描述

例如以下成绩表,就不符合第二范式,因为要确定某个学生某个课程的成绩,所以需要将学生证号和课程号作为表的主键,但是其中的姓名课程名称没有完全依赖主键,所以说不符合第二方式
在这里插入图片描述
可以拆分为

  • 学生表:学生证号、姓名
  • 课程表:课程号、课程名称
  • 学生和课程关联表(成绩表):学生证号、课程号、成绩

3NF(第三范式)

3NF 在 2NF 的基础之上,消除了非主属性对于主键(复合主键)的传递依赖。
符合第三范式:
在这里插入图片描述
不符合第三范式:
在这里插入图片描述
例如订单明细表:
在这里插入图片描述
可以拆解成:

  • 订单明细表:订单id、商品id、数量、金额
  • 商品表:商品id、商品名称、商品规格等等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值