私は銀の弾丸を信じるつもりはありませんが、データベース テーブルの主キー列として、シーケンスまたは自動番号付け ID 列を使用するのが本当に好きです。それらは一意であり、適切にインデックス化されており、null 値について心配する必要はありません。
一方、テーブル内に同じ目的を果たすことができる他の一意の列がある場合、それらは冗長に見える場合があります。たとえば、9 桁の郵便番号を都市ゾーンにマップするテーブルを作成しているとします。郵便番号フィールドも同様に機能します (データ形式が保証され、値が重複しないことが前提です)。
要するに、私の経験は、私たちの誰にとってもそうであるように、限られています. 自動付番列をテーブルの主キーとして使用しないことを選択するようになった他の実例と、その理由は何ですか?
これは私にとって「視野を広げる」タイプのことであり、膨大な数のデータベースを扱ってきた人たちから少し学びたいと思っています。