主キーの選択

郵便番号や社会保障番号を使わないでください

データベースは、レコードを格納、ソート、比較または作成するためのキーに依存します。 しばらくデータベースを回ってきたのであれば、主キー、 候補キー外部キーなど、さまざまな種類のキーについて聞いたことがあります 。 新しいデータベーステーブルを作成すると、そのテーブルに格納されている各レコードを一意に識別する1つの主キーを選択するよう求められます。

主キーが重要な理由

主キーの選択は、新しいデータベースの設計において最も重要な意思決定の1つです。 最も重要な制約は、選択したキーが一意であることを確認する必要があることです。 過去、現在、または未来の2つのレコードが属性に対して同じ値を共有する可能性がある場合は、主キーの選択肢としては不適切です。

主キーのもう1つの重要な側面は、リレーショナルデータベース内で他のテーブルにリンクすることです。 この側面では、主キーはポインタのターゲットのように動作します。 これらの相互依存性のために、レコードが作成されるときに主キーが存在しなければならず、変更することはできません。

主キーの選択肢が貧弱

何人かの人が主キーの明白な選択を考慮するかもしれないものは、代わりに貧しい選択かもしれません。 いくつかの例があります:

効果的な主キーの選択

だから、良い主キーを作るのは何ですか? ほとんどの場合、サポートのためにデータベースシステムを使用してください。

データベース設計におけるベストプラクティスは、内部的に生成された主キーを使用することです。 データベース管理システムは、通常、データベースシステム外で意味を持たない一意の識別子を生成することができます。 たとえば、Microsoft Accessオートナンバー型データ型を使用して、RecordIDというフィールドを作成します。 オートナンバー型データ型は、レコードを作成するたびにフィールドを自動的にインクリメントします。 数字自体は意味がありませんが、クエリ内の個々のレコードを参照する信頼できる方法を提供します。

優れた主キーは通常短く、数字を使用し、特殊文字や大文字と小文字が混在しないようにすることで、素早くデータベースを検索して比較することができます。