软考下午题--数据库设计练习(二)
例:该系统的部分功能及初步需求分析的结果如下 :
(1)M公司旗下有业务部、策划部和其他部门。部门信息包括部门号、部门名、主管、联系电话和邮箱号;每个部门只有一名主管,只负责管理本部门的工作,且主管参照员工关系的员工号;一个部门有多名员工,每名员工属于且仅属于一个部门。
(2)员工信息包括员工号、姓名、职位、联系方式和薪资。职位包括主管、业务员、 策划员等。业务员负责受理用户申请,设置受理标志。一名业务员可以受理多个用户申请,但一个用户申请只能由一名业务员受理。
(3)用户信息包括用户号、用户名、银行账号、电话、联系地址。用户号唯一标识用户信息中的每一个元组。
(4)用户申请信息包括申请号、用户号、会议日期、天数、参会人数、地点、预算和受理标志。申请号唯一标识用户申请信息中的每一个元组,且一个用户可以提交多个申请,但一个用户申请只对应一个用户号。
(5)策划部主管为己受理的用户申请制定会议策划任务。策划任务包括申请号、任务明细和要求完成时间.申请号唯一标识策划任务的每一个元组。一个策划任务只对应一个已受理的用户申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与执行,且在项策划任务。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示。
【关系模型设计】
部门(部门和,部门名,部门主管,联系电话,邮箱号)
员工(员工号,姓名,( ),联系方式,薪资)
用户(用户名,( ),电话,联系地址)
用户申请(申请号,用户号,会议日期,天数,参会人数,地点,受理标志,( ))
执行(申请号,任务明细,( ))
【问题1】(5分)
根据问题描述,补充五个联系,完善图2-1的实体联系图。联系名可用联系1、联系2、联系3、联系4和联系5,联系的类型为1:1、1:n和m:n(或1:1、1:*和*:*)。
【问题2】(4分)
根据题意,将关系模型中的空(a)~(d)补充完整,并填入答题纸对应的位置上。
【问题3】(4分)
给出“用户申请”和“策划任务”关系模式的主键和外键。
【问题4】(2分)
请问“执行”关系模式的主键为全码的说法正确吗?为什么?
解析:
【问题1】联系不仅是表和属性之间的联系,属性和属性之间也可以有联系。因此五条联系如下:
联系1:部门--员工:1:n
联系2:业务员--用户申请:1:n
联系3:用户--用户申请:1:n
联系4:策划员--策划任务:m:n
联系5:用户申请--策划任务:1:1
【问题2】
要根据题干深入理解,看有没有遗漏一些属性
a:职位,部门号(需要结合上下文理解才可以的出来,容易遗漏)。
b:用户号,银行卡号。
c:预算、业务员(需要结合上下文理解才可以的出来,容易遗漏)。
d:要求完成时间
【问题3】
用户申请: 主键---申请号 外键---用户号、业务员
策划任务: 主键---申请号 外键---申请号
【问题4】不是,任务明细和要求完成时间是非主属性,不能作为主键