【问题标题】:Modelling an ER Diagram为 ER 图建模
【发布时间】:2016-10-11 07:46:47
【问题描述】:

这个想法是为一个小型应用程序设计一个简单的 ER 图。

该应用程序是一个问答系统。每个用户都应该能够以文本格式提出问题,然后其他用户可以使用图像发布答案。

最后,提出问题的用户应该能够选择一张图片作为正确答案。

所以我目前的设计是三个表:

  • 具有 id、用户名、电话、位置、真实姓名、密码属性的 USER。
  • 具有 id、description、time、status 属性的QUESTION。
  • 带有属性 id、地址的图像

IMAGE 和 USER 以及 QUESTION 和 USER 之间存在多对一的关系。

但是,我不知道 IMAGE 和 QUESTION 之间的关系应该如何。

他们之间应该是一对一的关系吗?这样的设计好吗?

谢谢

【问题讨论】:

  • 您如何区分作为问题的用户和回答的用户?也因为 1 QUESTION 可以有许多图像作为答案,它也是一个一对多的关系
  • 您是否存储了问题的答案?是否有 Question 和 QuestionAnswer 表?
  • @MimiEAM 提问的用户无法回答他/她自己的问题。所以这就是我区分用户作为提问者和用户作为回答者的方式。

标签: sql database entity-relationship


【解决方案1】:

如果用户应该能够选择一个图像作为问题的正确答案,这意味着应该有多个图像可供选择 - 所以不,两者之间的一对一关系不是很好想法。

如果任何给定图像仅用于一个问题,那么这将表明问题与图像之间存在一对多关系。如果同一张图片可以用于许多问题,那么这意味着多对多的关系。

当然,您需要在问题表上有一个“选定图像”属性。

【讨论】:

  • 实体之间最好是三元关系还是聚合而不是三角形的相互关系?
  • @hydrology:如果实体之间存在多对多关系(在关系建模中),则它们之间应该有一个链接实体,该实体与每个链接的实体都具有多对一的关系实体 - 因此(例如)如果问题和图像之间存在多对多关系,那么它们之间应该存在问题-图像链接实体。 (在此示例中,链接实体可能对应于未包含在问题中的“提供的答案”实体。)
【解决方案2】:
USER with attributes id, username, phone, location, realname, password.
QUESTION with attributes id, desription, time, status.
IMAGE with attributes id, address

Image_question 1:n ( One question can have multiples images)

User_questions 1:n

【讨论】:

  • 虽然这段代码可以解决提问者的问题,但最好解释一下它是如何工作的,以及它与提问者尝试过的有什么区别(如果他尝试过任何事情) )。
猜你喜欢
  • 1970-01-01
  • 2021-05-31
  • 2011-11-25
  • 2011-11-22
  • 2019-02-20
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 2018-09-07
相关资源
最近更新 更多