第06章--数据库设计.ppt
文本预览下载声明
供应商 供应商号 供应商名 地址 零件 零件号 零件名 单价 产品 产品号 产品名 型号 供应 n m p 数量 供应商(供应商号,供应商名,地址) 零件(零件号,零件名,单价) 产品(产品号,产品名,型号) 供应(供应商号,零件号,产品号,数量) 数据模型的优化 确定数据依赖 对数据依赖进行极小化处理,消除冗余的联系 对关系模式进行规范化处理 模式评价 检查规范化后的数据库模式是否完全满足用户需求,并确定要修正的部分。 功能评价:检查数据库模式是否支持用户所有的功能要求 必须包含用户要存取的所有属性 如果某个功能涉及多个模式,要保证无损连接性。 性能评价:检查查询响应时间是否满足规定的需求。 由于模式分解导致连接代价 如果不满足,要重新考虑模式分解的适当性。 可采用模拟的方法评价性能 模式修正 根据模式评价的结果,对已规范化的数据库模式进行修改。 若功能不满足,则要增加关系模式或属性。 若性能不满足,则要考虑属性冗余或降低范式。 合并:若多个模式具有相同的主关键字,而应用主要是查询,则可合并,减少连接开销。 分解:对模式进行必要的分解,以提高效率。 水平分解 垂直分解 (1)水平分解 80/20原则:一个关系经常被使用的数据只占20% 如果多个处理存取关系R的数据集不相交,则可将R水平分解为多个关系,每个关系的模式名不同,但属性集相同。 例如学生关系保存了所有学生,但每个系只存取各自学生,因此可考虑将学生关系按系水平分解,个系在处理学生时只存取对应的关系。 减少应用处理的数据量,提高效率。 (2)垂直分解 把关系模式按属性集垂直分解为多个模式 在实际中,应用可能经常存取的只是关系的某几个列,其它列存取的概率很低,这时可考虑将这些经常访问的列单独拿出组成一个关系模式,以提供平均查询性能。 若一个关系中,某几个属性的值重复较多,并且值较大,可考虑将这些属性单独组成关系模式,以降低存储空间。 例如职工关系中有一属性“住房平面图”,若90%职工的房型都一样,则其“住房平面图”相同,此时可考虑将“住房平面图”分解成一个关系模式。 (2)垂直分解 职工号 …… 住房平面图 住房平面图编号 住房平面图 职工号 …… 住房平面图 编号 设计用户子模式(视图) 根据局部应用的需求,设计用户子模式。 外模式1 外模式2 外模式3 概念模式 用户1 用户2 用户3 实际系统开发中,用户是指局部的应用程序 设计用户子模式 使用更符合用户习惯的别名 ER图集成时要消除命名冲突以保证关系和属性名的唯一,在子模式设计时可以重新定义这些名称,以符合用户习惯。 给不同级别用户定义不同子模式,保证系统安全性。 产品(产品号,产品名,规格,单价,成本,合格率) 为一般顾客:产品1(产品号,产品名,规格,单价) 为销售部门:产品2(产品号,名称,规格,单价,成本,合格率) 简化用户程序对系统的使用 可将某些复杂查询设计为子模式以方便使用 第六章 数据库设计 6.1 数据库设计概述 6.2 需求分析 6.3 概念结构设计 6.4 逻辑结构设计 6.5 数据库的物理设计 6.6 数据库实施和维护 6.5 数据库的物理设计 什么是数据库的物理设计 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。 为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。 数据库物理设计的步骤 数据库物理设计 确定数据库的物理结构 评价数据库的物理结构 逻辑结 构设计 数据库 实施 物理 模型 逻辑 模型 第六章 数据库设计 6.1 数据库设计概述 6.2 需求分析 6.3 概念结构设计 6.4 逻辑结构设计 6.5 数据库的物理设计 6.6 数据库实施和维护 数据库实施 定义数据库结构 数据 装载 数据库试运行 数据库物 理设计 数据库运 行和维护 物理 模型 编制与调试应用程序 数据库 系统 数据库运行与维护 数据库试运行结果符合设计目标后,数据库就可以真正投入运行了。 数据库投入运行标着开发任务的基本完成和维护工作的开始 对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。 应用环境在不断变化 数据库运行过程中物理存储会不断变化 数据库运行与维护(续) 在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,包括: 数据库的转储和恢复 数据库的安全性、完整性控制 数据库性能的监督、分析和改进 数据库的重组织和重构造 小结 数据库的设计过程 需求分析 概念结构设计 逻辑结构设计 物理设计 实施 运行维护 设计过程中往往还会有许多反复。 * 手工试凑法 设计质量与设计人员的经验和水平有直接关系 缺乏科学理论和工程方法的支持
显示全部