资源描述
数据库原理及应用 贾长云 () 数据库设计 贾长云 () 2 数据库原理及应用 本章主要内容和学习要求 数据库设计概述(了解) 数据库设计的全过程(领会) ER模型 (综合应用) ER模型到关系模型的转换 (综合应用) ER模型实例分析 (理解) 小结 贾长云 () 3 数据库原理及应用 学习目标 了解数据库设计的特点 理解数据库设计的全过程 掌握需求分析的任务和方法 掌握概念结构设计的方法 贾长云 () 4 数据库原理及应用 6.1 数据库设计概述 一、软件工程与软件生存期 软件工程: 用工程化的方法与理论来指导软件开发的过程, 以提高软件质量和开发效率,降低开发成本 。 软件危机 软件神话 软件生存期 : 从软件的规划、研制、实现、投入运行后的维 护,直到它被新的软件所取代而停止使用的整个期间 。 规划阶段 需求分析阶段 设计阶段 编码阶段 测试阶段 运行维护阶段 贾长云 () 5 数据库原理及应用 6.1 数据库设计概述 二、数据库工程与数据库系统生存期 数据库工程: 以数据库为基础的软件系统, 属于软件工程,但有所区别。 数据库应用系统设计 与之相关的应用软件设计 数据库系统生存期 : 数据库应用系统从开始 规划、设计、实现、维护到最后被新的系统 取代而停止使用的整个期间。 定义:规划、需求分析 设计:概念、逻辑、物理 实现与运行 贾长云 () 6 数据库原理及应用 6.1 数据库设计概述 二、数据库工程与数据库系统生存 期 规划阶段 :一个单位、企业的信息化 规划 需求分析阶段 :综合各个用户的应用需求 概念设计阶段 :形成独立于机器特点,独立于各个 DBMS产品的概念模式 (E-R图 ) 逻辑设计阶段 : E-R图转换成具体 DBMS支持的数 据模型,形成数据的外模式 物理设计阶段 :根据 DBMS特点和处理的需要,进 行物理存储安排,建立索引,形成数据库内模式。 贾长云 () 7 数据库原理及应用 规划 需求分析 系统设计 程序编制 调试 运行维护 运行和维护 实现 物理设计 逻辑设计 概念设计 需求分析 规划 软件生存期 数据库生存期 贾长云 () 8 数据库原理及应用 6.2 规划与需求分析 6.2.1 数据库规划 目标:信息化的程度 人 管理规范化 软件与硬件条件 规划阶段的三个步骤 系统调查: 对企业组织作全面的调查,画出组织层次图,以了解企业的组织 结构 可行性分析 从技术、经济、效益、法律等族方面对建立数据库的可行性进 分析;写出可行性分析报告;组织专家进行讨论其可行性 确定数据库系统的总目标和制定项目开发计划 贾长云 () 9 数据库原理及应用 6.2.2 需求分析 1、目标: 分析用户的需要与要求 充分了解原系统的工作概况 明确用户的各种需求 确定新系统的功能。 考虑今后可能的扩充和改变 2、需求分析的重点 信息要求 处理要求 安全性与完整性要求。 贾长云 () 10 数据库原理及应用 6.2.2 需求分析 3、需求分析的难点 用户无法准确地表达自己的需求 所提出的需求往往不断地变化; 设计人员缺少用户的专业知识,不易理解用 户的真正需求,甚至误解用户的需求; 新的硬、软件技术的出现也会使用户需求发 生变化 4、需求分析的方法: 调查研究 分析表达 贾长云 () 11 数据库原理及应用 6.2.2 需求分析 5、调查研究 步骤 (1)调查组织机构情况: 包括组织部门的组成情况 和职责等。 (2)调查各部门的业务活动情况,包括各个部门输 入和使用什么数据、如何加工处理这些数据、输出 什么信息、输出到什么部门、输出结果的格式是什 么等 。 (3)协助用户明确对新系统的各种要求,包括信息 要求、处理要求、完全性与完整性要求 。 (4)确定新系统的边界:人机完成的功能分解 。 贾长云 () 12 数据库原理及应用 6.2.2 需求分析 6、常用调查方法 跟班作业:通过亲身参加业务工作了解业务 活动的情况。 开调查会:通过与用户座谈来了解业务活动 情况及用户需求。 请专人介绍。 询问:对某些调查中的问题,可以找专人询 问。 设计调查表请用户填写。 查阅记录:查阅与原系统有关的数据记录 贾长云 () 13 数据库原理及应用 6.2.2 需求分析 7、分析和表达用户需求 SA (Structured Analysis) 方法 :自顶向下 从最上层系统组织机构入手,采用逐层分解 的方式分析系统,并用数据流图和数据字典 描述系统。 SA方法的具体步骤 根据调查分析,得到如下所示的系统高层抽象图 数据流 数据流 数据存储 信息要求 数据 来源 处理 数据 输出 处理要求 贾长云 () 14 数据库原理及应用 6.2.2 需求分析 分解处理功能和数据:逐步分解形成若干层 次的数据流图,数据流图表达了数据和处理 过程的关系;数据用数据字典来描述。 用户评审并认可 8、需求分析工作 分析用户活动产生,产生 业务流程图 确定系统范围,产生 系统范围图 分析用户活动涉及的数据,产生 数据流图 分析系统数据,产生 数据字典 贾长云 () 15 数据库原理及应用 6.2.3 数据字典 数据字典: 各类数据描述的集合 数据项: 是不可再分的数据单位。对数据项的描述 数据项名 , 数据项含义说明 ,别名 ,数据类型 ,长度 ,取值范围 ,取值含义 ,与其他 数据项的逻辑关系 数据结构: 反映了数据之间的组合关系。数据结构描述 数据 结构名 ,含义说明 ,组成 :数据项或数据结构 数据流: 是数据结构在系统内传输的路径。数据流描述 数据 流名 ,说明 ,数据流来源 ,数据流去向 ,组成 :数据结构 , 平均流量 , 高峰期流量 数据存储: 是数据结构的停留或保存处,也是数据流的来源和 去向之一。数据存储描述 数据存储名 ,说明 ,编号 ,流入的数据 流 ,流出的数据流 ,组成 :数据结构 ,数据量 ,存取方式 处理过程 :描述处理过程的说明性信息。处理过程描述 处理 过程名 ,说明 ,输入 :数据流 ,输出 :数据流 ,处理 :简要说明 贾长云 () 16 数据库原理及应用 6.2.3 数据字典 例:学生学籍管理子系统的数据字典。 数据项以学号为例: 数据项: 学号 含义说明:唯一标识每个学生 别名: 学生编号 类型: 字符型 长度: 8 取值范围: 00000000至 99999999 取值含义:前两位标别该学生所在年级,后六位按顺序编号 数据结构以学生为例 数据结构: 学生 含义说明: 定义了一个学生的有关信息 组成: 学号,姓名,性别,年龄,所在系,年级 贾长云 () 17 数据库原理及应用 6.2.3 数据字典 数据流以体检结果为例 数据流: 体检结果 说明: 学生参加体格检查的最终结果 数据流来源:体检 数据流去向:批准 组成: 平均流量: 高峰期流量: 数据存储以学生登记表为例 数据存储: 学生登记表 说明: 记录学生的基本情况 流入数据流: 流出数据流: 组成: 数据量: 每年 3000张 存取方式: 随机存取 贾长云 () 18 数据库原理及应用 6.2.3 数据字典 处理过程以分配宿舍为例 处理过程:分配宿舍 说明: 为所有新生分配学生宿舍 输入: 学生,宿舍, 输出: 宿舍安排 处理: 在新生报到后,为所有新生分配学生 宿舍。要求同一间宿舍只能安排同一性别的学生 ,同一个学生只能安排在一个宿舍中。安排新生 宿舍其处理时间应不超过 15分钟。 贾长云 () 19 数据库原理及应用 6.3 概念设计 一、概念结构 1、目标 :在数求分析的基础上完成 概念模式 设计 2、为什么需要概念设计 准确反映用户需求 独立于 DBMS 3、概念结构的特点 真实充分反映现实世界及其联系,现实世界的真实模型 易于用户理解 易于修改 易于转化为逻辑模式 贾长云 () 20 数据库原理及应用 6.3 概念设计 二、概念设计的主要步骤与方法 局部概念模式 针对每个用户 (类 )的需求,进行数据抽象 常用方法是聚集与概括 局部概念模式综合成全局概念模式 局部模式的综合 调整、修改与协调 评审 用户评审 DBA评审 常用方法: ER方法。 贾长云 () 21 数据库原理及应用 图 5.2 数据库的各级模式 应用 1 应用 3 应用 2 概念模式 概念要求 概念要求 概念要求 应用 1 应用 3 应用 2 逻辑模式 内模式 外模式 3 外模式 2 外模式 1 综合 转换 映像 映像 贾长云 () 22 数据库原理及应用 三、数据抽象 数据抽象:抽象是从实际事物中抽取所关心的共同 特性,忽略非本质的细节,并把这些特性用各种概 念精确地加以描述。一般有三种常用抽象: 分类: 具有某些共同的特性和行为的对象,“ is member of” ,在 E-R模型中,实体型就是这种抽象。 聚集: 定义某一类型的组成成分。它抽象了对象内部类 型和成分之间“ is part of”的语义。 概括: 定义类型之间的一种子集联系。它抽象了类型之 间的“ is subset of”的语义。概括具有继承性:子类继 承超类上定义的所有抽象。 E-R模型中用双竖边的矩形 框表示子类,用直线加小圆圈表示超类 -子类的联系。 6.3 概念设计 贾长云 () 23 数据库原理及应用 6.3.4 局部 ER模型 一、 ER模型 实体联系模型 (1976) ER模型的基本元素 实体:可以区别的客观事物 需求描述中出现的主要名词 实体 联系 属性 ER模型图例 联系:实体之间存在的关系 需求描述中的动词 一个实体可能涉及多个联系 属性:实体中的某一特性 实体标识符,只有一个 值域:属性的取值范围 联系的属性:描述联系的特征 贾长云 () 24 数据库原理及应用 实例:老师 学生 老 师 学 生 教 m n 学号 姓名 专业 班级 职称 性别 姓名 职号 贾长云 () 25 数据库原理及应用 二、属性的分类 1、基本属性和复合属 性(可否再分) 图 5.4 地址属性的层次结构 邮政编码 省(市) 名 地 址 区 名 街 道 家庭地址 门牌号码 图 5.5 多值属性的表示 零件编码 零 件 零件名 供应商 规格 进货价格 销售价格价 格 2、单值属性和多值属 性(对一个实体对象是 否只能取一个值) 多值属性用双框表示 多值属性可以转化 贾长云 () 26 数据库原理及应用 二、 属性的分类 多值属性的处理 将原来的多值属性 用几个新的单值属 性来表示。 将原来的多值属性 用一个新的实体类 型表示 联系类型: 1: N 弱实体:依赖于原 实体而存在 表示方法:双线框 图 5.6 多值属性的变换 ( 1) 零件编码 零 件 零件名 供应商 规格 进货价格 经销价格 代销价格 批发价格 零售价格 图 5.7 多值属性的变换 ( 2) 零件编码 零 件 零件名 供应商 规格 进货价格 销售性质 售货价格 存在 销售价格 1 N 贾长云 () 27 数据库原理及应用 小结 软件工程生存期与数据库工程生存期 数据库设计全过程 规划 需求分析 概念设计 逻辑设计 物理设计 实现 运行与维护 需求分析 分析的目的 方法 需求分析的目标 贾长云 () 28 数据库原理及应用 下课了。 休息。
展开阅读全文