适用人群

MySQL数据库、java程序员、其他程序员、不甘心一直当码农

例子(发例子才是好小编)

数据库如何定义表的关系(数据库中2表之间有关系)(1)

数据库如何定义表的关系(数据库中2表之间有关系)(2)

数据库中2表之间有关系,怎么设计更加优雅

除了这个比较常见的方案外还有更好的方案吗?

优缺点对比
  1. 数据量,当2张业务表数据不大的情况下,优先考虑方式1,数据量大就选择方式2
  2. 1对1、1对多、多对多,业务情况比较复杂情况,优先选择方式2,,比较固定的关系可以选择方式1.
纵表思路

业务场景:一张表有40多个属性,并且顺业务迅猛发展,字段还在不断增加。

像这种属性增长过快的场景,建议可以采用纵表设计思路。

具体设计思路

数据库如何定义表的关系(数据库中2表之间有关系)(3)

大字段(json格式)

业务场景:如配置表,业务发展太快,可以把具体规则以JSON格式放大字段中

为了扩展方便,经常在表中添加ext_info字段,

里面存的是json内容

注意

请谨慎选择大小

数据库如何定义表的关系(数据库中2表之间有关系)(4)

纵表缺点总结

数据库、程序员、设计新表注意

,