0

我想制作一张可以将这 4 种关系连接在一起的表格。问题是客户可以提出很多问题,员工可以回答问题,并且双方都可以对问题发表评论。

          1   m
 Question ------ Comment 

如何添加员工和客户实体?

我的看起来像这样,但我发现我的关系有点奇怪

          1   m
 Question ------ Comment 
    |               |
    | m             | m
    |               |
    | 1             | 1  
    |               |        
  Customer        Staff
4

1 回答 1

0

客户可以提出很多问题,员工可以回复问题,并且双方都可以对问题发表评论

您的实体是客户、员工、问题、回复(您在图表中省略了)和评论。

您可以考虑定义一个User实体,它是 Customer 和 Staff 的“超类”(在面向对象的术语中)。一些 RDBMS-es 支持一种表继承,例如PostgreSQL,或者您必须通过外键自己实现它,或者只拥有一个带有“type”列的 User 表,您可以将其设置为“customer”或“staff” ”。这是实现细节。但是,您选择实现这一点:

  1. 客户可能会创建问题,并且它们之间存在 1:N 的关系。
  2. 员工可以创建回复项目,它们之间又是 1:N 的关系。
  3. 一个问题可能有多个答复。
  4. 一个问题可能有很多评论。
  5. 用户(即客户和员工)可以创建评论。同样,一个用户可能有很多评论,一个问题也可能有很多评论。

这些似乎是您的实体及其关系。希望这会有所帮助,并且不会太晚(很可能您同时也想通了:-))。

于 2013-02-18T15:15:03.967 回答