カーディナリティ(DB)
数学の、特に集合論では基数(cardinal number)あるいは濃度(cardinality)という意味 データベースの場合、カラムに格納されているデータの種類がどのくらいあるのか
カラムの値の種類の絶対値
しかしデータ・モデリングの観点?だと、多重度(1対1とか多対多など)の概念に絡んできたり、いろいろな情報を見ると文脈によって細かい意味が変わっているようにも見える困った言葉
データの種類の多い、少ないに関連して「カーディナリティが低い」、「カーディナリティが多い」という言葉がある
カーディナリティが低い
性別なら、男と女の二種類
カラムのデータの種類が、テーブルのレコード数に比べて二種類と少ない
カラムのデータの種類が、テーブルのレコード数に比べて多い場合 カーディナリティが低いという。
都道府県も47「しか」ないので低そう
カーディナリティが高い
顧客番号のようなIDの場合、たくさんの種類(番号)が存在する
user_id
customer_id
カラムのデータの種類が、テーブルのレコード数に比べて多い場合 カーディナリティが高いという。
Oracle DBのカーディナリティ取得
code:memo
SELECT table_name, num_rows
FROM dba_tab_statistics
WHERE table_name = 'YOUR_TABLE';
確認用
Q. カーディナリティ
Q. カーディナリティの計算方法
Q. カーデナリティが低い、高いとは
Q. カーデナリティが低い場合の例
Q. カーデナリティが高い場合の例
Q. インデックスはどういうカラムに張った方がよいか
Q. 複合インデックスを際はどういう風にインデックスを貼るべきか
参考
関連
データ・モデリング観点の、関連のカーディナリティ(多重度) メモ