• ベストアンサー

主キーの設定

 データー表同士を関連づける主キーの設定について教えてください。  あるひとつのデーターの表を作ったら、必ず主キーを設定しなければならないことになっていますが、本を読むと2個以上設定している場合もあります。  最低1個は必要なのは理解できますが、何故2個設定する必要があるのでしょうか。  また必ず2個設定しなければいけない場合とかはあるのでしょうか。  ある試験では2個の設定以外は無効との採点でしたが、この意味が理解できませんでした。  ちなみに私の使用しているアプリケーションはMSのアクセスです。

質問者が選んだベストアンサー

  • ベストアンサー
  • dober-o
  • ベストアンサー率59% (260/439)
回答No.2

>データー表同士を関連づける主キーの設定について・・・ そもそも主キーとは、データレコードを一意にするために設定します 例えばある商品管理テーブルがあり 「商品番号」「色」「サイズ」「単価」のフィールドがあり、単価を検索するときに (1)色やサイズの違いが商品番号に反映されているなら、商品番号ひとつでレコードが一意になるので、主キーは商品番号ひとつでいいことになります (2)色またはサイズのどちらかの違いが商品番号に反映されてる場合、商品番号だけでは一意にならないので、商品番号とサイズ(または色)の2つが主キーとなります (3)色もサイズも商品番号に反映されていない場合、3つの情報ではじめて一意になるので、主キーは3つになります ちなみに主キーは必須ではなく、主キーのないテーブルを作ることも可能ですが レコードの重複に制限がかからないので検索するときに苦労しますね (主キーの設定の仕方を間違っても同じですが) 「これ(ら)を決めればデータをひとつに絞ることができる」 というフィールドに主キーの設定をしましょう

その他の回答 (2)

noname#79209
noname#79209
回答No.3

Accessで1つのテーブルで設定できる主キーは1つだけです。 しかし、これは1つのフィールドという意味ではありません。 複数のフィールをまとめて1つの主キーにすることも可能です。 例えば、日ごとに1からスタートする番号のフィールドがあったとして、テーブル全体でみれば同一の番号が存在しますが、日付と組み合わせると一意になります。 ここで日付フィールドと番号フィールドとあわせて主キーとすることは可能です。 また、必ず主キーを設定しなくても構いません。

回答No.1

参考URLに掲載されている例のように、2つ以上の表で使用されている主キーの組み合わせを1つのキーと見なして、別の表にレコードを生成することもできるようです。

参考URL:
http://www.techscore.com/tech/sql/16_02.html

関連するQ&A