ER图中的弱实体能否在类图中表示?是否可使用构造型?
ER图弱实体在类图中的表示及构造型实现
弱实体在类图中的模拟表示
ER图里的弱实体依赖强实体的标识才能唯一确定,类图本身没有原生的弱实体符号,但完全可以通过类之间的关联和属性约束来模拟ER图里的弱实体逻辑:
- 弱实体对应的类,其主键必须包含关联的强实体类的主键(也就是组合主键),以此体现对强实体的标识依赖;
- 建立弱实体类与强实体类的关联,关联的 multiplicity 设置为:强实体端是
1,弱实体端是0..*(或1..*,依业务逻辑而定),明确强实体对弱实体的包含关系。
举个实际例子:如果ER图里“订单明细”是依赖“订单”的弱实体,那么类图里:
- “订单”类有主键
订单ID; - “订单明细”类的主键是
订单ID + 明细ID的组合; - 两者建立关联,“订单”端 multiplicity 为
1,“订单明细”端为0..*。
用构造型实现弱实体的明确标识
完全可以用UML的构造型来更直观地标记弱实体:
- 给弱实体对应的类添加构造型
<<Weak Entity>>,放在类名上方,这样能直接从类图中识别出这是对应ER图的弱实体; - 搭配前面提到的组合主键和关联设计,就能完整复刻ER图中弱实体的语义,让类图的可读性更强,和ER图的对应关系更清晰。
内容的提问来源于stack exchange,提问作者dok
相关产品推荐
相关产品推荐

