• 締切済み

Accessの主キーについて

お願いいたします。 Accessの主キー設定について教えてください。 主キーの役割は、テーブルの中のレコードを区別 するための機能だと思いますが、 フィールドのデータ型をオートナンバー型にして おけば主キーの設定は必要ないのではないでしょう か? 主キーを設定する理由としては、参照整合性のため に行うという考え方で良いでしょうか? また、複数の主キーを設定するという場合のテーブ ル構成はどのような場合のシステムなのでしょうか? どうぞ教えてください。

みんなの回答

  • ykmtk
  • ベストアンサー率26% (6/23)
回答No.1

主キーは、レコードを区別する一意のデータを求めるフィールド、または複数のフィールドになります。 そして、jyasminさんが書かれているように、参照整合性を設定するときには、主キーの設定が必要になってきます。 必要があるかどうかは、参照整合性を設定するかどうかにかかってくるので、参照整合性を使いたいのであれば主キーを設定しておきますが、そうでなければ絶対に設定しておかなければならないものではありません。 あと、主キーに設定したフィールド、または複数のフィールドがあると、レコードのデフォルトの並び順が主キーに設定したものになります。 そのしくみを利用して、オートナンバー型のフィールドを主キーにしておくと、入力した順に並ばせることができるようになります。 複数フィールドを主キーにするという場合は、フィールドひとつでは一意のものが得られない場合に使います。複数のフィールドを組み合わせれば一意のデータが求められる場合です。 たとえば、生徒名簿のような場合のクラスと出席番号の組み合わせなどです。 クラスを主キーにすることは、同じクラスの人が複数いるのでできません。出席番号を主キーにすることも、違うクラスに同じ出席番号の人がいるためにできません。そういう場合に、クラス+出席番号としてふたつのフィールドを組み合わせたものを主キーにすることができます。 クラス「A」、出席番号「1」はそれぞれ複数いますが、「Aクラスの1」は、ひとりしかいないからです。

noname#15425
質問者

お礼

ykmtkさん、ありがとうございます。 ykmtkさんの説明はよーく分かりました。 分かりやすく、まとまった内容の説明は すばらしいです。 有難うございました。

関連するQ&A