You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中设计满足多对多、一对多关系的CRUD应用数据库结构?

数据库结构设计方案

1. 调整基础表结构

保留你现有三张表的核心字段,仅对animal_table做少量修改,来实现农场主与动物的一对多关系:

  • farmer_table:维持原有字段 id(主键)、name、desc
  • animal_table:在原有字段 id(主键)、name、desc 基础上,新增 farmer_id 字段,设置为外键关联 farmer_table.id。这样每个动物都能对应到唯一的农场主,一个农场主可以关联多个动物,满足一对多关系。
  • investor_table:维持原有字段 id(主键)、name、desc

2. 新增多对多关联表

针对投资者与动物的多对多关系,需要新增一张中间关联表(命名建议用animal_investor_relation),字段设计如下:

  • animal_id:外键,关联 animal_table.id
  • investor_id:外键,关联 investor_table.id
  • 可选优化:新增自增id作为主键,同时给animal_id和investor_id添加联合唯一约束,避免同一个投资者重复关联同一只动物。

核心逻辑说明

  • 一对多关系:通过animal_table.farmer_id与farmer_table.id的外键绑定,确保动物只能归属一个农场主,而一个农场主可拥有多只动物。
  • 多对多关系:中间表存储投资者和动物的关联记录,一条记录代表一个投资者关联了一只动物,以此实现双向的多关联需求。

内容的提问来源于stack exchange,提问作者Gusde Widnyana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:01:00