问题标签 [multiplicity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1508 浏览

arraylist - 具有指定多重性的 ArrayList 或 Aggregation

我刚从 UML (StarUML 5) 开始,所以请原谅这个非常基本的问题。

假设一个人有多个特征,每个特征都有一个名称和一个值。(这只是为了简单起见。)假设我Characteristic相应地创建了类。

我想生成Person具有类似属性的Java 类ArrayList(Characteristic)

Person我应该向类添加一个属性,比如ArrayList(Characteristic),还是应该只使用 and 之间的聚合关系Person并将Characteristic多重性指定为 0..* ?

在第一种(ArrayList)方法中,我什至没有对多重性进行建模。在第二种(聚合)方法中,Java 代码在Person类型中创建一个属性,Characteristic但不是“类似列表”的属性,即它忽略了图中的多重性。

谢谢你。

0 投票
1 回答
791 浏览

string - 如何处理 UML 中的字符串集合?

我一直想知道在 UML 中对 String 集合建模的最佳方式是什么(我的意思是标准的、OMG 认可的方式)。假设我有一个简单的设计,其中有引号,每个引号都由几个关键字表示。因此,我对“引用”类进行建模,其中包含引用本身(一个字符串)、其作者的姓名(另一个字符串)和一组关键字(每个关键字也是字符串)。如果我想在我的“关键字”属性中显示字符串的多重性,我必须在我的设计中添加“字符串”类。但由于这是大多数语言的内置类,我将其留空,因为我不知道它是如何实际实现的。所以我会有这样的事情:UML 中的字符串类

对我来说看起来有点尴尬......有没有更好的(标准UML)方法来建模这个?

0 投票
1 回答
718 浏览

uml - UML 图的多重性关系

所以我有这个问题,我已经坚持了一段时间。我必须根据一些业务规则绘制关系,并包括多重性。问题如下:

一部电影要么有一个明星,要么有两个联合主演,要么有10多个人一起看。明星必须至少出现在一部电影中。

到目前为止,我已经得到了这种关系,

电影------------------1..* 明星

电影明星关系的多样性应该是怎样的?我知道它类似于 1..2 或 11..*

我可以将这两个结合起来得到 1..2..11..* 的多重性吗?

帮助将不胜感激。

谢谢!

0 投票
1 回答
2844 浏览

oop - 面向对象设计中的多重性

我没有正确理解多重性的概念,事实上这个例子让我感到困惑,Patient(0..1)<>-----kidney(1..2),这怎么可能。如果没有病人,怎么会有一个或两个肾脏,有人可以澄清多重性的概念。提前谢谢。

0 投票
1 回答
914 浏览

asp.net - 违反了多重性约束。关系“Contract_Subscription”的角色“Contract_Subscription_Target”具有多重性 1 或 0..1

当我收到上述错误时,我试图将一些对象保存到数据库中。我用谷歌搜索和搜索的所有内容都没有产生有用的东西,因此这里的问题。

出错的代码:

类合同:

和课程订阅:

当我尝试添加具有相同订阅的额外合同时发生错误。在这种情况下,我有 2 个合同已经添加并且是代理实例,还有 2 个合同仍然是模型实例。当我开始添加模型实例时,会引发错误。奇怪的是,我的代理实例也有相同的 Subscription 指向它并且不会引发错误。我唯一能想到的是,试图添加的模型也具有相同的名称和管理。

我希望任何人都知道这个烦人的问题的解决方案。我的一个小想法是实体框架不承认我订阅和合同之间的一对多关系。为什么它不承认这种关系是我不明白的。

提前谢谢!

0 投票
2 回答
425 浏览

neo4j - 是否可以在 Neo4j / OrientDB 中限制边缘多重性?

我想知道 Neo4j 和 OrientDB 是否提供了根据特定边缘类型的多重性定义约束的可能性?

0 投票
3 回答
80 浏览

java - 返回一个新数组的数组方法,其中每个数字都被“自身”复制 # 次

我正在尝试在 Java 中编写一个方法,该方法接收一个数组并返回一个新数组,其中每个数字都打印了该次数。这是一个输入和输出示例:“1 2 3 0 4 3”--->“1 2 2 3 3 3 4 4 4 4 3 3 3”。我被卡住了,我的程序无法编译。有谁知道我哪里出错了?

0 投票
1 回答
4725 浏览

entity-framework - 如何让 EF6 在关联/关系多重性中遵守唯一约束(在 FK 上)?

2019 年更新/TLDR;切换到 Entity Framework Core(或其他)

虽然缺少一些“功能”,但 EF Core 除了主键之外还正确地支持备用键(也称为唯一约束),因此在支持关系代数方面做得更好否则为 YMMV;至少它正确支持更多的 SQL 方案。

添加的这种支持是在(非常过时的)EF Core 1.0 版本中......有点令人失望的是,原来的 EF 从未解决过这个设计(编辑!)缺陷。


这可能与我的另一个问题有关- 这似乎是:

  1. 实体框架是一个糟糕的关系代数映射器1或;

  2. (我希望)我忽略了 SSDL/CSDL 和 EDMX 模型或一般的 EF 映射。

我有一个Schema First模型,架构如下所示:

为了验证,这些脚本如下,这应该导致多重性ExternalMaps:1 <-> 0..1:Melds2

但是,当我使用 EDMX 设计器从数据库(SQL Server 2012)更新时,它错误地将关联/外键关系创建为ExternalMap:1 <-> M:Meld.

当我尝试将 Meld 的多重性(通过设计器中的“关联集”属性)手动更改为1or0..1时,我得到:

运行转换:多重性在关系“FK_Melds_ExternalMaps”中的角色“融合”中无效。因为从属角色属性不是关键属性,所以从属角色的多重性的上限必须是*

(与我的其他问题一样,这似乎与唯一约束正确注册/尊重为候选键有关。)

我怎样才能让 EF 尊重1 <-> 0..1/1模型所建立的多样​​性


1虽然我希望情况并非如此,但当我试图让 EF 映射到一个完全有效的 RA 模型时,我的悲痛永无止境:LINQ to SQL (L2S) 没有这个问题。由于对于如此流行的 ORM,我的另一个问题没有得到简单的回答,因此我对这种工具失去了信心。

2 FK 的设计并非相反:“尽管不应具有可为空的外键。” - 它也不是一个“共享”的 PK,因为2009 年的这个答案表明它是一个修复。

我正在使用 EF 6.1.1、VS 2013 Ultimate,并且不会使用任何“OO 子类型功能”——如果这有任何改变的话。


编辑叹息

多重性无效,因为从属角色属性不是关键属性?(从 2011 年开始)- EF“微软认可的企业就绪”ORM仍然是这种情况吗?20142015 年?

按照这个速度,下次有人问为什么不使用 EF 时,除了“LINQ to SQL 工作得很好”之外,我会有一大堆原因......

0 投票
1 回答
328 浏览

c# - 双外键:C# 中的多重性错误

我有一组拍卖的实体框架。每个拍卖都有用户数据库对象的 2 个外键。[创作者(必填)和当前获奖者(可选)]

公共类用户数据库 {

... } 公共类 AuctionDB {

... }

有外键的代码:

该项目一直说此错误消息:SetUp:System.Data.Entity.ModelCongifuration.ModelValidationException:在模型生成期间检测到一个或多个验证错误:

AuctionSite.AuctionDB_WinnerUser::多重性与关系“AuctionDB_WinnerUser”中角色“AuctionDB_WinnerUser_Target”中的引用约束冲突。因为从属角色中的所有属性都不可为空,所以主体角色的多重性必须为“1”。

问题出在 db.Database.Delete() 方法上:

有什么帮助吗?谢谢

0 投票
1 回答
136 浏览

python - 在具有多个重复值的排序列表中选择值周围的项目

我正在尝试在 python 列表中选择一些元素。该列表表示一些其他元素的大小分布,因此它包含多个重复值。

在此列表中找到平均值后,我想选择那些值介于该平均值附近的上限和下限之间的元素。我可以轻松做到这一点,但它选择了太多元素(主要是因为我必须使用的分布非常均匀)。因此,我希望能够选择选择值的范围,但也将搜索范围限制为低于平均值的 5 个元素和高于平均值的 5 个元素。

我将添加我的代码(非常简单)。