ERM模型 - 与弱实体的三元关系

时间:2011-09-20 06:32:53

标签: database-design entity-relationship

我有一个简单的数据库设计。它有实体:User Place Review。基本上,用户可以发布地点(某个地方的位置),并且用户可以发布评论。现在我在3之间有一个三元关系,可以发布用户对某个地方的评论。

就像 User ---- <post> ---- ReviewPlace ---- <post> ---- User

所以,这是一个3方式。

首先是正确的用法?在那里,我可以这样做吗?我真的不在乎它是不是最好的方式,我只是想知道这是否合法?

其次,我使Review成为一个弱实体,但我怎样才能使它成为用户的主键和Places的主键?如果我把它变成一个弱实体,它会自动接受它们的主要ID吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

  

首先是正确的用法?在那里,我可以这样做吗?我真的不在乎它是不是最好的方式,我只是想知道这是否合法?

不是我的眼睛,因为我看到你在第二关系中连接到自己。我认为这是一个错字,你的意思是User ---- <post> ---- Place

  

其次,我将Review作为一个弱实体,但是如何才能使它成为用户的主键和Places的主键?如果我把它变成一个弱实体,它会自动接受它们的主要ID吗?

要求缺少一些重要的事情,例如:

  1. 用户发布了一个关于某个地点的评论数量?
  2. 多个用户可以在同一个地方发帖吗?
  3. 可以有多个用户发布关于同一个地方的评论吗?
  4. 等等,所以给出确切答案有点困难。

    以下假设的一个例子:

    1. 用户可以发布多个地方
    2. 多个用户可以发布同一个地方
    3. 用户只能发布一个地方的评论
    4. 您可以创建此关系:

      User(m)--<post>--(n)Place
                 |
                 |
               Review
      

      如果您再解释一下,我可以引导您找到预期的解决方案。

答案 1 :(得分:0)

enter image description here