スポンサーリンク

【応用情報技術者試験】インデックスと主キーの違いをわかりやすく解説

「インデックスと主キーって同じじゃないの?」
応用情報技術者試験でもデータベース分野で頻出ですが、

  • どちらも検索を速くする?
  • 主キーを設定するとインデックスも作られる?
  • 重複できる?
  • 役割の違いが分からない…

で混乱する人がかなり多いテーマです。

この記事では、

  • 主キーとは?
  • インデックスとは?
  • 違い
  • メリット・デメリット
  • 試験での頻出ポイント

を分かりやすく解説します!


まず結論

主キー

「レコードを一意に識別するための列」


インデックス

「検索を高速化するための仕組み」


超簡単にいうと

項目目的
主キー識別
インデックス高速検索

主キーとは?

超頻出!


主キー

Primary Key


役割

レコードを

一意に識別する


例

社員テーブル

社員ID氏名
1001山田
1002鈴木
1003佐藤

この場合

社員ID

が主キー。


主キーの特徴

超重要!


重複不可


1001
1001

↓

❌NG


NULL不可


社員ID = NULL

↓

❌NG


なぜ必要?

データを確実に識別するため。


インデックスとは?

超頻出!


インデックス

Index


役割

検索を高速化する。


イメージ

本の索引


索引
↓
目的ページへ移動


データベースも同じ


インデックスなし

1件ずつ確認

↓

遅い


インデックスあり

目的データへ直接移動

↓

速い


例

社員テーブル

社員ID氏名
1001山田
1002鈴木
1003佐藤

氏名検索が多い場合

CREATE INDEX idx_name
ON 社員(氏名);


インデックスの特徴

重要!


重複可能


山田
山田
山田

↓

OK


NULL可能


多くのDBでは可能。


インデックスと主キーの違い

超頻出!

比較主キーインデックス
目的一意識別高速検索
重複不可可能
NULL不可可能
必須推奨・実質必須任意
個数通常1つ複数可能

主キーとインデックスの関係

超重要!


多くのDBMSでは

主キー作成時に自動でインデックス作成

される。


イメージ

主キー設定
↓
自動でインデックス生成


インデックスのデメリット

頻出!


検索

⭕ 高速


更新

❌ 遅くなる


なぜ?


インデックスも更新する必要があるから。


イメージ

INSERT
UPDATE
DELETE

↓

インデックス更新発生


応用情報で超頻出

かなり狙われる👇

  • 主キー
  • インデックス
  • NULL
  • 重複
  • 検索高速化

よくあるひっかけ

「インデックスはレコードを一意に識別する」

→ ❌違う!

インデックスは

検索高速化

が目的。


1分で復習!

主キー

レコード識別


インデックス

検索高速化


主キー

  • 重複不可
  • NULL不可

インデックス

  • 重複可
  • NULL可

練習問題

問題

インデックスの主な目的として最も適切なものはどれか。

ア

レコードを一意に識別する

イ

検索処理を高速化する

ウ

データ容量を削減する

エ

排他制御を行う


解答

正解:イ

解説

インデックスは検索時のアクセス効率を向上させるための仕組みです。


まとめ

主キーとは

「レコードの身分証明書」


インデックスとは

「データベースの索引」


超重要

  • 主キー=識別
  • インデックス=高速検索
  • 重複可否
  • NULL可否

まずは、

「主キー=誰かを特定する番号」

「インデックス=本の目次」

このイメージを持つとかなり理解しやすくなります!


知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント