3 列でそろって一意になる組
2 列のどの組も重複するが、3 列すべてを組み合わせると一意になる例です。調べる列の組の最大を 3 にした場合の結果を確かめます。
入力
CSV
a,b,c 1,1,1 1,1,2 1,2,1 2,1,1
区切り文字
カンマ(,)
1 行目は見出し(列名)
はい
調べる列の組の最大の列数
3 列の組まで
空欄(空白だけの値を含む)を NULL として扱う
はい
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 全体 この CSV の行だけでの判定です。行が増えると重複や空欄が現れることがあります。値の比較は完全一致で、前後の空白・大文字小文字・全角半角の違いは別の値として数えます。主キーにしてよいかは、データの意味(将来も重複しないか)で決めてください。
| データの行数 | 4 行 |
|---|---|
| 列数 | 3 列 |
| 単独で候補の列 | なし |
| 列の組で候補 | 1 組 |
| 判定に含めなかった行 | 0 行 |
列ごと・列の組ごとの判定
| 種類 | 列 | 異なる値の数 | 空欄の数 | 判定 |
|---|---|---|---|---|
| 列 | a | 2 | 0 | 重複あり(2 行) |
| 列 | b | 2 | 0 | 重複あり(2 行) |
| 列 | c | 2 | 0 | 重複あり(2 行) |
| 組 | a + b + c | 4 | 0 | 候補(3 列の組で一意) |
検算(この結果になる理由)
(a,b) は 1 行目と 2 行目、(a,c) は 1 行目と 3 行目、(b,c) は 1 行目と 4 行目が同じ値で、2 列の組は候補になりません。3 列 (a,b,c) は 4 行すべて異なり、候補になります。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 判定はサンプルの行だけで行います。今のデータで重複がなくても、将来のデータで重複しないとは限りません。意味のある識別子(会員番号・注文番号など)かどうかで最終的に決めてください。
- 値の比較は完全一致です。前後の空白・大文字と小文字・全角と半角の違いは別の値として扱うため、取り込み先で正規化すると重複することがあります。
- 列の組は最大 3 列まで、調べる組は最大 5,000 組までです。列が多い CSV では、組の最大の列数を小さくして調べてください。
- ファイルは UTF-8 として読みます。Shift_JIS の CSV は文字化けするため、表計算ソフトで UTF-8 として保存し直してから使います。
ご利用にあたって
- この結果は設計の参考です。実際に表を作る前に、データの意味と将来の増え方にもとづいて主キーを決めてください。
- 大きなファイルでは、列の組を調べるのに時間がかかることがあります。そのため、調べる組の数に上限を設けています。