现有关系模式: 库存(零件号、零件名称、仓库号、仓库名称、仓库管理员,库存量)。规定:一种零件可以存放在多个仓库,一个仓库可存放多种零件。试回答下列问题: ①请列出基本函数依赖和候选码; ②是否存在删除异常、插入异常和更新异常,若存在,请举例说明; ③属于第几范式?说明理由。 ④分解为3NF并说明理由。 ⑤分解到3NF是否已经属于BCNF,说明理由。
时间: 2024-04-21 08:25:47 浏览: 140
(1) 基本函数依赖:
零件号 -> 零件名称
仓库号 -> 仓库名称, 仓库管理员
零件号, 仓库号 -> 库存量
候选码:
{零件号, 仓库号}
(2) 存在更新异常:当修改一个仓库管理员时,需要修改多个记录,存在更新异常;存在插入异常:如果没有零件在某个仓库,就无法在库存关系中插入该仓库。
(3) 库存关系模式属于第二范式(2NF),因为存在部分依赖,即零件号和仓库号以及仓库号和仓库名称及管理员之间存在部分依赖。
(4) 分解为3NF:
零件(零件号,零件名称)
仓库(仓库号,仓库名称,仓库管理员)
库存(零件号,仓库号,库存量)
这样分解后,每个关系中都只有一个候选码,并且不存在传递依赖,符合3NF的要求。
(5) 分解到3NF后,不一定符合BCNF,因为仓库关系中存在多个候选码({仓库号}和{仓库名称,仓库管理员})。因此,需要进一步分解为BCNF。
BCNF分解:
零件(零件号,零件名称)
仓库1(仓库号,仓库名称)
仓库2(仓库号,仓库管理员)
库存(零件号,仓库号,库存量)
这样分解后,每个关系都只有一个候选码,并且不存在任何函数依赖,符合BCNF的要求。
相关问题
2、现有关系模式: 库存(零件号、零件名称、仓库号、仓库名称、仓库管理员,库存量)。规定:一种零件可以存放在多个仓库,一个仓库可存放多种零件。试回答下列问题: ①请列出基本函数依赖和候选码; ②是否存在删除异常、插入异常和更新异常,若存在,请举例说明; ③属于第几范式?说明理由。 ④分解为3NF并说明理由。 ⑤分解到3NF是否已经属于BCNF,说明理由。
① 基本函数依赖:
零件号 → 零件名称
仓库号 → 仓库名称,仓库管理员
(零件号, 仓库号) → 库存量
候选码:
(零件号, 仓库号)
② 存在以下异常:
删除异常:如果一种零件在某个仓库中没有库存,那么删除这个仓库的信息时就会丢失这种零件的信息。
插入异常:如果想要添加一种新零件,但还没有库存信息,就无法添加其信息。
更新异常:如果更改仓库管理员的信息,那么可能会导致所有存放在该仓库的零件信息都需要进行更新。
③ 该模式不属于第三范式(3NF)。因为库存量依赖于(零件号, 仓库号),而不是仅仅依赖于零件号或仓库号,存在传递依赖。
④ 分解为3NF:
零件信息(零件号,零件名称)
仓库信息(仓库号,仓库名称,仓库管理员)
库存信息(零件号,仓库号,库存量)
⑤ 分解到3NF后已经属于BCNF。因为所有非主属性都完全依赖于候选键,没有任何冗余依赖。
某工厂物资管理涉及的实体及其属性是: 仓库:仓库号、面积、电话号码:零件:零件号、名称、规格、单价、 描述:供应商:供应商号、姓名、地址、电话号码、账号:项目:项目号、预算、开王日期:职工:职工号、姓名、年龄、职称。 这些实体之间的联系是: (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,因此仓库和零件具有多对多联系。用库存量来表示某种零件的数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,因此仓库和职工之间是一对多联系。 (3)职工之间具有领导与被领导关系,即仓库主任领导若干保管员,因此职工实体型中具有一对多的联系。 (4)供应商、项目和零件三者之间具有多对多的联系,即一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件由不同供应商供给。请设计该系统的全局 E - R 图,并转换成关系模型(包括关系名、属性名、候选码和完整性约束)。
关系模型如下:
1. 仓库(仓库号,面积,电话号码,库存量)
候选码:仓库号
2. 职工(职工号,姓名,年龄,职称,所在仓库号)
候选码:职工号
外键:所在仓库号 -> 仓库.仓库号
3. 零件(零件号,名称,规格,单价,描述)
候选码:零件号
4. 供应商(供应商号,姓名,地址,电话号码,账号)
候选码:供应商号
5. 项目(项目号,预算,开王日期)
候选码:项目号
6. 供应(供应商号,项目号,零件号)
候选码:(供应商号,项目号,零件号)
外键:供应商号 -> 供应商.供应商号
外键:项目号 -> 项目.项目号
外键:零件号 -> 零件.零件号
完整性约束:
1. 仓库和零件之间的多对多联系是通过一个关系模型(例如,库存表)来表达,库存量必须大于等于0。
2. 职工的年龄必须大于等于18岁。
3. 一个职工只能在一个仓库工作,因此仓库和职工之间是一对多联系。
4. 职工实体型中具有一对多的联系,即仓库主任领导若干保管员。
5. 供应商、项目和零件三者之间具有多对多的联系,每个项目都必须供应至少一种零件。
6. 每个零件必须由至少一个供应商供应。
阅读全文