MSSQL インデックス プライマリキー
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
これは、Pu さんが言われるように、基本的には制約を掛けるか
掛けないかの問題のようです。
じゃあ、その「制約」っていったい何?という問題になってくるの
ですが、「NULL が許可されない」とか、「修正が効かない」とか、
そういったたぐいの制約であるといった解説が多いです。
ところが、実際にこれらの制約を実験してみると、DB によって動きが
違うようです(たいていの場合、SQLServer だけが例外となります)。
したがって、プライマリキーの見方は、DB によって違うみたいです。
※基本的には、このチェックはデフォルトのまま、「無し」でも特に
問題ないと思います。制約を掛けたいときだけに、チェックを入れれば
いいと思います。ユニークキーとは別問題ですね。
タンダコンピュータ/丹田 昌信
掛けないかの問題のようです。
じゃあ、その「制約」っていったい何?という問題になってくるの
ですが、「NULL が許可されない」とか、「修正が効かない」とか、
そういったたぐいの制約であるといった解説が多いです。
ところが、実際にこれらの制約を実験してみると、DB によって動きが
違うようです(たいていの場合、SQLServer だけが例外となります)。
したがって、プライマリキーの見方は、DB によって違うみたいです。
※基本的には、このチェックはデフォルトのまま、「無し」でも特に
問題ないと思います。制約を掛けたいときだけに、チェックを入れれば
いいと思います。ユニークキーとは別問題ですね。
タンダコンピュータ/丹田 昌信
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nobukoshi802 さん、こんにちは。
> MS-SQLの場合(多くのRDBMS)、テーブルに対して
> Oracleのように、レコード一意になるキーが存在しないので
> プライマリーキーを一意として、レコードを更新します。
昔のバージョンはそうでしたが、今の SQLServer は可能です。
ですので、それとはちょっと意味が違いますね。
タンダコンピュータ/丹田 昌信
> MS-SQLの場合(多くのRDBMS)、テーブルに対して
> Oracleのように、レコード一意になるキーが存在しないので
> プライマリーキーを一意として、レコードを更新します。
昔のバージョンはそうでしたが、今の SQLServer は可能です。
ですので、それとはちょっと意味が違いますね。
タンダコンピュータ/丹田 昌信
投票数:0
平均点:0.00
nobukoshi802
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
Oracleの場合、ROWIDがあるので、選択レコードが
レコード後処理で、ROWIDをキーとして更新します。
MS-SQLの場合(多くのRDBMS)、テーブルに対して
Oracleのように、レコード一意になるキーが存在しないので
プライマリーキーを一意として、レコードを更新します。
レコード後処理で、ROWIDをキーとして更新します。
MS-SQLの場合(多くのRDBMS)、テーブルに対して
Oracleのように、レコード一意になるキーが存在しないので
プライマリーキーを一意として、レコードを更新します。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nkmt さん、こんにちは。
どうもこれは、SQLServer と Oracle を別々に考えないとプライマリキー
の概念が捉えにくいみたいですね。
SQL の汎用解説でも、「SQLServer だけは例外」という記述が多いようです。
タンダコンピュータ/丹田 昌信
どうもこれは、SQLServer と Oracle を別々に考えないとプライマリキー
の概念が捉えにくいみたいですね。
SQL の汎用解説でも、「SQLServer だけは例外」という記述が多いようです。
タンダコンピュータ/丹田 昌信
投票数:0
平均点:0.00
pu_mahalo
居住地: 大阪
投稿数: 775
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
こんにちは Puです
SQLserverの場合 キー項目に現れるのは
何度も記載しておりますが
Primaryキー制約のあるindexの事です
でわ〜でわ〜
SQLserverの場合 キー項目に現れるのは
何度も記載しておりますが
Primaryキー制約のあるindexの事です
でわ〜でわ〜
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Magic eDeveloper V10 チュートリアルSQL編 の 36ページ に
http://www.magicsoftware.co.jp/training/introduction/introduction.html
MSSQL SERVER の インデックス定義の説明があったのですが
U=重複不可 にする説明はあったのですが、
プライマリーキー に関しての説明はありませんでした。
プライマリーキー にチェックを付けると
SQL Server Management Studioでテーブルを見た時に、
キー
というのが増えますね。
プライマリーキー のチェックを外すと
キー
が無くなりました。
SQL Server Management Studioでテーブルを見た時に、
キー と
インデックス というのがありますね。
この2つの違いが全然意味がわからないので勉強したいと思います。
投票数:0
平均点:0.00
pu_mahalo
居住地: 大阪
投稿数: 775
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
こんにちは Puです
チェックしなくても keyは作成されますよ
このチェックはprimary のチェックです
チェックしなくても keyは作成されますよ
このチェックはprimary のチェックです
投票数:0
平均点:0.00
suitesoft
居住地: 埼玉県
投稿数: 35
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
私が認識しているのは、
チェックが無い場合、MS−SQLのテーブルにキーが作成されないです。
チェックが無い場合、MS−SQLのテーブルにキーが作成されないです。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
> セッションタイムアウトで消えてしまいました。ショック!!
時間計った事ないですが、
放置していて、インターネットエクスプローラで
F5:更新 すると再度ログインし直さないといけなくなりました。
自分だけかと思っていました。
時間計った事ないですが、
放置していて、インターネットエクスプローラで
F5:更新 すると再度ログインし直さないといけなくなりました。
自分だけかと思っていました。
投票数:0
平均点:0.00
05540
投稿数: 19
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
丹田さん、こんにちは。
> セッションタイムアウトで消えてしまいました。ショック!!
他のスレッドではありますが、私も経験しました。
この1ヶ月位で仕様の変更があったんでしょうかね?
> セッションタイムアウトで消えてしまいました。ショック!!
他のスレッドではありますが、私も経験しました。
この1ヶ月位で仕様の変更があったんでしょうかね?
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nkmt さん、こんにちは。
プライマリキーについて長い返信を書いたのですが、送信時に
セッションタイムアウトで消えてしまいました。ショック!!
また、あとで書きます。
タンダコンピュータ/丹田 昌信
プライマリキーについて長い返信を書いたのですが、送信時に
セッションタイムアウトで消えてしまいました。ショック!!
また、あとで書きます。
タンダコンピュータ/丹田 昌信
投票数:0
平均点:0.00
pu_mahalo
居住地: 大阪
投稿数: 775
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
こんにちは Puです
一般的に PRIMARY KEY というのは 正確には
PRIMARY KEY制約 でして
indexに対しての制約条件です
ただしくは indexにPRIMARY KEY制約を付けたindexを
PRIMARY KEY(主キー)と呼びます
ですので 上記制約を付けたい場合には チェックします
でわ〜でわ〜
一般的に PRIMARY KEY というのは 正確には
PRIMARY KEY制約 でして
indexに対しての制約条件です
ただしくは indexにPRIMARY KEY制約を付けたindexを
PRIMARY KEY(主キー)と呼びます
ですので 上記制約を付けたい場合には チェックします
でわ〜でわ〜
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
MSSQLのインデックス設定で、重複可/不可の右に
プライマリキーというチェックボックスがあります。
主キーとなるインデックスには、この
プライマリキーというチェックボックスには
チェックを付けた方がいい事あるのでしょうか?
MS-SQLではプライマリキーは必須です、という投稿も
以前あったようですが。
プライマリキーというチェックボックスがあります。
主キーとなるインデックスには、この
プライマリキーというチェックボックスには
チェックを付けた方がいい事あるのでしょうか?
MS-SQLではプライマリキーは必須です、という投稿も
以前あったようですが。
投票数:1
平均点:10.00