- ベストアンサー
主キーの設定
データー表同士を関連づける主キーの設定について教えてください。 あるひとつのデーターの表を作ったら、必ず主キーを設定しなければならないことになっていますが、本を読むと2個以上設定している場合もあります。 最低1個は必要なのは理解できますが、何故2個設定する必要があるのでしょうか。 また必ず2個設定しなければいけない場合とかはあるのでしょうか。 ある試験では2個の設定以外は無効との採点でしたが、この意味が理解できませんでした。 ちなみに私の使用しているアプリケーションはMSのアクセスです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>データー表同士を関連づける主キーの設定について・・・ そもそも主キーとは、データレコードを一意にするために設定します 例えばある商品管理テーブルがあり 「商品番号」「色」「サイズ」「単価」のフィールドがあり、単価を検索するときに (1)色やサイズの違いが商品番号に反映されているなら、商品番号ひとつでレコードが一意になるので、主キーは商品番号ひとつでいいことになります (2)色またはサイズのどちらかの違いが商品番号に反映されてる場合、商品番号だけでは一意にならないので、商品番号とサイズ(または色)の2つが主キーとなります (3)色もサイズも商品番号に反映されていない場合、3つの情報ではじめて一意になるので、主キーは3つになります ちなみに主キーは必須ではなく、主キーのないテーブルを作ることも可能ですが レコードの重複に制限がかからないので検索するときに苦労しますね (主キーの設定の仕方を間違っても同じですが) 「これ(ら)を決めればデータをひとつに絞ることができる」 というフィールドに主キーの設定をしましょう
その他の回答 (2)
Accessで1つのテーブルで設定できる主キーは1つだけです。 しかし、これは1つのフィールドという意味ではありません。 複数のフィールをまとめて1つの主キーにすることも可能です。 例えば、日ごとに1からスタートする番号のフィールドがあったとして、テーブル全体でみれば同一の番号が存在しますが、日付と組み合わせると一意になります。 ここで日付フィールドと番号フィールドとあわせて主キーとすることは可能です。 また、必ず主キーを設定しなくても構いません。
- Okada4126
- ベストアンサー率0% (0/1)
参考URLに掲載されている例のように、2つ以上の表で使用されている主キーの組み合わせを1つのキーと見なして、別の表にレコードを生成することもできるようです。