为什么需要三张表之一对一表结构设计?

为什么需要三张表?这得从表结构的设计来说起。关于表结构的设计,一般有三种方式:
1)一对一
2)一对多
3)多对多
其中最后两种是常用的,一对一基本上不用了,所以下面对于一对一表结构的介绍,大家仅作了解,后面2种要着重了解,因为答案就在里面。

先说一对一这种设计表的方式,它是这样的一种场景,假如说咱们现在有一张表叫公司表,然后公司表里边有公司的ID,名称;还有一张地址表,这个地址表也有一个字段ID,还有一个地址。完了我们如何让这两张表做一个一对一的关系?

通常这么做就可以了,我们只需要把这2张表的主键设成相同,那他们就会产生一个一对一的效果,我们看下图:
在这里插入图片描述

什么叫把主键相同呢?假如公司表里面有一个1号的公司,名称为千锋教育,法人为**;
为了让公司表和公司地址表产生一对一的效果,我们就可以给这个公司地址表也设一个’公司ID’的主键,那么在插入数据时,如果插入的是千锋相关数据,那’公司ID’就是1,然后其他的按照相关内容来填就可以了,这就是主键相同的一种对应方式(如下图);
在这里插入图片描述

这么看,只要公司ID为1,大家就知道它表示的就是千锋,法人是***,公司地址在北京,公司成立时间是2000年。

同样的道理,如果我们再来插入一个阿里巴巴公司。阿里巴巴咱们给它的公司ID来个2,那当我们往公司地址表里插入阿里巴巴公司地址时,公司ID自然也只能为2,这就叫主键唯一对应的一种一对一的方式。两张表搞一个主键一对一,这里边这张数据对应后面这一段数据对不对?这是一个一对一的表结构设计。

为什么说现在一对一表结构设计很少用呢?因为它很麻烦,其实这两张表把它们搞成一张表就ok了,直接把地址表做成公司表里面的一个属性就可以了,也就是加个字段就ok了,如下图:
在这里插入图片描述

说完一对一的表结构设计,咱们下一篇再来聊什么是一对多表结构设计。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值