分類テクノロジ系 » データベース » データベース設計新しい試験17-2 データベース設計年度令和4年度の100問の一覧
条件①~⑤によって,関係データベースで管理する“従業員”表と“部門”表を作成した。“従業員”表の主キーとして,最も適切なものはどれか。
〔条件〕
① 各従業員は重複のない従業員番号を一つもつ。
② 同姓同名の従業員がいてもよい。
③ 各部門は重複のない部門コードを一つもつ。
④ 一つの部門には複数名の従業員が所属する。
⑤ 1人の従業員が所属する部門は一つだけである。
問題の資料(原文の表・図を書き起こしたもの)
従業員
従業員番号|従業員名|部門コード|生年月日|住所
部門
部門コード|部門名|所在地
正解と解説
正解:ア
ア○ 正解 条件①から、従業員番号は従業員ごとに重複しません。この列だけで1行が決まるので、主キーに最も適しています。
イ× 従業員番号だけで行が決まるので、部門コードを足す必要はありません。1人の所属部門は1つ(条件⑤)なので、組にしても区別できる行は増えません。
ウ× 条件②から同姓同名の従業員がいてもよいので、従業員名は重複することがあります。主キーにはできません。
エ× 条件④から1つの部門に複数名が所属するので、“従業員”表では部門コードが重複します。部門コードは“部門”表の主キーで、“従業員”表では“部門”表を参照する列(外部キー)です。
解説
主キーは、表の中の1行を1つに特定するための列(または列の組合せ)です。主キーの値は、ほかの行と重複してはならず、空にもできません。
条件①から、従業員番号は従業員ごとに重複しないので、この列だけで“従業員”表の1行が決まります。1つの列で行が決まるなら、その列を主キーにするのが基本です。従業員名は同姓同名があり得るので重複し(条件②)、部門コードは1つの部門に複数名が所属するので重複します(条件④)。従業員番号に部門コードを足しても、1人の所属部門は1つ(条件⑤)なので、区別できる行は増えず、余分な列が増えるだけです。
教科書 17-2この問題の知識
業務のデータを洗い出すデータ分析、エンティティとリレーションシップを描くE-R図、行を1つに特定する主キーと相手の表を指す外部キー、重複をなくして一貫性を保つ正規化、表を分けたあとの検索の速さまでを、公開問題を解ける形でまとめます。
この節で扱うこと:データベースの設計・正規化とパフォーマンス設計
Udemy の ITパスポート講座を、受講者数・★評価・口コミで比べたページです(広告を含みます)。
過去問教科書の一覧(現行の試験の順)教科書の一覧(新しい試験の順)
出典:IPA「ITパスポート試験 公開問題」令和4年度 問65。問題文と選択肢は改変せずに引用しています(表・図は文字に書き起こしたもの)。正解は IPA 公表の解答例によります。

