
オラクルのインデックスについて教えてください。
ObjectBrowserというソフトでオラクルDBを管理しているのですが、
インデックスとCONSTRAINTというものの違いが良くわかりません。
現在ObjectBrowserで、インデックスを重複不可にすることで、そのテーブルの
主キーとしています。しかし、CONSTRAINTでPRIMARYKEYも設定できることに
最近気づきました。
ObjectBrowserに限らず、この違いについて教えてもらえないでしょうか?
どのような時にインデックスを使い、CONSTRAINTのPRIMARYKEYはこのような時に
使用するという風にお教えていただければ幸いです。
何分、データベース初心者なもので...
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
CONSTRAINTと言うのは、日本語で言うと制約で、INDEXは索引です。
制約には、主キー制約と一意制約があります(他にもありますけど省略します)。索引には、一意(重複不可)と重不可があります。
制約と索引の違いは、制約はデータの整合性を保証するもので、索引は検索スピードを向上させるものです。
主キー制約は、一意でありかつNOT NULLでかつ、一つの表に一つだけです。
一意制約は、一意であるのは同じですが、NULLも認めますし、一つの表にいくつも作ることが出来ます。
以上を踏まえて、データの検索スピードを向上するときにはインデックスを作成します。また、主キー制約というのは、一意キーのうち代表的なものの一つと考えるといいです。
No.1
- 回答日時:
レコードの一意にするためにつける主キーには、通常PRIMARYKEYの属性をつけます。
なお、これは1つのテーブルに1つしかつけることができません。主キーのほかにも一意となるフィールド(または組み合わせ)があるのであれば、ユニークインデックスをつける、というのが普通だと思います。
#MS-SQLServerの古いバージョンではユニークインデックスしかなかったらしいですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
警察はスマホに保存した動画や...
-
ACCESSのSQLで、NULLかNULLでな...
-
Accessを開きなおすとテキスト...
-
マイクロソフトAccessでsqlのas...
-
最新の日付とその金額をクエリ...
-
エクセルのフィルタ抽出が固まる
-
DB2のSELECTでカンマ編集につい...
-
顧客データベースを作る場合、...
-
汎用カード型のデータベースソ...
-
マクロの別シートのデータ振り...
-
シートが異なるセル同士を、相...
-
テキストボックスにコントロー...
-
FileMaker Proに近い無料のWeb...
-
AccessのSQLで、FROM句の構文エ...
-
Access VBA で Format ( date ,...
-
将棋のDB。「この局面と同一の...
-
半角ハイフンに似た文字
-
データベースの勉強 公務員を目...
-
はじめてのAccess 2019 について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユニーク制約とユニークインデ...
-
複数カラム検索で、LIKE "%検索...
-
SQL Server Management Studio...
-
データベースの設計について教...
-
インデックスについて
-
他のシートの検索
-
一部のカラムでdistinctし全て...
-
SELECT文で、指定カラム以外の...
-
DBの定義のサイズを大きくし過...
-
INDIRECT関数の代替方法は?
-
UNIONする際、片方テーブルしか...
-
AUTO_INCREMENTに0はダメ?
-
BULK INSERT時のNull許容について
-
テーブルの列数を調べたい
-
構造が異なる二つのテーブルをu...
-
now()かCURRENT_TIMESTAMPか
-
MYSQLで全てのカラムから検索す...
-
ホームページを作ろうと思いま...
-
SQLServerでNULLを挿入したいです
-
【Transact-sql】 where条件、i...
おすすめ情報