ナチュラルキー【natural key】自然キー

概要

ナチュラルキーとは、リレーショナルデータベース(RDB)のテーブルにおいて、氏名や社員番号のように業務上の意味を持つ既存の項目を主キーとして設定したもの。識別のためだけに新設するサロゲートキーの対義語にあたる。
ナチュラルキーのイメージ画像

リレーショナルデータベースでは、テーブルの各行を一意に識別するために列の中から「主キー」を選択する必要がある。ナチュラルキーは、もともとそのテーブルに記録されているデータの中から、レコードを一意に特定できる項目を選んで主キーに充てる方式である。これに対し、自動採番連番UUIDのように識別専用に人工的に生成した値を主キーとして用いることは「サロゲートキー」(surrogate key代替キー)という。

ナチュラルキーの具体例としては、従業員マスタの「社員番号」や「マイナンバー」、商品マスタの「JANコード」などがある。これらは業務上または社会的にあらかじめ割り振られた識別子であり、人間がその意味を直接把握できる。他のテーブルと結合する際も、コード変換の手間なくデータの関連性を直感的に理解しやすい。

ただし、現実世界のデータは単一項目では一意性を保証しにくい場合が多い。氏名であれば同姓同名が存在し、電話番号であれば同居や不所持、変更が起こり得る。そのため、ナチュラルキーを採用する際は複数の項目を組み合わせて主キーとする「複合主キー」を設定することが多い。複合主キーを多用すると結合条件が複雑化し、検索パフォーマンスの低下につながる場合もある。

業務ルールの変更や法改正によってナチュラルキーの値が変わると、そのキーを参照する全テーブルへの更新処理が必要となる。例えば、組織改編で社員番号の体系が刷新された場合や、市区町村合併で住所が変更された場合などがこれにあたる。こうした運用上の煩雑さを避けるため、サロゲートキーを主キーとし、ナチュラルキーにはユニーク制約を付与して管理する場合もある。

(2026.6.24更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。