ITパスポート 平成25年度 春期 特別措置試験 問55
データベース
外部キーの適切な組合せ
関係データベースを使い“社員”表と“部署”表を作成して社員情報を管理する。“社員”表と“部署”表に,必要に応じて設定する主キーと外部キーの適切な組合せはどれか。ここで,社員は必ず“部署”表に存在する部署に所属するものとし,社員データの追加や更新をするときには,参照制約を利用して整合性を確保するものとする。
社員
| 社員 | 社員名 | 入社年 | 生年月日 | 部署 |
|---|
部署
| 部署 | 部署名 |
|---|
〔選択肢〕(原典では選択肢そのものが表=主キーと外部キーの2欄。欄の中身を書き起こしたもの)
| 肢 | 主 | 外部 |
|---|---|---|
| ア | “社員”表の社員コード,“部署”表の部署コード | なし |
| イ | “社員”表の社員コード,“部署”表の部署コード | “社員”表の部署コード |
| ウ | “部署”表の部署コード | “社員”表の社員コード,“社員”表の部署コード |
| エ | “社員”表の部署コード | “社員”表の社員コード,“部署”表の部署コード |
- ア 主キー=“社員”表の社員コード,“部署”表の部署コード / 外部キー=なし
- イ 主キー=“社員”表の社員コード,“部署”表の部署コード / 外部キー=“社員”表の部署コード
- ウ 主キー=“部署”表の部署コード / 外部キー=“社員”表の社員コード,“社員”表の部署コード
- エ 主キー=“社員”表の部署コード / 外部キー=“社員”表の社員コード,“部署”表の部署コード
答えと解説
✓ これが正解イ 主キー=“社員”表の社員コード,“部署”表の部署コード / 外部キー=“社員”表の部署コード
解説
主キーになれるかは、重複しないかどうかだけで決まります。
主キーは、その表の行を一つに定める列です。社員の表なら一人に一つ与えられる番号、部署の表なら部署ごとに一つの番号がそれにあたります。外部キーは、別の表の主キーを指している列です。社員の表にある部署の番号を外部キーにすれば、部署の表の主キーを指すことになり、存在しない部署の番号は書き込めなくなります。設問は、社員が必ず存在する部署に属すると書いているので、主キー二つと外部キー一つの組が正解です。外部キーを置かない組は、存在しない番号を許してしまいます。社員の番号を外部キーにした組は、その番号を主キーに持つ表がどこにも無いので成り立ちません。社員の表で部署の番号を主キーにした組も、同じ部署に何人もいて列が重複するため外れます。
ほかの選択肢の解説
- ア …なし:主キーの取り方は合っていますが、外部キーが一つもありません。これでは無い部署の番号も書き込めてしまい、設問の求める整合を保つ仕掛けが足りません。
- ウ 主キー=“部署”表の部署コード / 外部キー=“社員”表の社員コード,“社員”表の部署コード:部署の番号だけを主キーにしており、社員の表に主キーがありません。さらに社員の番号を外部キーにしていますが、その番号を主とする表が無いので指す先がなく、二か所が同時にずれています。
- エ 主キー=“社員”表の部署コード / 外部キー=“社員”表の社員コード,“部署”表の部署コード:社員の表の部署の番号を主キーにしていますが、一つの部署には何人もの社員が属するので、この列は値がだぶります。だぶる列では行を一つに定められず、外部キーの置き方も逆です。
関連用語
- 外部
キー 別の表の主キーを指している列で、表と表をつなぐ役目をします。 - 関係
データベース データを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。 - 主
キー 表の中の一行を選び出すための項目です。 - 組合せいくつかの中から、向きや順を区別せずに何個かを選ぶ選び方の数です。
- 参照制約外部キーに入る値が、参照先の表に実際にある値でなければならないという決まりです。
出典:平成25年度 春期 ITパスポート試験(特別措置試験) 問55
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
関連問題
- 令和8年度 問69:
正規化に 関する 問題 (関係 データベース) - 令和8年度 問72:
外部 キーに 関する 問題 (外部 キー) - 令和8年度 問57:
外部 キーに 関する 問題 (主 キー) - 令和7年度 問65
(外部 キー) - 令和6年度 問81:
正規化を 行った 結果の 表の 組合せ (主 キー)
同じ分野の問題
誤りを見つけたら報告する