解決済み

インデックスについて

  • すぐに回答を!
  • 質問No.297856
  • 閲覧数560
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 21% (29/134)

オラクルのインデックスについて教えてください。

ObjectBrowserというソフトでオラクルDBを管理しているのですが、
インデックスとCONSTRAINTというものの違いが良くわかりません。

現在ObjectBrowserで、インデックスを重複不可にすることで、そのテーブルの
主キーとしています。しかし、CONSTRAINTでPRIMARYKEYも設定できることに
最近気づきました。

ObjectBrowserに限らず、この違いについて教えてもらえないでしょうか?

どのような時にインデックスを使い、CONSTRAINTのPRIMARYKEYはこのような時に
使用するという風にお教えていただければ幸いです。

何分、データベース初心者なもので...
宜しくお願い致します。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル4

ベストアンサー率 28% (2/7)

CONSTRAINTと言うのは、日本語で言うと制約で、INDEXは索引です。
制約には、主キー制約と一意制約があります(他にもありますけど省略します)。索引には、一意(重複不可)と重不可があります。

制約と索引の違いは、制約はデータの整合性を保証するもので、索引は検索スピードを向上させるものです。

主キー制約は、一意でありかつNOT NULLでかつ、一つの表に一つだけです。
一意制約は、一意であるのは同じですが、NULLも認めますし、一つの表にいくつも作ることが出来ます。

以上を踏まえて、データの検索スピードを向上するときにはインデックスを作成します。また、主キー制約というのは、一意キーのうち代表的なものの一つと考えるといいです。
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 65% (1020/1553)

レコードの一意にするためにつける主キーには、通常PRIMARYKEYの属性をつけます。なお、これは1つのテーブルに1つしかつけることができません。

主キーのほかにも一意となるフィールド(または組み合わせ)があるのであれば、ユニークインデックスをつける、というのが普通だと思います。

#MS-SQLServerの古いバージョンではユニークインデックスしかなかったらしいですが。
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ