跳到正文

平成30年度 秋期 ITパスポート試験 問85

这道题的解析和你的作答记录。

問85
頻出度★★★

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

社員コード社員名

地区

地区コード地区名

A

顧客コード顧客名社員名地区名代表者名
出典 平成30年度 秋期 ITパスポート試験 問85
解説

問 85

  • 错误ア

    只有「顾客编号·顾客名·负责人姓名」这 3 列,完全不持有外键。这样既无法与「负责员工」表连接,也无法与「地区」表连接,因而得不到 A 表中的「员工姓名」和「地区名」。

  • 错误イ

    只持有外键「员工编号」。虽然能与「负责员工」表连接得到「员工姓名」,但由于没有「地区编号」,无法与「地区」表连接,因而得不到 A 表的「地区名」。

  • 错误ウ

    只持有外键「地区编号」。虽然能与「地区」表连接得到「地区名」,但由于没有「员工编号」,无法与「负责员工」表连接,因而得不到 A 表的「员工姓名」。

  • エ

    正解 连接后的 A 表有「顾客编号」「顾客名」「员工姓名」「地区名」「负责人姓名」共 5 列。原「顾客」表本身固有的列是「顾客编号」「顾客名」「负责人姓名」,而 A 表中的「员工姓名」是从「负责员工」表(主键=员工编号)、「地区名」是从「地区」表(主键=地区编号)通过连接取来的列。因此「顾客」表必须持有用于与这两个表连接的外键——即「员工编号」和「地区编号」两者。于是原「顾客」表的列为「顾客编号·顾客名·负责人姓名·员工编号·地区编号」,选项エ正确。图中也只有エ同时以虚线(外键)备有「员工编号」「地区编号」这 2 列。

ここがポイント
  • 在连接(join)中,本表通过持有引用对方表主键的外键,把对方表的列取入本表。要点在于:从 A 表中出现的列,反推出原表所需的外键。
  • 外键(虚线)是指向其他表主键(实线)的列。想取入多少个对方表,就需要相应数量的外键与之对应。
用語
解答問85エ
练这一题

作答记录