ER图设计问题

时间:2018-01-23 18:27:11

标签: entity-relationship

我为社交网络设计了ER图,最近我和同事们讨论了这部分是对还是错

ER DIAGRAM PROBLEM

Faqet (Pages)使用三个操作与 Shfrytezuesi (用户)相关联, pelqen 用于存储喜欢, krijon faqe 以了解创建页面的人,以及 udheheq 来存储所有页面管理员,所以我的问题是

这个设计错了吗?

两个表可以与多个动作相关联,这是我不确定的地方

1 个答案:

答案 0 :(得分:0)

在任意数量的实体集之间存在任意数量的关系是完全有效的。我对该图表的唯一关注是Shfrytezuesi下方的多个角色行合并为一个 - 我建议将它们区分开来。

请注意,在实体关系模型中,我们不链接表。这个想法来自旧的网络数据模型,其中行表示实体,表表示实体集,行/表之间的链接表示关系。

该模型的一个缺点是它只支持有向二元关系 - 多对二元,三元和更高的关系以及与属性的关系,所有必需的关联实体都将被引入。但是,三个二元关系并不等同于三元关系,并且并非所有关系都可以在二进制数据模型中表示。

ER模型支持n-ary关系和关系属性。实体集由它们的主键和实体键组合的关系表示。实体集加上属性形成实体关系,关系集加属性形成实体关系。这些关系映射到表。在实践中,具有相同主键的表被组合以减少表的数量,这意味着一对一和一对多关系被组合到其关联实体集之一的关系中。

无论表如何组合,属性和关系都由列集表示。例如,根据您的图表,Pelqen将表示为(FID PK, SID)(假设SIDShfrytezuesi的主键)。这些列可能具有不同的名称,例如SID可能会重命名为AdminSID,特别是如果关系已合并到Faqet中。旧的网络数据模型将FID FK -> FID PK视为一种关系,如上下文所述,这种关系非常有限,而不是ER模型采用的方法。

网络数据模型的另一个缺点是预定的访问路径,这意味着我们必须使用预定义的关系从一个表导航到另一个表。这种复杂的查询和数据处理显着。这种限制是ER模型映射的关系模型开发的主要驱动因素之一。将表理解为RM中的关系使我们能够使用连接构造和导航任意访问路径。因此,我们在RM中链接表,但是在查询时并根据需要而不是在设计时。 ER模型仅用于概念设计,不描述表之间的关系,仅描述实体集之间的关系。

现在,ER模型不像RM那样完整且一致的逻辑模型,但它是对网络数据模型的重大改进。比ER更严格的方法是对象角色建模,但这是一个不同的主题。