dポイントプレゼントキャンペーン実施中!

こんにちわ。
MDBでテーブル設計するときに,
主キーとなる項目は,テーブルのどの位置に定義しても
影響はないのでしょうか?
やはり先頭が一般的かと思われますが,
最後尾に定義すると何か不都合などあるでしょうか?
なおORACLEではどうでしょうか?
教えてください。お願いします。

A 回答 (2件)

列の順番や主キー列の位置はパフォーマンスに影響しません。


あるとすれば、クエリのデザイナなどで視覚的にテーブルを表示する際に、主キー列が上のほうにあれば隠れない程度です。

とは言え、いきなり Access のテーブルデザイナで作業を始める行き当たりばったりの設計ではなく、一度机上やツールなどで設計を行うような開発手法では、どうしたって(視覚てきな理由や意思疎通などの理由で)重要な列を上のほうに持っていったりするでしょうね。
    • good
    • 0
この回答へのお礼

temtecomai2さん
そうですよね。通常は先頭が適切だと思います。
回答ありがとうございました。

お礼日時:2006/03/08 09:06

AccessでもOracleでも主キーはレコード(行)を識別するために使用する列かまたは列の組み合わせであることの宣言で一意性の保証とNULL値不可の制限が設定されるものを主キーとして設定できるとしかありません。

先頭ではないフィールドにも設定できます。
しかしテーブルを構築する際に正規化してフィールドを配列してしまうので通常はありません。通常は先頭に持って行きます。
Oracleではcreate table時にフィールド(項目)にprimary key,とすればprimary key定義が作られシステムが主キー、一意キーに対して索引を自動で創成します。基本的にcreate indexコマンドで索引を独自に作る必要はありません。
主キー以外にいくつでもインデックスキーを作成できるので最小限であり高速アクセスとなる索引を設計するのが重要です。
    • good
    • 0
この回答へのお礼

O_cyanさん
大変丁寧に教えて頂きまして,
ありがとうございました。
参考にさせて頂きます。

お礼日時:2006/03/08 09:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す