设有关系模式 R(图书编号,职工编号,销售数量,部门编号,负责人),如果规定:每个职工销售的每种图书对应一个销售数量;每个职工属于一个部门;每个部门只有一个负责人。 1.该系式存的一个部分数依赖、一个传递函数依赖和一个完全函数依赖,并指明其主码。 2.分析该关系模式是否为3NF,并说明理由;若不是 3NF,将其分解为 3NF。
时间: 2024-04-28 11:20:06 浏览: 18
好的,我明白了。
1. 该关系模式的主码为 {图书编号, 职工编号},因为每个职工销售的每种图书对应一个销售数量,因此单独的图书编号或职工编号都不能唯一地标识一条记录。
- 部分函数依赖:部门编号 → 负责人 (部门编号可以唯一确定负责人)
- 传递函数依赖:图书编号, 职工编号 → 部门编号, 负责人 (通过职工编号可以确定部门编号,再根据部门编号可以确定负责人)
- 完全函数依赖:图书编号, 职工编号 → 销售数量, 部门编号, 负责人 (图书编号和职工编号可以唯一确定销售数量、部门编号和负责人)
2. 该关系模式不是3NF,因为存在传递函数依赖图书编号, 职工编号 → 部门编号, 负责人,违反了3NF的第二范式。我们可以将其分解为3个关系模式:
- R1(图书编号, 职工编号, 销售数量):主码为 {图书编号, 职工编号}
- R2(职工编号, 部门编号):主码为 {职工编号},部门编号 → 负责人
- R3(部门编号, 负责人):主码为 {部门编号},无非主属性
分解后的关系模式满足3NF,并且可以通过连接操作得到原始的关系模式R。