参考答案:
【问题1】
【问题2】
(a)分公司编号
(b)申请号,客户号
(c)申请号,业务员
员工: 主键:员工号;外键:分公司编号。
申请单: 主键:申请号;外键:客户号,业务员。
安排承运:主键:申请号;外键:业务员,调度员。
【问题3】
通信地址不是简单属性而是一个复合属性,因为该属性可拆分为多个属性。
(d)1:n
(e)(分公司编号,经理)
详细解析:
【问题1】
概念模型设计中补充联系这类题是考试时非常固定的考查模式,需要补充的联系往往需要从问题给出的说明来进行分析。
(1)从“每个分公司可以有多名员工处理分公司的日常业务,每位员工只能在一个分公司工作。”可以看出,员工与分公司之间的应该是有一种隶属关系的。由于一个分公司可以有多名员工,一名员工只能属于一个公司,所以分公司与员工存在1对多的关系。
(2)从“每个分公司由一名经理负责管理分公司的业务和员工,系统需要记录每个经理的任职时间。”可以看出分公司与经理之间存在1对1的关系。
(3)从“一个业务员可以受理多个客户的快件申请,一个快件申请只能由一个业务员受理。”可以看出业务员与申请单之间存在1对多的关系。
(4)从“调度员根据已受理的申请单安排快件的承运事宜,例如:执行承运的业务员、运达时间等。一个业务员可以执行调度员安排的多个快件的承运业务。”可以看出调度员与申请单之间存在1对多的关系。与此同时承运的业务员与申请单之间也存在1对多的关系。
(5)从“当客户要寄快件时,先要提交快件申请单,申请号由系统自动生成。快件申请信息包括申请号、客户号…”可以看出客户与申请单之间存在1对多的关系。
【问题2】
问题1要求补充关系模型设计,在对关系模型设计进行补充完善时,需要从两方面考虑:一方面是关系中应包含说明中相关实体必须的信息;另一方面是实体之间需要联系,联系是通过属性来达到效果的,此时也会增加关系模式中的属性。
对于员工关系而言,题目说明中的信息已经全了,缺的只能是与其它实体保持联系的属性,即分公司编号。申请单关系的内容从题目说明“快件申请信息包括申请号、客户号、发件人…”可以看出,缺申请号和客户号。从题目说明“调度员根据已受理的申请单安排快件的承运事宜,例如:执行承运的业务员、运达时间等。”可以看出安排承运关系缺申请号和业务员两个属性。
至于主键与外键根据其定义直接识别即可:
对于员工关系,“员工号唯一标识员工信息的每一个元组”,因此“员工号”为主键,而分公司编号是分公司关系的主键,因此是员工关系的外键。
对于申请单关系,“一个申请号对应唯一的一个快件申请”,因此“申请号”为主键,而客户号是客户关系的主键,业务员是业务员的员工号,也就是员工关系的主键,因此,客户号、业务员是申请单关系的外键。
对于安排承运关系,“调度员根据已受理的申请单安排快件的承运事宜”,因此“申请号”为主键,而业务员、调度员对应的都是员工号,也就是员工关系的主键,因此,业务员、调度员是安排承运关系的外键。
至于主键与外键根据其定义直接识别即可:
对于员工关系,“员工号唯一标识员工信息的每一个元组”,因此“员工号”为主键,而分公司编号是分公司关系的主键,因此是员工关系的外键。
对于申请单关系,“一个申请号对应唯一的一个快件申请”,因此“申请号”为主键,而客户号是客户关系的主键,业务员是业务员的员工号,也就是员工关系的主键,因此,客户号、业务员是申请单关系的外键。
对于安排承运关系,“调度员根据已受理的申请单安排快件的承运事宜”,因此“申请号”为主键,而业务员、调度员对应的都是员工号,也就是员工关系的主键,因此,业务员、调度员是安排承运关系的外键。
【问题3】
由于客户关系的通信地址可以进一步分为邮编、省、市、街道,所以该属性已具备复合属性的特点,不是一个简单属性。
假设分公司需要增设一位经理的职位,那么分公司与经理之间的联系类型应修改为1对多,分公司的主键应该修改为(分公司编号,经理)。