Uml 将ERD转换为类图

Uml 将ERD转换为类图,uml,class-diagram,erd,Uml,Class Diagram,Erd,我得到了一个ERD,可以转换成一个用于家庭作业问题的类图。 我想知道“收据”中的符号是什么。收据是实体吗? 此外,实体项目中关联附近的**圈是什么意思?圈表示相应关联结束多重性的下限为0(产品可与0或更多项目关联) 收据是所谓的关联类,是关联和类的混合体。当两个对象(在本例中为产品和库存)之间的链接具有其自身的某些属性(此处可能为接收日期、数量、价格等)时,使用该属性。所以,它是一个实体,一个实体的特例 下面是相应的UML图: 转换为DB表的收据将有两个强制外键(产品和库存,以及它自己的字段)

我得到了一个ERD,可以转换成一个用于家庭作业问题的类图。
我想知道“收据”中的符号是什么。收据是实体吗?

此外,实体项目中关联附近的**圈是什么意思?

圈表示相应关联结束多重性的下限为0(产品可与0或更多项目关联)

收据是所谓的关联类,是关联和类的混合体。当两个对象(在本例中为产品和库存)之间的链接具有其自身的某些属性(此处可能为接收日期、数量、价格等)时,使用该属性。所以,它是一个实体,一个实体的特例

下面是相应的UML图:


转换为DB表的收据将有两个强制外键(产品和库存,以及它自己的字段)。

中收据内的菱形符号表示收据实体是关联实体。当获得两个现有实体之间的多对多关系时,也会使用关联实体(除了上面Aleks在回答中给出的原因之外)。在软件开发中,多对多关系是有问题的,因此为了解决这个问题,我们在它们之间添加了称为关联实体的虚拟实体。

我们在UML类图和数据库ERD或EERD之间有一些小的区别, 首先,在ERD中,如果你有N到M个基数,你必须在它们之间建立第三个表,但是在类中你有一个对象数组,所以基本上你只需要2个类来表示3个表(2个实体多对多关系)

第二,如果ERD/EERD实体之间存在关系,并且这种关系也是多对多的,则需要一个关联类 但是,如果关系为1-N、N-1或1-1,则可以选择更好的实体/类将其用作内部的属性/属性,而不是创建单独的类