[解決済み] Max CardinalityとMin Cardinalityの違いは何ですか?
質問
データベースを設計する際に、最大値(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の最小カージナリティも必須である。逆もまた真なりである。ある選手がチームを辞めたとき、後任が決まるまで、そのチームはチームでなくなるのでしょうか?試合には出られないが、チームでなくなるのか?このように、個々の状況に応じて評価しなければならないのである。この場合、何が真実なのか?次に同じような状況になったとき、状況が違えば、判断も違ってくるかもしれない。
関連
-
[解決済み】識別関係と非識別関係の違いとは?
-
[解決済み] 検出された解決済みの移動がフライウェイのデータベースに適用されていない。
-
[解決済み] 機能依存の最小限の根拠
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] rake db:migrate db:reset とdb:schema:loadの違いについて
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み】マルチインデックスとマルチカラムインデックスの比較
-
[解決済み】Cassandraのパーティションキー、コンポジットキー、クラスタリングキーの違い?
-
[解決済み】JOINとUNIONの違いは何ですか?
-
[解決済み】SQL Serverデータベースをオフラインにすると、極端な待ち時間が発生する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「データソース名が見つからず、デフォルトのドライバが指定されていません」と表示される理由と解決方法について教えてください。
-
[解決済み] Liquibase ロック - 理由は?
-
[解決済み] mongodb 4 データディレクトリ C:\data_dbdb not found
-
[解決済み] データベースマネージャの開始コマンドは発行されていません。SQLSTATE=57019
-
[解決済み] 部分依存性(データベース)
-
[解決済み] バルクロードとは何ですか?
-
[解決済み] Python 3 - JDBCで接続する
-
[解決済み】非常に大きなデータベースファイルを持つsqliteのパフォーマンス特性は何ですか?[クローズド]。
-
[解決済み】データベースをgit(バージョン管理)下に置くには?)
-
[解決済み】CAPの定理 - 可用性とパーティションの許容性