参考答案:
【问题1】 【问题2】
(a)部门号,职位
(b)申请号,客房类型,客户号
(c)申请号,员工号
(d)申请号,员工号
关系模式为:
会议申请(申请号,客房类型,客户号,开会日期,会议地点,持续天数,会议人数,预算费用,会议类型,酒店要求,会议室要求,客房数,联系人,联系方式,受理标志,员工号#)
策划任务(申请号#,员工号#,策划内容,参与人数,要求完成时间)
执行策划(申请号#,员工号#,实际完成时间)
【问题3】
会议申请存在数据冗余及数据修改的不一致性问题,应该将关系模式分解为如下两个模式:
会议申请1(申请号,客户号,开会日期,会议地点,持续天数,会议人数,预算费用,会议类型,酒店要求,会议室要求,联系人,联系方式,受理标志,员工号)
会议申请2(申请号,客房类型,客房数)
详细解析:
本题考查数据库设计方面的应用知识。
【问题1】
根据题意,一个客户可以提交多个会议申请,但一个会议申请对应唯一的一个客户号,故应在客户和会议申请之间增加一个1:n的“提交”联系;由于业务员负责受理会议申请,若申请符合公司规定则置受理标志并填写业务员的员工号,因此业务员和会议申请之间有一个1:n的“受理”联系;由于一个已受理的会议申请对应一个策划任务,一个策划任务只对应一个已受理的会议申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与多项策划任务,因此策划任务和策划员之间有一个n:m的“执行”联系;由于每个部门有多名员工处理部门的日常事务,每名员工只能在一个部门工作,因此部门和员工之间有一个1:n的“所属”联系;又由于每个部门有一名主管负责管理部门的事务和人员,而该主管也是一名员工,因此主管和部门之间有一个1:1的“管理”联系。
根据上述分析,完善图2-1所示的实体联系图可参见参考答案。
【问题2】
根据题意,在员工关系模式中,部门与员工之间是一个1:n的联系,需要将1端(即部门)的码“部门号”并入员工关系;又因为每个员工担任相应职位,故员工关系模式欢迎添加“职位”属性;可见,空(a)应填写“部门号,职位”。
在会议申请关系模式中,由于申请号、客房类型、客户号为主键,故空(b)应填写“申请号,客房类型,客户号”;在策划任务关系模式中,申请号、员工号为主键,故空(c)应填写“申请号,客户号”;由于一个策划任务可由多名策划员参与执行,且一名策划员可以参与多项策划任务,故在执行策划关系模式中,执行策划又由于一个业务员可以安排多个托运申请,申请号、员工号为主键,故空(d)应填写“申请号,客户号”。
会议申请关系模式的主键为“申请号,客房类型”,因为,申请号、客房类型能唯一标识该关系模式的每一个元组。会议申请关系模式的外键为客户号及员工号,因为,客户号及员工号分别为客户及员工关系模式的主键,故为该关系模式的外键。
策划任务关系模式的主键为申请号,因为,申请号能唯一标识该关系模式的每一个元组,故申请号为该关系模式的主键。策划任务关系模式的外键为员工号,因为,员工号为员工关系模式的主键,故为该关系模式的外键。
执行策划关系模式的主键为“申请号,员工号”,因为,申请号及员工号能唯一标识该关系模式的每一个元组,故“申请号,员工号”为该关系模式的主键。执行策划关系模式的外键为申请号及员工号,因为,申请号和员工号分别为会议申请和员工关系模式的主键,故为该关系模式的外键。
【问题3】
关系模式“会议申请”存在数据冗余及数据修改的不一致性问题,应该将关系模式分解,分解后的关系模式参见参考答案。