当前位置: 首页 > 知识库问答 >
问题:

关联实体与关联关系属性的区别?

贝滨海
2023-03-14

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

据我所知,一个有一个属性关联的关系是一个关联关系属性,并用一条虚线表示一个圆角矩形,该矩形内有该属性。而关联实体是描述关系的多个属性。两者都只能用于ER图解中的多对多关系。我的思维过程正确吗?

编辑--还有,我忘了提,有了关联实体,它们还有一个属性是唯一的标识符,至少,这是我想的。

共有2个答案

孟鹤龄
2023-03-14

在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.
岳炎彬
2023-03-14

关联实体是以多对多关系将其他两个表关联起来的表。

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

这里有一个例子。假设我们有以下几个表。

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

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

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

所以,我们创建一个关联实体。

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

授予的权限时间戳是一个关联关系属性。它既不适合用户表,也不适合权限表。这是关联的一个属性。

 类似资料:
  • 说我有这样的关系 那么,我是否可以说这种关系是一种关联,而不是聚合或组合。 我可以说狮子使用食物并像这样绘制UML图吗 此外,这种关系也没有多重性,因为Lion没有Food数组,食物也没有Lions数组作为实例变量。不同于复合和聚合,其中关系具有多重性。 如果我希望Food也能以同样的方式使用Lion呢。我在两个班级之间画两个箭头吗?

  • 好了,这里是第一次用到NutDao的关联关系了, 打开User类,加入2行 @One(target=UserProfile.class, field="id", key="userId") protected UserProfile profile; 自然的,为其添加Getter/Setter

  • 我没有那么多的冬眠。所以,当反转和级联进入画面时,陷入一个点。我知道,inverse告诉hibernate拥有实体,该实体负责更新它们的关系,Cascade会告诉hibernate首先保存实体,然后保存其从属实体。 我只是想知道是否必须在同一个实体中声明级联="all"和反转="true"。我们可以通过其他实体中的反转和级联属性将一个声明为拥有实体吗?请说明这一点? 谢谢。

  • 问题内容: 我有这种关系:一个用户可以有零只或一只狗,但是一只狗必须属于某人。 我想定义以下范围: 我可以在第一种情况下执行此操作,因为默认情况下,在rails中,联接是INNER JOIN: 1 /这种针对第一个示波器的解决方案是否足够好? 2 /第二个课程你会做什么? 3 /(有一些关联)是否有更好的方法?: 谢谢你的帮助! 问题答案: 对于问题2,我认为以下方法应该有效: 其中include

  • 我有两个persistenceUnits映射到两个不同的Oracle模式,这些模式是相似的,但表名不同。当我尝试部署应用程序时,我得到一个Hibernate异常“Missing table”,这似乎是Hibernate在错误的PersistenceUnit中查找表。 .ear#POIPersistenceUnit\“:org.hibernate.hibernateException:丢失表:POI

  • 使用“关联类型”可以增强代码的可读性,其方式是移动内部类型到一个 trait 作为output(输出)类型。这个 trait 的定义的语法如下: // `A` 和 `B` 在 trait 里面通过`type` 关键字来定义。 // (注意:此处的 `type` 不同于用作别名时的 `type`)。 trait Contains { type A; type B; // 通常