MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[482]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(482番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
Re: 主キーについて

Date: Wed, 07 Mar 2001 14:27:13 +0900
From: Hideyuki Ikumi <who@sub.example.jp>


生見です。

自己レスです。

勉強した結果、主キーは必要なテーブルのみ作成することにしました。

今まで、Oracleを使用していたのですが、テーブル設計する際
主キーを使用したことがありませんでした。
#一意キーを使用していた為

せっかく勉強したので、以下に調べた結果を記します。

主キーは、テーブル内で一意のレコードを識別する為のもので正解でした。
一意キー(ユニークキー)との違いは、NULLを許すかどうかの違いのようです。
その他に、ただのキー(重複可能)があります。
#全てのキーは、複数のキーからなる複合キーも可能です。

キーをつけることによって、INDEXが作成されるわけです。

主キーを含めINDEXが検索に効果を発揮するのは、検索対象が
全体レコード数の10%以下のときだそうです。(一般論)
#それ以上は、全件検索の方がはやい。

また、レコード件数が少ない場合なども、キーをつける必要は
ないです。

INDEXを多用すると、Insert時にINDEX作成の時間がかかるので注意が必要です。

あとは、テスト時にレスポンスをみながら調整です。

>生見です。
>
>一般的な質問ですいません。
>主キーについて教えてください。
>
>現在、テーブル設計をしていますが、主キーをつけるかどうかで悩んでいます。
>主キーは、テーブル内で一意のレコードを識別する為のものですよね。
>
>基本的に全てのテーブルに主キーを設定するべきなのでしょうか?
>#テーブルによっては、4つのキーで一意になるものもあります。
>
>主キーもインデックスが作られますよね?
>複合のユニークインデックスにするのとどのような違いがあるのでしょうか?
>


[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。