问答题
阅读下列说明和图,根据要求回答问题。
[说明]
某会议策划公司为了方便客户,便于开展和管理各项业务活动,需要构建一个基于网络的会议预定系统。
[需求分析]
(1)会议策划公司设有受理部、策划部和其他部门。部门信息包括部门号、部门名称、部门主管、电话和邮箱号。每个部门有多名员工处理部门的日常事务,每名员工只能在一个部门工作。每个部门有一名主管负责管理本部门的事务和人员。
(2)员工信息包括员工号、姓名、部门号、职位、联系方式和工资;其中,职位包括主管、业务员、策划员等。业务员负责受理会议申请。若申请符合公司规定,则置受理标志并填写业务员的员工号。策划部主管为已受理的会议申请制定策划任务,包括策划内容、参与人数、要求完成时间等。一个已受理的会议申请对应一个策划任务,一个策划任务只对应一个己受理的会议申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与多项策划任务。
(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号。其中,一个客户号唯一标识一个客户。一个客户可以提交多个会议申请,但一个会议申请对应唯一的一个客户号。
(4)会议申请信息包括申请号、开会日期、会议地点、持续天数、会议人数、预算费用、会议类型、酒店要求、会议室要求、客房类型、客房数、联系人、联系方式、受理标志和业务员的员工号等。客房类型有豪华套房、普通套房、标准间、三人间等,且申请号和客房类型决定客房数。
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图如图1所示。
问答题
根据问题描述,补充5个联系、联系的类型,完善图中的实体联系图。
【正确答案】这是一道要求读者掌握数据库的概念结构设计的综合分析题,本题的解答思路如下。
由题干中“每个部门有多名员工处理部门的日常事务,每名员工只能在一个部门工作”等关键信息可知,实体“部门”与实体“员工”之间存在联系“隶属(或所属)”,其联系的类型为一对多(1:n)。
同理,结合题干给出的“每个部门有一名主管负责管理本部门的事务和人员”等关键信息,结合常识可知,一名主管只隶属于某个部门,因此实体“部门”与实体“主管”之间存在联系“管理”,其联系的类型为一对一(1:1)。
根据题干中“业务员负责受理会议申请”等关键信息,结合常识可知,一名业务员可以受理多个会议申请,而每个会议申请对应唯一的一名业务员受理,实体“业务员”与实体“会议申请”之间存在联系“受理”,其联系的类型为一对多(1:n)。
由题干中“一个策划任务可由多名策划员参与执行,且一名策划员可以参与多项策划任务”等关键信息可知,实体“策划任务”与实体“策划员”之间存在联系“执行”,其联系的类型为多对多(m:n)。
根据题干中的关键信息“一个客户可以提交多个会议申请,但一个会议申请对应唯一的一个客户号”等,可知实体“客户”与实体“会议申请”之间存在联系“提交”,其联系的类型为一对多(1:n)。
整理以上分析结果,结合上图可得出完整的会议预定系统实体联系图,如图2所示。
【答案解析】
问答题
根据实体联系图,将关系模式中的空(a)~(d)补充完整(1个空缺处可能有多个数据项)。对会议申请、策划任务和执行策划关系模式,用下划线和群分别指出各关系模式的主键和外键。
【正确答案】这是一道要求读者掌握数据库的逻辑结构设计的综合理解题,本题的解答思路如下。
结合问题1的分析结果,由题干已给出的关系模式:部门(部门号,部门名称,主管,电话,邮箱号),结合常识可知,属性“部门号”能够唯一标识“部门”关系模式中的每一条记录,因此属性“部门号”是该关系模式的主键。
结合题干给出的“员工信息包括员工号、姓名、部门号、职位、联系方式和工资”等关键信息,基于图2所示的实体联系图,根据E-R模型到关系模式的转换规则,可知“员工”关系模式需要加入1端实体“部门”的主键——“部门号”(作为外键),因此“员工”关系模式需要补充“部门号”、“职位”两个属性。结合常识可知,属性“员工号”能够唯一标识“员工”关系模式中的每一条记录,因此“员工号”是该关系模式的主键。
根据题干给出的“客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号,其中,一个客户号唯一标识一个客户”等关键信息,基于图2所示的实体联系图,根据E-R模型到关系模式的转换规则,可知属性“客户号”是“客户”关系模式的主键。
由题干给出的“会议申请信息包括申请号、开会日期、会议地点、持续天数、会议人数、预算费用、会议类型、酒店要求、会议室要求、客房类型、客房数、联系人、联系方式、受理标志和业务员的员工号等”关键信息,基于图2所示的实体联系图,根据E-R模型到关系模式的转换规则,可知“会议申请”关系模式需要补充“申请号”、“客房类型”两个属性,以及补充加入1端实体“客户”的主键——“客户号”(作为外键)。由题干已给出的“申请号和客房类型决定客房数”等关键信息,以及常识可知,属性“申请号”与“客房类型”的组合才能唯一标识每一条“会议申请”的数据记录,因此它们是该关系模式的主键;属性“客户号”、“员工号”是“会议申请”关系模式的外键。
根据题干给出的“策划部主管为已受理的会议申请制定策划任务,包括策划内容、参与人数、要求完成时间等”关键信息,基于图2所示的实体联系图,根据E-R模型到关系模式的转换规则,可知“策划任务”关系模式需要补充加入1端实体“主管”的主键——“员工号”(作为外键),以及补充加入多端实体“会议申请”的主键——“申请号”(作为外键)。结合常识可知,属性“申请号”既是“策划任务”关系模式的主键,又是它的外键;属性“员工号”是“策划任务”关系模式的外键。
基于图2所示的实体联系图,根据E-R模型到关系模式的转换规则,若将联系“执行”独立转换成一个关系模式“执行策划”,则其关系模式中需要补充加入n端实体“策划任务”的主键——“申请号”(同时作为主键和外键),以及加入m端实体“策划员”的主键——“员工号”(同时作为主键和外键)。属性“申请号”、“员工号”的组合是“执行策划”关系模式的主键,同时又是该关系模式的外键。
【答案解析】
问答题
请说明关系模式“会议申请”存在的问题及解决方案。
【正确答案】结合问题1和问题2的分析结果,由题干中“申请号和客房类型决定客房数”等关键信息,以及关系模式设计中所得知的“会议申请(申请号,客房类型,客户号,开会日期,会议地点,持续天数,会议人数,预算费用,会议类型,酒店要求,会议室要求,客房数,联系人,联系方式,受理标志,员工号)”可知,该关系模式存在非主属性对主键的部分函数依赖,从而将会造成数据冗余及数据修改的不一致性等问题。
为了解决这些问题,可以将“会议申请”关系模式分解为如下两个模式。
会议申请1(申请号,客户号,开会日期,会议地点,持续天数,会议人数,预算费用,会议类型,酒店要求,会议室要求,联系人,联系方式,受理标志,员工号)
会议申请2(申请号,客房类型,客房数)
【答案解析】