分類テクノロジ系 » データベース » データベース設計新しい試験範囲外(2027年度からの新しい試験には出ない分野)年度令和8年度の100問の一覧
関係データベースで管理している“学生”表,“科目”表,“成績”表がある。1人の学生は複数の科目を履修するものとし,“学生”表に登録されていない学生や,“科目”表に登録されていない科目は“成績”表に登録できないものとするとき,外部キーとして設定するのが適切なものはどれか。ここで,表中の下線は主キーを表す。
問題の資料(原文の表・図を書き起こしたもの)
学生(下線=主キー:学生番号)
学生番号/学生名
G001/鈴木 次郎
G002/山田 春子
科目(下線=主キー:科目コード)
科目コード/科目名
K001/データベース
K002/コンピュータ
K003/ネットワーク
成績(下線=主キー:学生番号,科目コード)
学生番号/科目コード/成績
G001/K001/優
G001/K002/可
G002/K002/良
G002/K003/優
正解と解説
正解:ウ
ア× “学生”表の学生番号は、参照される側の主キーです。外部キーは参照する側の“成績”表に置きます。この組では科目コードの条件も守れません。
イ× 学生名や科目名はどちらの表でも主キーではなく、ほかの表から参照されてもいません。外部キーにする列ではありません。
ウ○ 正解 “成績”表の学生番号は“学生”表を、科目コードは“科目”表を参照します。この2つを外部キーにすれば、登録されていない学生や科目は入れられません。
エ× 成績(優・良・可)は、ほかの表の主キーを参照していません。外部キーにする列ではありません。
解説
外部キーは、ほかの表の主キーを参照する列です。外部キーを設定すると、参照先の表に存在しない値は登録できなくなります。“成績”表の学生番号は“学生”表の学生番号を、“成績”表の科目コードは“科目”表の科目コードを指しています。
問題文の条件は「“学生”表に無い学生や“科目”表に無い科目を“成績”表に登録できない」です。“成績”表の学生番号と科目コードを、それぞれ外部キーに設定すれば、この条件が守られます。外部キーを置くのは、参照する側(“成績”表)です。
教科書 17-2この問題の知識
業務のデータを洗い出すデータ分析、エンティティとリレーションシップを描くE-R図、行を1つに特定する主キーと相手の表を指す外部キー、重複をなくして一貫性を保つ正規化、表を分けたあとの検索の速さまでを、公開問題を解ける形でまとめます。
この節で扱うこと:データベースの設計・正規化とパフォーマンス設計
Udemy の ITパスポート講座を、受講者数・★評価・口コミで比べたページです(広告を含みます)。
過去問教科書の一覧(現行の試験の順)教科書の一覧(新しい試験の順)
出典:IPA「ITパスポート試験 公開問題」令和8年度 問57。問題文と選択肢は改変せずに引用しています(表・図は文字に書き起こしたもの)。正解は IPA 公表の解答例によります。

