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

用户问答场景ER图设计咨询:Question实体判定及图的正确性

关于ER图设计的疑问解答

1. Question完全可以作为实体引入ER图

在你的业务场景里,Question本身具备独立的属性(比如问题ID、标题、内容、发布时间、状态等),而且它是业务流程的核心对象——用户围绕它提问、回答,同时它归属于某个Subject,完全符合实体的定义(实体是现实世界中可区分的事物,拥有独立存在的意义和自身属性)。所以把Question作为实体是完全合理的,这也是这类场景下的常规设计方式。

2. 关于Answer的设计问题

你把Answer作为User和Question之间关系的派生属性,这是不合理的。因为一个Question可以被多个User回答,每个Answer本身也会有自己的属性(比如回答内容、发布时间、点赞数等),它本质上是一个独立的业务对象,应该单独作为实体,而不是派生属性。正确的关联逻辑应该是:

  • User和Answer是一对多关系(一个用户可以发布多个回答)
  • Question和Answer是一对多关系(一个问题可以有多个回答)

3. 现有ER图的问题及修正方向

你的现有设计里,核心问题出在Answer的处理上,另外需要明确各实体的关联关系:

  • User与Subject:多对多关系(一个用户可以报名多个科目,一个科目可以被多个用户报名)
  • Subject与Question:一对多关系(一个科目下可以有多个问题,一个问题归属于一个科目)
  • User与Question:一对多关系(一个用户可以发布多个问题)
  • User与Answer:一对多关系(一个用户可以发布多个回答)
  • Question与Answer:一对多关系(一个问题可以有多个回答)

如果坚持不把Answer作为实体(不推荐),那只能将回答内容作为User和Question关系的多值属性,但这种方式会丢失回答的其他属性(比如时间),也无法处理一个问题多个回答的场景,完全不适合你的业务需求。

内容的提问来源于stack exchange,提问作者Saajidh Borham

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:01:09