数据库理论与设计:2NF与3NF范式及库存管理系统设计

版权申诉
0 下载量 30 浏览量 更新于2024-08-23 收藏 142KB PDF 举报
在数据库考试的大题中,涵盖了数据库理论和设计的基本概念。第11题涉及的是关系数据库规范化理论,特别是关于范式的理解。首先,针对关系模式R(U,F),其属性集U={A,B,C,D,E}和函数依赖集F={AB->C,C->D,D->E},我们需要分析其在不同范式中的表现。 (1) R最高属于2NF范式。因为主键(A,B)决定了所有的非主属性都依赖于整个键,且存在非主属性间的传递函数依赖AB->C、C->D、D->E,表明不存在部分依赖,所以满足2NF,即没有部分函数依赖。 (2) 然而,R并不满足第三范式(3NF),原因是虽然它是2NF,但非主属性C和D分别依赖于主属性的部分组合,即C依赖于AB,D依赖于C,存在对码的传递函数依赖,这违反了3NF中的无传递依赖原则。为了达到3NF,需要分解为三个独立的关系模式R1(A,B,C), R2(C,D), R3(D,E),每个模式只包含非平凡决定因素,消除了多余的功能依赖。 第12题是数据库设计实践题,涉及到实体-关系(E-R)模型的建立和转换。设计的目标是某单位的库存管理系统,涉及到供应商、零件、仓库和仓库管理员等实体。设计过程如下: - E-R模型图中,关键实体及其属性包括: - 供应商表:(供应商号,供应商名,其他属性) - 零件表:(零件号,零件名,其他属性) - 仓库表:(仓库号,仓库名,管理员号,其他属性) - 仓库管理员表:(仓库号,仓库名,管理员号,其他属性) - 多对多联系通过关系表来表示: - 供应表:(供应商号,零件号,供应量,其他属性) - 存放表:(仓库号,零件号,存放量,其他属性) - 视图设计:创建名为part的视图,显示零件名称和所在仓库名称,使用SQL语句`CREATE VIEW part AS SELECT 零件名, 仓库名 FROM 零件表, 仓库表, 存放表 WHERE 零件表.零件号=存放表.零件号 AND 仓库表.仓库号=存放表.仓库号`,以获取所需信息。 总结来说,这两道题目考察了数据库设计的理论基础(规范化理论)和实践应用(E-R模型构建、关系表设计和视图定义),对于理解和掌握数据库管理系统的核心概念至关重要。