Accessでお仕事 使用する主キーを設定する

使用する主キーを設定する

Access などのリレーショナル データベース システムでは、クエリ、フォーム、およびレポートを使って、別のテーブルに格納されている情報の検索および収集を高速に実行できるという機能が重要になります。これを実現するには、格納されたレコードを一意に識別するフィールドまたはフィールド セットが各テーブルに設定されている必要があります。この情報をテーブルの主キーと呼びます。
 テーブルの主キーを設定すると、一意性を保証するために、主キー フィールドには重複する値や Null 値を入力できなくなります。

 Null値を含む既存のフィールドにキーを設定するには、
  1. 「空文字列の許可」プロパティを設定して、
  2. Null値を、「長さ 0 の文字列」に「更新」します。

Access で定義できる主キーには、オートナンバー、単一フィールド、複数フィールドの 3 種類あります。

オートナンバーの主キー
 単一フィールドの主キー
 複数フィールドの主キー

オートナンバーの主キー

レコードをテーブルに追加するたびに、オートナンバー型フィールドに連続番号を自動的に入力するように設定できます。オートナンバー型フィールドに主キーに割り当てることは、主キーを作成する一般的な方法です。主キーを設定せずに新規作成したテーブルを保存しようとすると、主キーを作成するかどうかを確認するメッセージが表示されます。[はい] を選択すると、オートナンバー型の主キーが作成されます。テーブルでデータベース レプリケーションを使用する場合は、このほかにも注意が必要です。Access データベースのオートナンバー型フィールドとレプリケーションの詳細については、ここをクリックしてください。

ページの先頭に戻る

単一フィールドの主キー

ID 番号や部品番号など、一意の値を持ったフィールドを主キーとして割り当てることができます。主キーとして割り当てたフィールドに重複する値や Null 値が含まれている場合は、主キーとして設定されません。重複クエリを実行して、どのレコードのデータが重複しているかどうかを確認することができます。重複しているデータをまだ編集できない場合は、オートナンバー型フィールドを追加して主キーに設定しておくか、複数のフィールドに主キーを設定しておきます。

ページの先頭に戻る

複数フィールドの主キー

単一のフィールドではレコードを特定できない場合は、複数のフィールドを組み合わせて主キーを設定できます。多対多リレーションシップで、 2 つのテーブルを関連付けるのに使用する結合テーブルでは、複数フィールドを主キーとすることがよくあります。
 ノースウィンド データベースでは、[受注] テーブルと [商品] テーブルを関連付ける [受注明細] テーブルが、複数フィールドの主キーを持っています。[受注明細] テーブルの主キーは、[受注コード] フィールドと [商品コード] フィールドの 2 つのフィールドです。[受注明細] テーブルには、受注コードは受注した商品の種類分、商品コードは受注した件数分入力されるため、各フィールド内に同じデータが複数存在する可能性があります。しかし、1 つの受注コードに対して同じ商品コードが複数存在することはありません。したがって、[受注コード] フィールドと [商品コード] フィールドを組み合わせれば、適切な主キーとして使用することができます

受注コードと商品コードの組み合わせで一意になる

別の例として、在庫データベースでは、2 つ以上のフィールド (パートおよびサブパート) のフィールド パート番号が使用されています。

メモ   複数フィールド主キーとしてフィールドを結合する場合に、適切な選択かどうか確かでないときは、オートナンバー型フィールドを追加して、主キーを割り当てます。
 たとえば、氏名の [姓] フィールドと [名] フィールドを結合して主キーを作成すると、データが重複する場合があるので、オートナンバー型フィールドを追加して、主キーを割り当てます。
 あるいは「追番(suffix)」のフィールドを、 [姓] フィールドと [名] フィールドの後ろに追加して、これを含めてキーにします。

主キーの設定については、 をクリックしてください。

ページの先頭に戻る


このページのトップに戻る↑ 次の項目を見る↓ Accessでお仕事 目次に戻る

ホームページのトップに戻る