午前問85
関係データベースで管理している"担当社員"表、"地区"表及び"顧客"表を結合して、A表を得た。結合に用いた"顧客"表はどれか。ここで、下線のうち実線は主キーを、破線は外部キーを表す。

![]() | |
![]() | |
![]() | |
![]() |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- エ
解説
A表の列は画像より、顧客コード・顧客名・社員名・地区名・代表者氏名です。社員名は担当社員表、地区名は地区表に存在するため、A表を作るには顧客表を起点に3表を結合する必要があります。関係データベースでは、表間の結合は外部キーと相手表の主キーで行います。したがって顧客表が担当社員表と地区表の両方を参照できるよう、顧客表には社員コードと地区コードの2つの外部キーが必須です。画像の下線の規則(実線=主キー、破線=外部キー)に従うと、両方の外部キーを備えるのは「エ」です。3表を結合後、顧客コード・顧客名・社員名・地区名・代表者氏名を射影してA表になります。
| ア. | |
| 外部キーがなく、担当社員表・地区表を参照できないため、社員名・地区名を取得できません。不適切です。 | |
| イ. | |
| 社員コード(外部キー)はあるが地区コードがなく、地区表を参照できないため地区名を取得できません。不適切です。 | |
| ウ. | |
| 地区コード(外部キー)はあるが社員コードがなく、担当社員表を参照できないため社員名を取得できません。不適切です。 | |
| エ. | |
| 社員コードと地区コードの両方が外部キーとして定義され、担当社員表と地区表の主キーに結合できます。社員名・地区名を取得できるため適切です。 |



