http://martinfowler.com/bliki/MultiplicityNotCardinality.html

データモデリング手法が関係を扱う際、いくつのエンティティが同時にリンクされるのかということを示すために、「基数」という用語が用いられます。注文と顧客の関係は、1:多の関係と言えます。0:多という場合もあるかもしれません。

UMLでは基数ではなく多重度という用語を用いています。基数がデータモデリングなどで広く使われているため、データモデリングをバックグラウンドをもつ人間はこのことに驚きます。

この変更は基数の定義が原因です。オックスフォードイングリッシュディクショナリーによると「組、グループにおける要素の数」とあります。これに忠実にしたがうなら、データモデリングでの使用方法は、実際には間違っていることになります。 UML Reference Manual という良書において、Rumbaughは多重度をこう定義しています。「ある組が取りうる基数値(サイズ)の許容範囲の取り決め」。UMLは多重度を様々な用途に用います。プロパティ(関連や属性)やコンポジションの部分の多重度も示します。厳密には下限と上限が定められています。関連(データモデリングにおける関係に相当するUML用語)はそれぞれの方向に多重度を持っています。

Note

cardinalityという言葉の訳が分からなかったのですが、UML訳語集なるものの中にありました。

"”31 cardinality 低 基数