一件を特定し、表をつなぐ
- 重複しない主キーを単独または組合せで選ぶ
- 外部キーを特定し、参照先を先に登録する
- 索引の検索上の利点と維持コストを説明する
点線のことばを押すと、意味と使い方を調べられます。
表示・保存
このページの目次 3節・復習と4問
- 1説明を読む
- 2復習する
- 3問題を解く
- 4次へ進む
1主キーは一件を一意に決める
主キーは、表の一行を一意に識別するために選ぶ項目または項目の組。値が重複せず、欠けないことが必要だ。従業員番号が全社で一意なら、それだけで足りる。氏名は同姓同名があり、部門コードは同じ部門の複数人が持つので、一人の識別には不足する。
主キーは数値に限らず文字列でもよい。二つ以上の項目を組み合わせる複合主キーもある。店舗ごとに会員番号が重なるなら「店舗コード+会員番号」で識別する。既に一意な番号に不要な項目を足す必要はない。
2外部キーで存在する相手を参照する
外部キーは、別の表などのキーを参照して関係を表す項目。成績表に学生番号と科目コードを置けば、学生表と科目表に結び付けられる。成績表の「学生番号+科目コード」を主キーとする例でも、それぞれが外部キーであることと両立する。
参照整合性は、参照先のない値を作らないなど、表同士の関係を保つこと。制約をすぐ確認する通常の例では、顧客→口座→取引明細の順に親側を先に登録する。名前や点数では親表の識別番号を参照できない。
成績の学生番号と科目コードは、それぞれ学生表・科目表を参照する外部キーです。この例では同じ学生・同じ科目の成績は1件。1人の学生や1つの科目には0件以上の成績が対応します。線は作業順序ではありません。
3索引は検索を助ける補助情報
インデックス(索引)は、目的の行を探す手掛かりを別途用意して検索を高速化する仕組み。本の索引で語からページを探すのに似ている。氏名でよく検索するなら氏名への索引が候補になる。
索引は保存領域を使い、登録・更新時には索引も直すため負荷が増える。全ての検索が必ず速くなるとは限らない。主キーは識別、外部キーは参照、スキーマは構造定義、索引は検索支援という役割を区別する。主キーに索引を設定できないということはなく、自動作成するDBMS(データベースの登録・検索・更新・保全などを管理するソフトウェア)もある。
この説明に出てきた略語の正式名称
- DBMS
- Database Management System
データベースの登録・検索・更新・保全などを管理するソフトウェア
復習
このレッスンを振り返ろう
店舗ごとに会員番号が重複するとき、会員番号だけを主キーにできますか。
外部キーが主キーの一部になることはありますか。参照先の行がまだないときはどうしますか。
索引を増やせば、全処理が必ず速くなりますか。
問題で確かめる
実際の問題に挑戦しよう
IPA(独立行政法人 情報処理推進機構)公開過去問2問、過去問を参考にした独自問題1問、入門の確認問題1問で、この範囲の考え方を使います。答えを選んだら、正解の理由とほかの選択肢の違いも確かめましょう。
ヒントを見る
店舗の中での番号だけで、別店舗の同じ番号を区別できるか確かめましょう。
オリジナル入門問題 · シラバス 6.5
公開問題・原図の著作権はIPAにあります。表記・表の配置を整えています。解説は当サイト独自のものです。
4問中0問の答えと解説を確認しました。選んだ答えの理由も確かめてから、次へ進みましょう。
出典・参考資料を確認する
学習範囲:IPA シラバス Ver.6.5 ↗ 項目55。身近な例・会話・図解・確認問題は当サイトのオリジナルです。
学習範囲と参考資料
シラバスは学習範囲の根拠です。説明は参考資料を基に当サイトが作成しています。身近な事例・会話・図の数値は学習用の架空例です。2026年9月10日確認。