参考答案:
【问题1】(6分)
(1)姓名,性别,联系电话,出生日期,简历信息,面试成绩
(2)“候选人”关系模式不满足第二范式(或答:属于第一范式)。
由于“候选人“关系的候选码为:身份证号和应聘的职位编码,但又包含函数依赖:身份证号→姓名,性别,联系电话,出生日期,简历信息。
不满足第二范式的要求,即:非主属性不完全依赖于码。
【问题2】(5分)
(1)“面试官”关系不满足第三范式,即:每一个非主属性既不部分依赖于码也不传递依赖于码。会造成:插入异常、删除异常和修改复杂(或修改异常)。
(2)分解后的关系模式如下:
面试官1(工号,姓名,专业类型,工作职务,工作部门)
面试官2(工作部门,部门负责人,部门电话)
(3) 修正后关系模式的主键如下(下划线标注):
面试官1(工号,姓名,专业类型,工作职务,工作部门)
面试官2(工作部门,部门负责人,部门电话)
【问题3】 (4分)
(1)“招聘安排”关系模式,不满足第四范式。
答:职位编码——所属部门
职位编码——面试官工号
(2)分解后的关系模式如下:
招聘安排1(职位编码,所属部门)
招聘安排2(职位编码,面试官工号)
详细解析:
本题考查非主属性和2NF
“候选人”关系的候选码为:身份证号、应聘的职位编码。“候选人”关系的函数依赖集F如下:
F={(身份证号,应聘的职位编码)→姓名,性别,联系电话,出生日期,简历信息,面试成绩;身份证号→姓名,性别,联系电话,出生日期,简历信息}
显然,“候选人”关系非键属性为姓名、性别、联系电话、出生日期、简历信息和面试成绩,它们不完全函数依赖于码(身份证号,应聘的职位编码),而是部分依赖于码,根据2NF定义,每一个非主属性完全函数依赖于码,所以“候选人”关系模式不满足2NF。
【问题2】
本题考查3NF的概念和应用。
“面试官”关系的候选码为:工号。根据题目的需求描述可知,工号作为面试官的唯一编号,工作部门唯一标识一个部门。“面试官”关系的函数依赖F如下:
F={工号,姓名,专业类型,工作职务,工作部门,部门负责人,部门电话,工作部门→部门负责人,部门电话}
从F中可以得出:工号→工作部门,工作部门→部门负责人,部门电话。可见,“面试官”关系模式存在传递依赖,故“面试官”关系模式不属于3NF。
【问题3】
本题考查4NF的概念和应用
“招聘安排”关系的候选码为:职位编码、所属部门、面试官工号。根据题目的需求描述可知,每个职位可以属于一个或多个部门,一个职位可由多名面试官负责面试,可以得出“招聘安排”关系的函数依赖F如下:
F={职位编码→所属部门,职位编号→面试官工号}
根据4NF的要求:不允许有非平凡且非函数依赖的多值依赖,而“招聘安排”关系模式存在多值依赖,故不属于4NF。