主キーとは?
主キーとは、候補キーの中から設計者が選んで指定した、行を一意に識別するためのキー。一意性に加えてNULLを許さない。
データベーススペシャリスト試験の過去問では31回出題されています(2016年度〜2025年度)。
しゅキー
主キーの意味
主キーの具体例
受注明細表の主キーを(受注番号, 明細番号)とする。
主キーは試験でどう引っ掛けられる?
UNIQUE制約はNULLを許す(実装により複数NULLも可)が、PRIMARY KEYはNULLを許さない点が異なる。
主キーと関連する用語
主キーが出た過去問
関係データベースの表を設計する過程で、A表とB表が抽出された。主キーはそれぞれ列aと列bである。この二つの表の対応関係を実装する表の設計に関する記述のうち、適切…
正解:A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよいし、列bをA表に追加して外部キーとしてもよい。
要点:1対1は外部キーの置き方が自由、多対多は連関表が必須
1対1の対応関係は、どちらの表に相手の主キーを外部キーとして持たせても一意性が保てるため、どちら向きの実装も可能である。1対多なら「多」側に「1」側の主キーを外部キーとして持たせ、多対多なら両方の主キーをもつ連関表を新設するのが定石である。
出典:平成28年度 春期 データベーススペシャリスト試験 am2 問5(IPA)四つの表の関係を表すE-R図として、適切なものはどれか。ここで、1―*は1対多の関連を表し、実線の下線は主キーを、破線の下線は外部キーを表す。「医師」表(医師番…
正解:医師*―1診療科1―*診察*―1患者
要点:外部キーを持つ表がE-R図では常に「多」側になる
外部キーをもつ側が「多」になる。医師は診療科コードを外部キーにもつので医師(多)対診療科(1)、診察は診療科コードと患者番号を外部キーにもつので診療科(1)対診察(多)、診察(多)対患者(1)となる。この向きを全て満たすのがイである。
出典:平成28年度 春期 データベーススペシャリスト試験 am2 問6(IPA)関係モデルの候補キーの説明のうち、適切なものはどれか。
正解:候補キーの値はタプルごとに異なる。
要点:候補キーはタプルを一意識別する最小の属性集合
候補キーはタプルを一意に識別できる属性の最小集合なので、その値は必ずタプルごとに異なる。候補キーは関係の属性の中から選ばれ、複数存在することもあり、その中の一つを主キーとして選ぶという関係にある。
出典:平成28年度 春期 データベーススペシャリスト試験 am2 問7(IPA)図のデータモデルは会計取引の仕訳を表現している。“移動”がリンクする“勘定”の残高を増やす場合は金額の符号を正に、減らす場合は負にすることで、貸借平均の原理を表…
正解:SELECT 期首残高 + SUM(金額) AS 残高 FROM 勘定, 移動, 会計取引 WHERE 勘定.勘定科目 = 移動.勘定科目 AND 会計取引.取引番号 = 移動.取引番号 AND 勘定.勘定科目 = '現金' AND 取引日 <= '2017-04-30' GROUP BY 勘定.勘定科目, 期首残高
要点:導出される残高は期首残高+期間内の移動金額合計で求める
このモデルでは残高は導出属性であり、期首残高に当期の移動金額の合計を足して求める。したがって勘定・移動・会計取引を結合し、勘定科目と取引日で絞り込んだ上で金額を合計し、期首残高に加算する必要がある。集計と非集計の列を併記するため、勘定科目と期首残高でのGROUP BYも欠かせない。
出典:平成29年度 春期 データベーススペシャリスト試験 am2 問2(IPA)E-Rモデルにおいて、実体Aのインスタンスaが他の実体Bのインスタンスbと関連しており、インスタンスaが存在しなくなれば、インスタンスbも存在しなくなる場合、こ…
正解:弱実体
要点:他の実体の存在に依存して識別される実体が弱実体
他の実体の存在に依存し、単独では存在できない実体を弱実体と呼ぶ。弱実体は自分だけでは主キーを構成できず、依存先の実体の識別子を含めて識別する点が特徴である。依存先となる側は強実体(正実体)と呼ばれる。
出典:平成29年度 春期 データベーススペシャリスト試験 am2 問5(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。