数据库设计三范式

什么是数据库设计三范式

设计数据库表的时候所依据的规范,共三个规范:

第一范式:
要求有主键,并且要求每一个字段原子性不可再分

第二范式:
要求所有非主键字段完全依赖主键,不能产生部分依赖

第三范式:
所有非主键字段和主键字段之间不能产生传递依赖

几个比较经典的设计

一对一

第一种方案:分两张表存储,共享主键

例如表:t_husband

hno(pk)name
1张三
2李四
3王五

表:t_wife

wno(pk)name
1张三
2李四
3王五

第二种方案:分两张表存储,外键唯一

一对多

分两张表存储,在"多"的一方添加外键,这个外键字段引用"一"的一方中的主键字段。

多对多

分三张表存储,以学生选课为例:在学生表中存储学生信息,在课程表中存储课程信息,在学生选课表中存储学生和课程的关系信息。

实际项目中如何使用三范式

  1. 数据库设计尽量遵循三范式;
  2. 有时需要根据实际情况进行取舍;
  3. 有时可能会拿冗余换速度;
  4. 最终目的要满足客户需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值