关联实体和关联关系属性之间的区别?

时间:2015-03-06 18:23:04

标签: database-design entity-relationship

关联实体和关联关系属性之间有什么区别?在我的书“现代数据库管理”(Hoffer,第11版)中,作者指出两者之间存在差异。虽然,它并没有真正解释为什么会有区别,相反,它只是给出了它们如何不同的例子。

根据我收集的内容,具有与之关联的单个属性的关系是关联关系属性,并用虚线表示圆角矩形,该矩形内包含该属性。而关联实体是描述关系的多个属性。两者都只能用于ER图表中的多对多关系。我的思维过程是否正确?

编辑 - 另外,我忘了提及,对于关联实体,它们也有一个唯一标识符的属性,至少,这是我的想法。

2 个答案:

答案 0 :(得分:14)

associative entity是将多个其他表关联起来的表。

关联关系属性是由于多对多关系而存在的关联实体的属性。

这是一个例子。我们假设我们有以下表格。

User
----
User ID
User Login Name
User Name
User Password

Permission
----------
Permission ID
Permission Name
Permission Description

好的,我们在User和Permission之间有很多关系。用户可以拥有多个权限,并且可以在许多用户之间共享权限。

因此,我们创建了一个关联实体。

UserPermission
--------------
User ID
Permission ID
Permission Granted Time Stamp

授予时间戳的权限是关联关系属性。它不适合User表和Permission表。它是该关联的一个属性。

答案 1 :(得分:2)

在ER图表中,M:N关系可以具有关联实体或描述关系的单关联属性。不同之处在于,关联实体必须具有唯一标识符,而关联属性则不具有唯一标识符。根据这本书,一个关联实体必须具有:

1-all the relationships for the participating entity types are M:N relationships 

2-the resulting associative entity type has independent meaning to the end user and has an identifier 

3- the entity has one or more attributes 

4-the entity participates in 1 or more relationships independent of the entities related in the associated relationship.