95

誰かが例の助けを借りて、データベースのカーディナリティとは何かを私に説明できますか?

4

6 に答える 6

143

混乱の原因は、データモデリングとデータベースクエリの最適化という2つの異なるコンテキストでの単語の使用である可能性があります。

データモデリングの用語では、カーディナリティは、あるテーブルが別のテーブルとどのように関連しているかを示します。

  • 1-1(テーブルAの1行はテーブルBの1行に関連しています)
  • 1-多数(テーブルAの1行はテーブルBの多数の行に関連しています)
  • 多-多(テーブルAの多くの行はテーブルBの多くの行に関連しています)

上記にはオプションの参加条件もあります(一方のテーブルの行がもう一方のテーブルにまったく関連している必要はありません)。

カーディナリティ(データモデリング)に関するウィキペディアを参照してください。


データベースクエリの最適化について話すとき、カーディナリティはテーブルの列のデータ、具体的にはその中にある一意の値の数を指します。この統計は、クエリの計画と実行計画の最適化に役立ちます。

カーディナリティに関するウィキペディア(SQLステートメント)を参照してください。

于 2012-05-16T14:51:57.980 に答える
32

それは文脈に少し依存します。カーディナリティとは何かの数を意味しますが、さまざまな状況で使用されます。

  • データモデルを構築する場合、カーディナリティは多くの場合、テーブルBに関連するテーブルAの行数を指します。つまり、A(1:1)のすべての行に対してBに1行あり、N行あります。 A(1:N)のすべての行に対してBに、A(N:M)のN行ごとにBにM行があります。
  • ab *-treeインデックスまたはビットマップインデックスを使用する方が効率的かどうか、または述語がどれほど選択的であるかなどを検討する場合、カーディナリティは特定の列の個別の値の数を指します。PERSONたとえば、テーブルがある場合、GENDERカーディナリティの列が非常に低い可能性があります(おそらく、値は2つだけですGENDERPERSON_IDが、カーディナリティの列は非常に高い可能性があります(すべての行の値が異なります)。
  • クエリプランを見る場合、カーディナリティとは、特定の操作から返されると予想される行の数を指します。

人々が異なる文脈を使用してカーディナリティについて話し、何か別のことを意味する他の状況がおそらくあります。

于 2012-05-16T14:58:09.503 に答える
10

データベースでは、テーブルのカーディナリティ行数

ここに画像の説明を入力してください imgソース


ここに画像の説明を入力してください imgソース


  • リレーションシップは、カーディナリティ(つまり、セットの要素の数)によって名前が付けられ、分類されます。
  • エンティティの近くに表示される記号は最大カーディナリティで、もう1つは最小カーディナリティです。
  • エンティティリレーションは、リレーションラインの終わりを次のように示します。
    ここに画像の説明を入力してください

ここに画像の説明を入力してください

画像ソース

于 2017-07-15T11:34:19.907 に答える
6

カーディナリティとは、列に含まれるデータの一意性を指します。列に重複データが多数ある場合(たとえば、「true」または「false」のいずれかを格納する列)、カーディナリティは低くなりますが、値が非常に一意である場合(たとえば、社会保障番号)、カーディナリティは高くなります。

于 2012-05-16T14:54:26.727 に答える
-2

セットのカーディナリティは、セット内の要素の数です。セットa> a、b、c <であるため、このセットには3つの要素が含まれます。3はそのセットのカーディナリティです。

于 2013-10-26T21:04:31.533 に答える
-2

定義:データベースにテーブルがあります。リレーショナルデータベースでは、テーブル間に関係があります。これらの関係は、1対1、1対多、または多対多の場合があります。これらの関係は「カーディナリティ」と呼ばれます。

カーディナリティの重要性:

多くのリレーショナルデータベースは、スティックビジネスルールに従って設計されています。データベースを設計するときは、ビジネスルールに基づいてカーディナリティを定義します。しかし、すべてのオブジェクトには独自の性質もあります。

オブジェクト間でカーディナリティを定義するときは、正しいカーディナリティを定義するためにこれらすべてのことを考慮する必要があります。

于 2013-11-08T04:29:09.827 に答える