平成30年度 秋期 (特別措置試験) 問85
データベース
結合に用いた“顧客”表
関係データベースで管理している“担当社員”表,“地区”表及び“顧客”表を結合して,A表を得た。結合に用いた“顧客”表はどれか。ここで,下線のうち実線は主キーを,破線は外部キーを表す。
担当社員
| 社員コード | 社員名 |
|---|
地区
| 地区コード | 地区名 |
|---|
A
| 顧客コード | 顧客名 | 社員名 | 地区名 | 代表者名 |
|---|
〔選択肢〕(原典では選択肢そのものが表=項目を横一列の枠で並べ,主キーに実線,外部キーに破線の下線を引いたもの。項目の並びに書き起こしたもの)
〔下線について〕(原典は主キーを実線,外部キーを破線で描き分けています。上の3つの表の下線は,いずれも実線=主キーです。各選択肢では,先頭の顧客コードの下線が実線=主キー,それ以外の下線が破線=外部キーです。この書き起こしではどちらも同じ下線になっており,実線と破線の区別は失われています)
- ア{顧客コード|顧客名|代表者名}
- イ{顧客コード|顧客名|代表者名|社員コード}
- ウ{顧客コード|顧客名|代表者名|地区コード}
- エ{顧客コード|顧客名|代表者名|社員コード|地区コード}
答えと解説を見る
✓ これが正解エ{顧客コード|顧客名|代表者名|社員コード|地区コード}
解説
社員と地区の両方を指す値がそろって、はじめて結べます。
関係データベースでは、別々の表を、共通する値をたどってつなぎ合わせます。得られた表には、顧客の番号と名前、担当する社員の名前、地区の名前、代表者の名前が並んでいます。このうち社員の名前は担当社員の表にしかなく、地区の名前は地区の表にしかありません。だから、もとになった表には、その二つの表を指すための値が両方とも入っている必要があります。社員の表を指す値と、地区の表を指す値の二つです。ほかの表の行を指すために置く列を、外部キーと呼びます。外部キーは、一つの表にいくつあっても構いません。逆に、片方しか持っていない表からは、もう一方の名前を引けません。行そのものを見分ける主キーのほうは、顧客の番号です。残る三つは、指すための値が足りないか、まったく持っていない形になっています。
ほかの選択肢はなぜ違うのか
- ア{顧客コード|顧客名|代表者名}:顧客の番号と名前、代表者の名前だけを持つという肢です。ほかの表を指す値が一つもないので、担当する社員の名前も地区の名前も引けません。得られた表に並んでいる二つの列を、どちらも作れない形になっています。顧客の情報だけで閉じた表です。
- イ{顧客コード|顧客名|代表者名|社員コー…:顧客の情報に加えて、社員を指す値だけを持つという肢です。これで社員の名前は引けますが、地区の表を指す値がありません。地区の名前の列が埋まらないので、得られた表には届きません。二ついるうちの一つしかない形です。
- ウ{顧客コード|顧客名|代表者名|地区コー…:顧客の情報に加えて、地区を指す値だけを持つという肢です。地区の名前は引けますが、担当する社員の表を指す値がありません。社員の名前の列が空のままになります。足りない側が入れ替わっただけで、同じ理由で届きません。必要なのは二つです。
この問題の用語
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。データの定義や操作にはSQLを使います。
出典:平成30年度 秋期 ITパスポート試験(特別措置試験) 問85(改変:原典の図表をテキストに書き起こした)
同じ用語が出る問題
- 令和8年度 問72:外部キーに関する問題(関係データベース)
- 令和8年度 問69:正規化に関する問題(関係データベース)
- 令和8年度 問57:外部キーに関する問題(関係データベース)
- 令和7年度 問66:関係データベースに関する問題(関係データベース)
- 令和6年度 問93:抽出された従業員(関係データベース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)