如何在UML中表示非(整体/部分)关系中的删除结果(无效或级联)?

如何在UML中表示非(整体/部分)关系中的删除结果(无效或级联)?

我们是否同意最初的假设?

UML文献经常提到有关聚合/组合的部分整体关系。但是,UML标准中的定义已经发展(请参阅UML 2.5.1):

有时使用一个属性来建模环境,其中一个实例用于将一组实例组合在一起;这称为聚合。(...)

Shared:指示该属性具有共享聚合语义。共享聚合的精确语义因应用程序区域和建模者而异。

组合:表示属性是复合聚合的,即复合对象负责组合对象的存在和存储。

复合聚合是一种强大的聚合形式,它要求一个部件对象是,最多一次包含在一个复合对象中,。如果一个复合对象被删除,那么它所有作为对象的部件实例都会随之被删除。

换句话说,没有为“聚合”(即共享聚合)指定与简单关联不同的精确语义:共享聚合是一个modeling placebo。

因此,数据库约束与UML建模之间的关系并不像您想象的那样简单。

近距离匹配?

此外,在数据库模式和UML模型之间没有一般的一对一映射.可以使用多个数据库模式来实现相同的UML类图。相反,多个UML图可以表示由给定数据库模式实现的设计。所以我们能做的最好就是考虑近距离的比赛。

在数据库中,带有FOREIGN KEY约束的表对应于组合中的潜在组件、共享聚合的元素或简单关联中的关联实例:

a 可以帮助实现复合聚合:这是在SQL中实现组合中所期望的那种生命周期管理的唯一方法:组合时组件将被删除。如果某些业务规则/合同(例如UML post条件)需要这样一个相关的删除,那么它也可以实现一个普通的关联。

a 可以帮助实现共享聚合,如果它的意义被定义为您的意思:如果删除聚合,则不会删除其元素,因此可以共享。但是它也可以实现--任何普通的关联,因为删除关联实例也不会触发删除,并且约束将允许保持一个干净的引用完整性。

相关推荐

英语介词有哪些
365bet客户端

英语介词有哪些

📅 08-14 👁️ 1418
解决二胎妈妈疑惑:临产前几天有哪些征兆
365不给提款怎么办

解决二胎妈妈疑惑:临产前几天有哪些征兆

📅 09-29 👁️ 3314
异地恋不分手的秘诀:如何顺利度过3个关键阶段
365bet足球即时比分

异地恋不分手的秘诀:如何顺利度过3个关键阶段

📅 09-20 👁️ 6271
流苏结怎么打:从基础到技巧的详尽指南
365不给提款怎么办

流苏结怎么打:从基础到技巧的详尽指南

📅 09-20 👁️ 1425
如何接收传真 给个具体步骤啥
365bet客户端

如何接收传真 给个具体步骤啥

📅 08-28 👁️ 2171
loldp_LOLAP什么意思?
365bet足球即时比分

loldp_LOLAP什么意思?

📅 07-25 👁️ 1286
数据帝教你如何狂刷心意点,婚房属性一天满!
365bet客户端

数据帝教你如何狂刷心意点,婚房属性一天满!

📅 08-02 👁️ 9338
限制性股票解禁公告提前几天
365bet客户端

限制性股票解禁公告提前几天

📅 07-29 👁️ 8027