引言
在实际开发过程中,我们的数据表是几十个或上百个的,那么表与表之间的是如何关联的,下面分享一些项目经验
表关系
- 一对一
- 一对多
- 多对多
1、一对一
例如:用户和用户详情
一对一的关系是将一个实体中经常使用的字段放一张表,不经常使用的字段放另一张表,
可用于提升查询性能
实现方式:在任意一个表加入外键,关联另一个表主键,并且设置外键为唯一(UNIQUE)
案例:
tb_user用户表
id name age
1 xxx 10
2 xxx 20
tb_user_desc用户详情表
id city income user_id
1 广州 8000 1
2 深圳 9000 2
2、一对多
例如:部门和员工
一个部门对应多个员工,一个员工对应一个部门。
实现方式:在多个的表建立外键,指向一个的表的主键
案例:
tb_debt部门表
id name addr
1 业务 东莞
2 售后 东莞
tb_emp员工表
id name age dept_id
1 xxx 10 1
2 xxx 20 1
3、多对多
例如:商品 和 订单
一个商品对应多个订单,一个订单包含多个商品
实现方式:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键
案例:
tb_order(订单表)
id payment payment_type status
tb_goods(商品表)
id title price
tb_order_goods(订单商品中间表)
id order_id goods_id
更多技术干货请搜索关注公众号StartCMS
标签:一对一,xxx,外键,数据表,Mysql,tb,id From: https://www.cnblogs.com/huaziya/p/17097942.html