数据库设计之ER图、三大范式


 

ER图

Entity Relationship,实体关系图
在这里插入图片描述

1、先画出所有实体,矩形圈出来

2、再画出每个实体的属性,椭圆圈出来,实体、属性之间实线连接,作为主键的属性可以画一条下划线。

3、实体之间用菱形标注联系,并标注关联关系:一对一(1,1)、一对多(1,n),多对多(m,n)。

 

关联关系

  • 1对1:1个人只对应1张身份证,1张身份证也只对应1个人,2个都是1对1
  • 1对多,1个用户可以拥有多个订单,1个订单只能属于1个用户,1个1对多、1个1对1
  • 多对多:1种商品可以属于多个订单,1个订单可以有多种商品,2个都是1对多

 

数据库三大范式

数据库有8种范式(Normal Form),通常只用到前3种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF),我们设计的关系数据库要满足这3种范式。
 

第一范式

  • 1NF是对属性的原子性约束,要求属性具有原子性,不可再分解。

第二范式

  • 2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性。表中的每一条记录都要是可区分的,表中必须要有一个unique字段作为主键。
  • 第二范式建立在第一范式的基础上,满足第二范式必须要先满足第一范式。

第三范式

  • 3NF是对字段冗余性的约束,要求属性不能有依赖传递(只依赖于主键,不依赖于主键之外的其它属性),简单来说就是要求没有冗余字段。
  • 第三范式建立在第二范式的基础上,满足第三范式需要先满足第二范式。
  • 范式、冗余的取舍:有时为了提高效率,可以适当违反第三范式,冗余部分字段以减少多表查询,用空间换时间。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值