出典:平成30年度 ITパスポート試験(IP) 秋期分 問85
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| データベース | データがそれっぽい感じに入っている箱 |
| リレーショナルデータベース | データを表形式で扱っていて、表同士をくっつけたりなんだりできるデータベース。OracleとかMySQLとかのこと |
| 関係データベース | リレーショナルデータベースを日本語にした表現 |
| テーブル | データベースの話で出てきた場合は、データベースの中にある実際にデータを入れておく箱 |
| 結合 | 複数のテーブルのデータをまとめて1つのデータにすること |
| 主キー | データベースのデータを一意に識別するための項目 |
| 外部キー | 「ここの値は、こっちから選んで入れなさい」制約 |
問題
| 問題文 |
|---|
関係データベースで管理している"担当社員"表,"地区"表及び"顧客"表を結合して,A表を得た。結合に用いた"顧客"表はどれか。ここで,下線のうち実線は主キーを,破線は外部キーを表す。![]() |
| ピヨ意訳:「担当社員」「地区」「顧客」の3つの表を結合したらA表のようになったよ。結合に使った「顧客」表は、どれ?なお、実線の下線が引いてある項目は主キーだよ。破線の下線が引いてある項目は外部キーだよ。 【担当社員】 社員コード[主キー] 社員名 【地区】 地区コード[主キー] 地区名 【A表】 顧客コード[主キー] 顧客名 社員名 地区名 代表者名 |
| 解答選択肢 | |
|---|---|
| ア | ![]() |
| ピヨ意訳: 顧客コード[主キー] 顧客名 代表者名 | |
| イ | ![]() |
| ピヨ意訳: 顧客コード[主キー] 顧客名 代表者名 社員コード[外部キー] | |
| ウ | ![]() |
| ピヨ意訳: 顧客コード[主キー] 顧客名 代表者名 地区コード[外部キー] | |
| エ | ![]() |
| ピヨ意訳: 顧客コード[主キー] 顧客名 代表者名 社員コード[外部キー] 社員コード[外部キー] | |

正解
| 正解 | |
|---|---|
| エ | ![]() |
| ピヨ意訳: 顧客コード[主キー] 顧客名 代表者名 社員コード[外部キー] 社員コード[外部キー] | |
ピヨピヨ解説
まずA表の項目は
1.顧客コード
2.顧客名
3.社員名
4.地区名
5.代表者名
です。
このうち
3.社員名
は「担当社員」表から引っ張れます。
同じように
4.地区名
は「地区」表から引っ張れます。
よって「顧客」表から引っ張る項目は
1.顧客コード
2.顧客名
5.代表者名
です。
ただし!です。
「担当社員」表と「地区」表から項目を引っ張るには、それぞれの表と結合するための項目が必要です。
よって「顧客」表には
社員コード(「担当社員」表と結合するための項目)
地区コード(「地区」表と結合するための項目)
が必要です。
ここで、もしかしたら「絶対に『社員コード』なの?『社員名』ではダメなの?」と思う人がいるかもしれませんが、ダメです。
「顧客」表の項目として「社員名」があったら、わざわざ「担当社員」表と結合する必要がなくなるからです。
※「地区」表についても同じです。
よって、推測できる「顧客」表の項目は
1.顧客コード
2.顧客名
5.代表者名
社員コード(「担当社員」表と結合するための項目)
地区コード(「地区」表と結合するための項目)
となります。
ふむ。
そのものズバリな解答選択肢がありますね。
「エ」が正解です。











