過去の桐井戸端BBS (桐ver.8)
4286 主キーとINDX 初心者 2000/1/24-11:47
最近、結合表を使おうと思い勉強始めましたが、疑問が出ました。

主キーに設定した項目に、検索等に使用する為の
INDXを定義しようと思うのですが、INDXも別に登録する
必要はあるのでしょうか?
主キーに設定することで、INDXとなりそうな気がするのですが。

幼稚な質問と思いますがよろしくお願いします。
4290 Re:主キーとINDX 宮城 2000/1/24-15:04
記事番号4286へのコメント
主キーはレコード間でダブりを許さないユニークID。「INDX」って
どのような意味でお使いなのか不明ですけど、索引ですか、結合のキー項
目ですか。

主キーとして設定したからといって、それだけでは索引にもなりませんし、
結合のキー項目にもなりません。それぞれ、独自に設定が必要です。

(??? なんか外しているような)


4313 主キーとINDX 佐田 守弘 2000/1/26-00:17
記事番号4290へのコメント
初心者さん
答は、宮城さんが#4290で書かれている通りで、主キーとインデックス(整列索
引)とは別のカテゴリの概念です。
主キーとは、その表のレコードを他の表から参照したり、結合対象とする際に
、レコードを特定するために唯一の値を持たせる項目です。
分かりやすい例でいえば、社員台帳であれば社員番号、商品マスタであれば、
商品コードの様なものを作って、これを主キーとします。
表定義で主キーを設定する事は、「その項目は重複値がない項目だから、その
値でレコードを特定して下さい」と桐のシステムに伝える事です。
主キーを設定する事によって、参照整合性の1対nの関係が設定できます。

一方、インデックスとは、検索や並べ替えのための整列索引の事をいいます。
なお、桐にはインデックスという用語はありません。Accessでいうインデック
スは、桐の整列索引に相当します。
整列索引を設定すると、その索引でレコードを並べ替えたり、あるいは目的レ
コードの検索が高速化します。

整列索引は、主キー以外の項目にも設定できます。一般に値が重複していても
構いません。しかし、重複禁止を設定する事によって、その項目値が重複する
のをチェックできます。
主キー項目も、整列索引を設定しないと、並べ替えや検索などの高速化はでき
ません。主キーに対して、整列索引を設定する時には、主キーである故に値の
重複がありませんから、重複禁止の整列索引を設定します。

佐田守弘(KS-00119)

戻る