跳到正文

令和4年度 ITパスポート試験 問65

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

問65
頻出度★★★

条件①~⑤によって,関係データベースで管理する“従業員”表と“部門”表を作成した。“従業員”表の主キーとして,最も適切なものはどれか。 〔条件〕 ① 各従業員は重複のない従業員番号を一つもつ。 ② 同姓同名の従業員がいてもよい。 ③ 各部門は重複のない部門コードを一つもつ。 ④ 一つの部門には複数名の従業員が所属する。 ⑤ 1人の従業員が所属する部門は一つだけである。 従業員

従業員番号従業員名部門コード生年月日住所

部門

部門コード部門名所在地
出典 令和4年度 ITパスポート試験 問65
解説

問 65主键要选择能唯一标识表中每一行的项(值不重复、且必定有值)

  • ア

    正解 主键是关系数据库的表中用于唯一标识每一行(每条记录)的项。由条件①可知,「员工编号」是每名员工都不重复地拥有一个的值,因此不存在拥有相同员工编号的行,仅凭这一项就能确切地确定每名员工。所以,作为「员工」表的主键,最合适的是「ア」的「员工编号」。

  • 错误イ

    「员工编号」和「部门代码」的复合。仅凭员工编号就已经能够唯一标识,因此再加上部门代码是不必要的(冗余),违反了主键应由必要的最少项构成这一原则。因此不是最合适的。

  • 错误ウ

    由条件②「允许存在同姓同名的员工」可知,「员工姓名」的值可能重复。值会重复的项无法唯一标识行,因此不能作为主键。

  • 错误エ

    由条件④「一个部门中有多名员工所属」可知,「部门代码」在多个员工行中可能取相同的值。因为无法唯一标识,所以不能作为主键(它相当于引用「部门」表的外键)。

ここがポイント
  • 主键要选择能唯一标识表中每一行的项(值不重复、且必定有值)。
  • 在多行中可能重复的项(如姓名、部门代码等)不能作为主键;只要有一个能唯一标识的项,就无需组成复合键。
用語
解答問65ア
练这一题

作答记录