基本情報

基本情報 平成21年度 秋期 問32|テクノロジ系に関する問題

問題

基本情報 | 平成21年度 秋期 | 分野:テクノロジ系

関係データベースの主キーの性質として,適切なものはどれか。

キーボード:1〜4で選択・Enterで次へ

タップするとすぐ答え合わせ

答え合わせ

正解は C
  • A
  • B
  • C
  • D

自信の3択

えらぶと、この端末に記録します(登録はいりません)

解説

答えは c「一つの表の中に,主キーの値が同じ行が複数存在することはない」 です。

主キー(しゅキー)は表の中の「そのデータを一意(ゆいいつ)に特定するための番号」。例えば学校で「学籍番号」が主キー。

同じ学籍番号の人が2人いたら誰だかわからなくなるので、絶対に重複させないのがルール。

👉 覚え方:主キー=「クラスの出席番号」。誰一人として同じ番号にならない!

ほかの選択肢:a「主キーを指定しないと検索できない」/b「数値型の主キーは計算に使えない」/d「複数列で主キーを作れない」は全部ウソ。普通の列としても使えるし、複数列をまとめた複合主キーもある。

なぜこれが正解か

正解は c。関係データベースの主キーは表の各行を一意に識別する列(または列の組合せ)であり、以下の制約を持つ:(1) 一意性(同じ値の行が複数存在しない)、(2) 非NULL(NULL不可)。よって「主キーの値が同じ行が複数存在することはない」は主キー定義そのもの。

各選択肢の解説

  • a:主キー以外の列でも検索可能(WHERE句は任意の列に指定できる)。
  • b:数値型を主キーにしても、その列を演算対象にできる(SQL上の制約はない)。
  • d:複数列で構成される複合主キー(concatenated/composite key)は可能。例:受発注表の(注文番号, 商品番号)。

覚え方・ひっかけ注意

主キーの制約「一意・非NULL」、外部キーは「参照整合性」とセットで覚える。候補キー(一意性を満たす全ての列組)の中から1つ選んだものが主キー、選ばれなかったのが代替キー(alternate key)。

理論的背景

関係モデル(E.F.コッド, 1970)におけるスーパキーは行を一意に識別する列集合の総称で、その中で極小(どの列を除いても一意性が失われる)なものが候補キー。候補キーのうちDB設計者が代表として選んだものが主キー、それ以外が代替キー。主キー制約はインデックス(通常クラスタ化インデックス)を自動生成するDBMSが多く、検索性能の基盤となる。外部キーは他表の主キー(または一意制約付き列)を参照し、参照整合性(RI: Referential Integrity)を保証する。

実務での使われ方

設計上はナチュラルキー(業務上意味のあるキー、例:商品コード)とサロゲートキー(人工的な連番、例:自動採番ID/UUID)の選択がよく論点になる。サロゲートキーは業務変更に強い反面、一意性をアプリ側で別途担保する必要がある。分散DB・マイクロサービス環境ではUUIDやSnowflake IDが主流。マイナンバーのように業務的に必須のナチュラルキーは「自然キー+サロゲートキー」の併用も。

試験での位置づけ

FE科目Aでは主キー制約・候補キー・外部キーの定義問題が定番。データベーススペシャリストでは正規化(1NF〜BCNF)と関連付けて出題、ER図からの主キー推定、参照整合性のON DELETE CASCADE/RESTRICT/SET NULLの選定が頻出。応用情報の午後でもSQL設計と合わせて出される。

選択肢の発展補足

関連制約:NOT NULL、UNIQUE(候補キー用、NULL重複は許容)、CHECK(値の範囲制約)、DEFAULT、FOREIGN KEY。正規化との関係では、第2正規形は主キーの一部だけに従属する非キー属性を排除する形なので、複合主キー理解が前提となる。NoSQL時代でもプライマリキー設計はパーティション戦略の基礎なので普遍的に重要。

この問題の根拠出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成21年度 秋期 問32
訂正の記録この問題の訂正はありません(サイト全体の記録)
出典と作り方

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成21年度 秋期 問32/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。