题目
设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。 其中表C的键为公司号,表S的键为员工号,则表E的键(码)为( )。A. 公司号,员工号B. 员工号,工资C. 员工号D. 公司号,员工号,工资
设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。 其中表C的键为公司号,表S的键为员工号,则表E的键(码)为( )。
A. 公司号,员工号
B. 员工号,工资
C. 员工号
D. 公司号,员工号,工资
题目解答
答案
A. 公司号,员工号
解析
考查要点:本题主要考查关系数据库中主键(码)的确定,需要根据实体之间的关系判断哪个字段组合能唯一标识表中的每一条记录。
解题核心思路:
- 主键的定义:主键是能唯一标识表中每一行记录的一个或一组字段,需满足唯一性和非空性。
- 实体关系分析:
- 公司表
C
的主键是公司号
,员工表S
的主键是员工号
。 - 雇佣表
E
记录员工在公司的雇佣关系,需结合公司号
和员工号
才能唯一确定一条记录(因为员工可在多家公司兼职)。
- 公司表
- 排除干扰项:工资和工作起始时间可能重复,不能作为主键的一部分。
关键分析步骤
- 明确主键作用:主键需确保每条记录唯一。
- 分析实体关联:
- 一个员工可能在多个公司兼职 → 单独的
员工号
无法唯一标识记录。 - 一个公司可能雇佣多个员工 → 单独的
公司号
也无法唯一标识记录。
- 一个员工可能在多个公司兼职 → 单独的
- 组合字段验证:
公司号
和员工号
的组合能唯一确定一条雇佣关系(例如:员工甲在公司A的记录与公司B的记录是不同的)。- 工资和工作起始时间可能重复,因此不能参与主键。
选项排除
- B、D选项包含工资:工资可能相同,无法保证唯一性。
- C选项仅员工号:无法区分不同公司的兼职记录。
- A选项组合:唯一满足条件。