カーディナリティとは?
かーでぃなりてぃ
カーディナリティとは、データベースやデータ分析の文脈で、あるデータ列や集合に含まれる値の種類の多さ(一意の値の数)を表す概念です。
カーディナリティ(Cardinality)は、もともと数学の集合論における集合の要素数を表す概念ですが、データベースや情報技術の分野では主に二つの意味で使われます。
一つ目はテーブル間の関係のカーディナリティです。リレーショナルデータベースのテーブル同士の関係(リレーションシップ)において、どちらのテーブルの1件のレコードが相手のテーブルの何件に対応するかを表します。代表的な関係は以下の三種類です。
- 1対1(One-to-One)— 社員テーブルと社員証テーブルのように互いに1件ずつ対応
- 1対多(One-to-Many)— 顧客と注文のように1人の顧客が複数の注文を持つ
- 多対多(Many-to-Many)— 学生と授業のように双方が複数に対応
二つ目は列(カラム)のカーディナリティです。あるカラムに存在する一意の値の数を指します。例えば「性別」カラムは「男・女・その他」の3種類しかないため低カーディナリティ、「メールアドレス」カラムは各レコードで異なるため高カーディナリティといいます。
データベースのインデックス設計においてカーディナリティは特に重要で、高カーディナリティなカラムにインデックスを張るほど検索効率が上がる傾向があります。また、データウェアハウスやBIツールのクエリ最適化においても、カーディナリティの把握はパフォーマンスチューニングの基礎知識となっています。
使い方・例文
データベース設計で「このユーザーIDカラムはカーディナリティが高いからインデックスが効く」「性別カラムはカーディナリティが低いのでインデックス効果が薄い」といった会話で登場します。
この用語をシェア
最終更新: