1. ホーム
  2. database

[解決済み] Max CardinalityとMin Cardinalityの違いは何ですか?

2022-02-15 06:26:24

質問

データベースを設計する際に、最大値(Max)と最小値(Min)の違いを理解するのに苦労しています。

どのように解決するのですか?

カーディナリティは常に他のものとの関係であることを忘れないでください。

最大カーディナリティ(Cardinality) 常に1または多。 クラスAはパッケージBに対してカーディナリティが1のリレーションシップを持ちます。 その逆はパッケージの最大カーディナリティがNで、これはN個のクラスが存在することを意味します。

最小カーディナリティ(任意性) 0は0以上、1はそれ以上という意味です。

これを説明する良い記事が大量にあり、プロパティさえも説明しているものもあります。 "図" . もうひとつ、Cardinality/Optionality(OMG用語)を検索すると、同じことを説明しています。Optionalityは "Min"、Cardinalityは "Max"です。


より http://www.databasecentral.info/FAQ.htm

Q: データテーブル間のリレーションシップを作成する際に、最大カーディナリティがどのように使用されるかがわかります。しかし、最小限のカーディナリティがデータベース設計にどのように適用されるのかがわかりません。何が足りないのでしょうか?

A: 最大カーディナリティが最小カーディナリティよりも重要なリレーションシップの特性であることにお気づきでしょう。最小カージナリティでわかるのは、リレーションが意味を持つために、テーブルが持つべき最小限の許容行数だけです。例えば、バスケットボールのチームは少なくとも5人のプレーヤーを持たなければなりません。したがって、PLAYER側の最小基数は5であり、TEAM側の最小基数は1である。

人はチームに所属していなければ選手にはなれないので、teamの最小基数は必須であると主張することができる。同様に、少なくとも5人のプレーヤーがいなければ、組織はバスケットボールチームにはなり得ない。PLAYERSの最小カージナリティも必須である。逆もまた真なりである。ある選手がチームを辞めたとき、後任が決まるまで、そのチームはチームでなくなるのでしょうか?試合には出られないが、チームでなくなるのか?このように、個々の状況に応じて評価しなければならないのである。この場合、何が真実なのか?次に同じような状況になったとき、状況が違えば、判断も違ってくるかもしれない。