现有关系模式: 库存(零件号、零件名称、仓库号、仓库名称、仓库管理员,库存量)。规定:一种零件可以存放在多个仓库,一个仓库可存放多种零件。试回答下列问题: ①请列出基本函数依赖和候选码; ②是否存在删除异常、插入异常和更新异常,若存在,请举例说明; ③属于第几范式?说明理由。 ④分解为3NF并说明理由。 ⑤分解到3NF是否已经属于BCNF,说明理由。
时间: 2024-04-20 21:27:38 浏览: 53
有关库存系统的资料,仓库管理,入库管理.
1. 基本函数依赖为:零件号 → 零件名称;仓库号 → 仓库名称,仓库管理员;(零件号, 仓库号) → 库存量。
候选码为:(零件号, 仓库号)
2. 存在删除异常、插入异常和更新异常。例如,若某个仓库没有库存,则无法记录该仓库的信息,即存在删除异常;若需要记录某个仓库新的库存信息,但该仓库没有之前所存放的任何零件,则无法插入新的信息,即存在插入异常;若需要修改某个仓库管理员的信息,需要修改多条数据,即存在更新异常。
3. 库存属于第二范式(2NF),因为存在非主属性仓库名称、仓库管理员对于主属性仓库号的部分函数依赖。
4. 分解为3NF的模式集:(零件号, 仓库号, 库存量)、(零件号, 零件名称)、(仓库号, 仓库名称, 仓库管理员)。原因是库存中存在多个非主属性对同一个候选码的部分依赖,需要进行分解。
5. 分解到3NF后,已经属于BCNF,因为每个模式集中都存在一个超键,即候选码。
阅读全文