数据库第7章数据库设计.ppt_第1页
数据库第7章数据库设计.ppt_第2页
数据库第7章数据库设计.ppt_第3页
数据库第7章数据库设计.ppt_第4页
数据库第7章数据库设计.ppt_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 3 26 兰彬制作 1 第七章数据库设计 7 1数据库设计概述7 2需求分析7 3概念结构设计7 4逻辑结构设计7 5数据库的物理设计7 6数据库实施7 7数据库运行与维护 2020 3 26 兰彬制作 2 7 1数据库设计概述 7 1 1数据库和信息系统7 1 2数据库设计的特点7 1 3数据库设计方法简述7 1 4数据库设计的基本步骤 2020 3 26 兰彬制作 3 7 1数据库设计概述 数据库设计是指对于一个给定的应用环境 构造最优的数据库模式 建立数据库及其应用系统 使之能够有效地存储数据 满足各种用户的应用需求 信息要求和处理要求 数据库设计通常在一个通用的DBMS支持下进行 在数据库领域内 常常把使用数据库的各类系统统称为数据库应用系统 2020 3 26 兰彬制作 4 7 1 1数据库和信息系统 信息系统 是提供信息 辅助人们对环境进行控制和进行决策的系统 数据库是信息系统的核心和基础数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在数据库设计是信息系统开发和建设的重要组成部分 2020 3 26 兰彬制作 5 数据库设计要具备的技术和知识 计算机科学的基础知识和程序设计的方法和技巧数据库的基本知识和数据库设计技术软件工程的原理和方法应用领域的知识 2020 3 26 兰彬制作 6 7 1 2数据库设计的特点 数据库建设是硬件 软件和干件的结合硬件 计算机硬件 存储数据的设备软件 OS DBMS 应用程序干件 设计 管理技术 可视化界面数据库设计应该与应用系统设计相结合结构 数据 设计 设计数据库框架或数据库结构行为 处理 设计 设计应用程序 事务处理等 2020 3 26 兰彬制作 7 7 1 3数据库设计方法简述 手工试凑法规范设计法 过程迭代和逐步求精计算机辅助设计ORACLEDesign2000 新奥尔良方法 需求分析 概念设计 逻辑设计 物理设计 S B Yao方法 I R Palmer方法 2020 3 26 兰彬制作 8 7 1 4数据库设计的基本步骤 一 数据库设计的准备工作 选定参加设计的人员 1 数据库分析设计人员2 用户和数据库管理员3 程序员 2020 3 26 兰彬制作 9 数据库设计的基本步骤 续 二 数据库设计的6个基本步骤 1 需求分析阶段2 概念结构设计阶段3 逻辑结构设计阶段4 数据库物理设计阶段5 数据库实施阶段6 数据库运行和维护阶段 2020 3 26 兰彬制作 10 第七章数据库设计 7 1数据库设计概述7 2需求分析7 3概念结构设计7 4逻辑结构设计7 5数据库的物理设计7 6数据库实施7 7数据库运行与维护 2020 3 26 兰彬制作 11 7 2需求分析 7 2 1需求分析的任务7 2 2需求分析的方法7 2 3数据字典 2020 3 26 兰彬制作 12 一 需求分析的任务 对数据库系统的使用情况进行全面的 详细的调查 充分了解原系统 手工系统或计算机系统 的工作概况 明确用户的各种需求 并把这些需求写成用户和数据库设计者都能够接受的文档 作为数据库设计的依据 在此基础上确定新系统的功能 新系统必须充分考虑今后可能的扩充和改变 不能仅仅按当前应用需求来设计数据库 2020 3 26 兰彬制作 13 二 需求分析的重点 需求分析的重点了解用户对以下方面的要求 信息要求 在数据库中需要存储哪些数据处理要求 系统需要具备哪些功能 对处理响应时间的要求 对处理方式的要求安全性与完整性要求 2020 3 26 兰彬制作 14 三 需求分析的难点 确定用户最终需求的难点用户缺少计算机知识 开始时无法确定计算机究竟能为自己做什么 不能做什么 因此无法一下子准确地表达自己的需求 他们所提出的需求往往不断地变化 设计人员缺少用户的专业知识 不易理解用户的真正需求 甚至误解用户的需求 新的硬件 软件技术的出现也会使用户需求发生变化 2020 3 26 兰彬制作 15 需求分析的难点 续 解决方法设计人员必须采用有效的方法 与用户不断深入地进行交流 才能逐步了解并确定用户的实际需求 2020 3 26 兰彬制作 16 7 2 2需求分析的方法 以学生成绩管理系统为例 需要进行如下的需求分析 了解该学校有哪些学院 各学院有哪些年级和班级 各班有多少学生 学生都选修了哪些课程 课程的学分等等 了解成绩管理的情况 确定哪些功能由计算机完成 哪些功能由人工来完成 了解了用户需求后 还要进一步分析和表达出用户需求 2020 3 26 兰彬制作 17 7 2 2需求分析的方法 分析和表达用户的需求的常用方法 结构化分析方法SA基本思想 自顶向下 逐步细化从最上层的系统组织机构入手 采用逐层分解的方式分析系统 并用数据流图和数据字典描述系统 2020 3 26 兰彬制作 18 7 2 2需求分析的方法 实例 要开发一个学生成绩管理系统1 经过可行性分析和初步需求调查得出 该成绩管理系统主要有成绩录入模块 成绩查询模块 成绩修改模块等组成 2 进一步细化各个模块对于成绩录入模块 要考虑到 由谁来录入成绩 成绩是从哪里得到的 录入后成绩存放到哪里等 对于成绩查询模块 要考虑 谁来查询成绩 给查询者分配哪些权限 读 写权限 查询时使用什么算法 顺序查找 折半查找 2020 3 26 兰彬制作 19 7 2 3数据字典 一 数据字典的用途数据字典是各类数据描述的集合数据字典是进行详细的数据收集和数据分析所获得的主要结果数据字典在数据库设计中占有很重要的地位 2020 3 26 兰彬制作 20 二 数据字典的内容 数据字典的内容数据项 数据的最小组成单位 不可再分数据结构 若干数据项组成一个数据结构数据流数据存储处理过程 2020 3 26 兰彬制作 21 数据项 数据项是不可再分的数据单位对数据项的描述数据项描述 数据项名 数据项含义说明 别名 数据类型 长度 取值范围 取值含义 与其他数据项的逻辑关系 数据项之间的联系 取值范围 与其他数据项的逻辑关系定义了数据的完整性约束条件 2020 3 26 兰彬制作 22 数据项举例 例 学生学籍管理系统的数据字典 数据项 以 学号 为例 数据项名 学号含义说明 唯一标识每个学生别名 学生编号类型 字符型长度 8个字符取值范围 00000000至99999999取值含义 前两位标别该学生所在年级 后七位按顺序编号与其他数据项的逻辑关系 2020 3 26 兰彬制作 23 数据结构 数据结构反映了数据之间的组合关系 一个数据结构可以由若干个数据项组成 也可以由若干个数据结构组成 或由若干个数据项和数据结构混合组成 对数据结构的描述数据结构描述 数据结构名 含义说明 组成 数据项或数据结构 2020 3 26 兰彬制作 24 数据结构举例 数据结构以 学生 为例 学生 是该系统中的一个核心数据结构 学生 学号 姓名 性别 年龄 所在系 年级 数据结构名 学生含义说明 是学籍管理系统的主体数据结构 定义了一个学生的有关信息组成 学号 姓名 性别 年龄 所在系 年级 2020 3 26 兰彬制作 25 数据流 数据流是数据结构在系统内传输的路径 对数据流的描述数据流描述 数据流名 说明 数据流来源 数据流去向 组成 数据结构 平均流量 高峰期流量 数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间 每天 每周 每月等 里的传输次数高峰期流量则是指在高峰时期的数据流量 2020 3 26 兰彬制作 26 数据流举例 数据流 体检结果 可如下描述 数据流名 体检结果说明 学生参加体格检查的最终结果数据流来源 体检数据流去向 批准 批准该学生能否入学 组成 平均流量 高峰期流量 2020 3 26 兰彬制作 27 数据存储 数据存储是保存数据的地方 也是数据流的来源和去向之一 它可以是存放数据的手工文档或计算机文件 对数据存储的描述数据存储描述 数据存储名 说明 编号 流入的数据流 流出的数据流 组成 数据结构 数据量 存取频度 存取方式 2020 3 26 兰彬制作 28 数据存储 流入的数据流 指出数据来源流出的数据流 指出数据去向数据量 存取频度 每次存取多少数据 每天 或每小时 每周等 存取几次等信息存取方法 批处理 联机处理 检索 更新 顺序检索 随机检索 2020 3 26 兰彬制作 29 数据存储举例 数据存储 学生登记表 可如下描述 数据存储名 学生登记表说明 记录学生的基本情况流入数据流 流出数据流 组成 数据量 每年3000张存取方式 随机存取 2020 3 26 兰彬制作 30 处理过程 处理过程的具体处理逻辑一般用判定表或判定树来描述 数据字典中只需要描述处理过程的说明性信息处理过程说明性信息的描述处理过程描述 处理过程名 说明 输入 数据流 输出 数据流 处理 简要说明 2020 3 26 兰彬制作 31 处理过程举例 处理过程 分配宿舍 可如下描述 处理过程名 分配宿舍说明 为所有新生分配学生宿舍输入 学生 宿舍输出 宿舍安排处理说明 在新生报到后 为所有新生分配学生宿舍 要求同一间宿舍只能安排同一性别的学生 同一个学生只能安排在一个宿舍中 每个学生的居住面积不小于3平方米 安排新生宿舍其处理时间应不超过15分钟 2020 3 26 兰彬制作 32 7 3概念结构设计 7 3 1概念结构设计概述7 3 2概念结构设计的方法与步骤7 3 3数据抽象与局部视图设计7 3 4视图的集成 2020 3 26 兰彬制作 33 7 3 1概念结构 什么是概念结构设计需求分析阶段描述的用户应用需求是现实世界的具体需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构设计是整个数据库设计的关键 它独立于计算机硬件和某一个具体的DBMS描述概念模型的工具 E R模型 2020 3 26 兰彬制作 34 概念结构 续 概念结构设计的特点 1 能真实 充分地反映现实世界 2 易于理解 3 易于修改和扩充 4 易于向各种数据模型转换 2020 3 26 兰彬制作 35 7 3 2概念结构设计的方法 设计概念结构的四类方法自顶向下 首先定义全局概念结构的框架 然后逐步细化自底向上 首先定义各局部应用的概念结构 然后将它们集成起来 得到全局概念结构逐步扩张 首先定义最重要的核心概念结构 然后向外扩充 直至生成总体概念结构混合策略 将自顶向下和自底向上相结合 2020 3 26 兰彬制作 36 概念结构设计的方法 自顶向下策略 2020 3 26 兰彬制作 37 概念结构设计的方法 自底向上策略 2020 3 26 兰彬制作 38 概念结构设计的方法 逐步扩张 2020 3 26 兰彬制作 39 7 3 3数据抽象 1 分类 Classification 2 聚集 Aggregation 3 概括 Generalization 数据 抽象 从实际的人 物 事和概念中抽取所关心的共同特性 忽略非本质的细节 并把这些特性用各种概念精确地加以描述这些概念组成了某种模型概念结构是对现实世界的一种抽象三种常用抽象方法 2020 3 26 兰彬制作 40 7 3 4概念结构设计的步骤 首先设计各个局部E R图然后把各局部E R图综合成一个全局E R图 即视图的集成一次集成 把多个局部E R图一次合并成最终的E R图逐步集成 用累加方式一次集成2个E R图最后对全局E R图进行优化 得到最终的E R图 即概念结构 2020 3 26 兰彬制作 41 概念结构设计的一个实例 例1某大学教学管理数据库系统的概念结构的设计学籍管理子系统课程管理子系统教师管理子系统首先分别设计出这3部分的局部E R图 然后把它们综合成一个全局E R图 最后对全局E R图根据某些原则进行优化 得到最终的E R图 即教学管理数据库系统的概念结构 2020 3 26 兰彬制作 42 概念结构设计的一个实例 例2某企业管理信息系统的概念结构的设计首先确定该系统由物资管理 销售管理 劳动人事管理等子系统组成然后分别确定每一个子系统的功能 并设计出每一个子系统的E R图把所有的局部E R图合并为综合的E R图 并进行优化 得到最终的E R图 即教学管理数据库系统的概念结构 2020 3 26 兰彬制作 43 第七章数据库设计 7 1数据库设计概述7 2需求分析7 3概念结构设计7 4逻辑结构设计7 5数据库的物理设计7 7数据库实施7 7数据库运行与维护7 8小结 2020 3 26 兰彬制作 44 7 4逻辑结构设计 逻辑结构设计的任务将概念结构设计阶段的结果 E R图 转化为与某一个DBMS支持的数据模型相符合的逻辑结构 2020 3 26 兰彬制作 45 7 4逻辑结构设计 逻辑结构设计的步骤 将概念结构转化为一般的关系 网状 层次模型将转化来的关系 网状 层次模型向特定DBMS支持下的数据模型转换对数据模型进行优化 2020 3 26 兰彬制作 46 7 4逻辑结构设计 7 4 1E R图向关系模型的转换7 4 2向特定DBMS规定的模型进行转换7 4 3数据模型的优化7 4 4设计用户子模式 2020 3 26 兰彬制作 47 E R图向关系模型的转换 转换内容E R图由实体 实体的属性和实体之间的联系三个要素组成关系模型的逻辑结构是一组关系模式的集合 表将E R图转换为关系模型 将实体 实体的属性和实体之间的联系转化为相应的关系模式 2020 3 26 兰彬制作 48 E R图向关系模型转换 转换原则 实体型的属性 关系的属性实体型的码 关系的码 学生实体可以转换为如下关系模式 学生 学号 姓名 性别 年龄 所在系 一个实体型转换为一个关系模式 课程实体可以转换为如下关系模式 课程 课程号 课程名 先修课 学分 2020 3 26 兰彬制作 49 E R图向关系模型的转换 一个m n联系转换为一个关系模式 关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 各实体码的组合 例 选课 联系是一个m n联系 可以将它转换为如下关系模式 其中学号与课程号为关系的组合码 选课 学号 课程号 成绩 2020 3 26 兰彬制作 50 E R图向关系模型的转换 一个1 n联系转化为关系模式时有2种方法1 可以转换为一个独立的关系模式 关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 n端实体的码2 可以与n端对应的关系模式合并合并后关系的属性 在n端关系属性中加入1端关系的码和联系本身的属性合并后的码 n端实体的码 2020 3 26 兰彬制作 51 1 N联系转换实例 某大学管理系统中的实体 系 和 教师 之间存在着1 N的联系 其E R图如图 2020 3 26 兰彬制作 52 1 N联系转换实例 系实体 1端 的关系模式 系 系编号 系名 电话 系主任 教师实体 N端 的关系模式 教师 教师编号 姓名 性别 年龄 职称 将聘用 1 N联系 转换为一个独立的关系模式 聘用 教师编号 系编号 聘用日期 将聘用与N端 教师实体 关系模式合并 教师 教师编号 姓名 性别 年龄 职称 系编号 聘用日期 2020 3 26 兰彬制作 53 E R图向关系模型的转换 4 一个1 1联系转化为关系模式时有2种方法1 可以转换为一个独立的关系模式 关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 每个实体的码都是该关系的候选码2 可以与任意一端对应的关系模式合并合并后关系的属性 在合并端关系属性中加入另一端关系的码和联系本身的属性合并后的码 每个实体的码都是该关系的候选码 2020 3 26 兰彬制作 54 1 1联系转换实例 某大学管理系统中的实体 院长 和 学院 之间存在着1 1的联系 其E R图如图 2020 3 26 兰彬制作 55 1 1联系转换实例 学院实体的关系模式 学院 学院编号 学院名 电话 地址 院长实体的关系模式 院长 院长名 性别 年龄 职称 将任职 1 1联系 转化为一个独立的关系模式 任职 学院编号 院长名 任职日期 将任职与学院或院长实体的关系模式合并 学院 学院编号 学院名 电话 地址 院长名 任职日期 院长 院长名 性别 年龄 职称 学院编号 任职日期 2020 3 26 兰彬制作 56 E R图向关系模型的转换 5 将三个或三个以上实体间的一个多元联系转换为一个关系模式 多元联系供应的关系模式 关系的属性 与该多元联系相连的各实体的码以及联系本身的属性关系的码 各实体码的组合 供应 产品号 供应商号 零件号 供应量 2020 3 26 兰彬制作 57 E R图向关系模型的转换 7 具有相同码的关系模式可合并 目的 减少系统中的关系个数 合并方法 将其中一个关系模式的全部属性加入到另一个关系模式中 然后去掉其中的同义属性 可能同名也可能不同名 并适当调整属性的次序 2020 3 26 兰彬制作 58 具有相同码的关系模式合并举例 学生党员关系模式 学生党员 学号 班级号 入党时间 入党地点 学生关系模式 学生 学号 姓名 性别 年龄 所在系 班级号 平均成绩 都以学号为码 可以将它们合并为一个关系模式 学生 学号 姓名 性别 年龄 所在系 班级号 平均成绩 入党时间 入党地点 2020 3 26 兰彬制作 59 7 4逻辑结构设计 7 4 1E R图向关系模型的转换7 4 2向特定DBMS规定的模型进行转换7 4 3数据模型的优化7 4 4设计用户子模式 2020 3 26 兰彬制作 60 7 4 3数据模型的优化 对数据模型的优化是指 适当地修改 调整数据模型的结构 以进一步提高数据库应用系统的性能 关系数据模型的优化通常以规范化理论为指导 1NF 2NF 3NF BCNF 4NF 5NF 2020 3 26 兰彬制作 61 对关系数据模型优化的方法 确定数据依赖 例如 课程号 课程名课程号 学分 课程 课程号 课程名 学分 关系模式中的数据依赖如下 选修 学号 课程号 成绩 关系模式中的数据依赖如下 学号 课程号 成绩 2020 3 26 兰彬制作 62 对关系数据模型优化的方法 2 对于各个关系模式之间的数据依赖进行极小化处理 消除冗余的联系 3 按照数据依赖的理论对关系模式逐一进行分析 考查是否存在部分函数依赖 传递函数依赖 多值依赖等 确定各关系模式分别属于第几范式 4 按照需求分析阶段得到的各种需求 分析这些模式是否适合于要求的应用环境 确定是否要对这些模式进行合并或分解 以提高数据操作的效率和存储空间的利用率 2020 3 26 兰彬制作 63 7 4逻辑结构设计 7 4 1E R图向关系模型的转换7 4 2向特定DBMS规定的模型进行转换7 4 3数据模型的优化7 4 4设计用户子模式 2020 3 26 兰彬制作 64 7 4 4设计用户外模式 定义用户外模式时 主要考虑用户的使用习惯与方便 包括三个方面 使用更符合用户习惯的别名可以对不同级别的用户定义不同的视图 View 从而保证数据库的安全性 简化用户对系统的使用 2020 3 26 兰彬制作 65 逻辑结构设计小结 逻辑结构设计的任务逻辑结构设计的步骤E R图向关系模型的转化原则关系数据模型优化的方法 2020 3 26 兰彬制作 66 第七章数据库设计 7 1数据库设计概述7 2需求分析7 3概念结构设计7 4逻辑结构设计7 5数据库的物理设计7 6数据库实施和维护 2020 3 26 兰彬制作 67 7 5数据库的物理设计 数据库的物理结构 指数据库中数据的存储格式 存储结构 存取方法 数据库的物理设计根据实际应用环境的要求 为数据库中的数据选择一个最合适的物理结构 2020 3 26 兰彬制作 68 7 5数据库的物理设计 数据库物理设计的步骤确定数据库的物理结构 即数据的存储结构和存取方法对物理结构进行评价 评价的重点是时间和空间效率如果评价结果满足原设计要求则可进入到物理实施阶段 否则 就需要重新设计或修改物理结构 有时甚至要返回逻辑设计阶段修改数据模型 2020 3 26 兰彬制作 69 逻辑模型 2020 3 26 兰彬制作 70 第七章数据库设计 7 1数据库设计概述7 2需求分析7 3概念结构设计7 4逻辑结构设计7 5数据库的物理设计7 5数据库的运行7 7数据库实施和维护 2020 3 26 兰彬制作 71 7 7数据库的实施和维护 数据库实施的工作内容用DDL定义数据库结构 表结构组织数据入库编制与调试应用程序数据库试运行 2020 3 26 兰彬制作 72 一 定义数据库结构 确定了数据库的逻辑结构与物理结构后 就可以用所选用的DBMS提供的数据定义语言 DDL 来严格描述数据库结构 可以用SQL语句如下定义表结构 CREATETABLE学生 学号CHAR 8 姓名CHAR 20 性别CHAR 2 CREATETABLE课程 课程号int 课程名CHAR 20 学分int 2020 3 26 兰彬制作 73 二 组织数据入库 数据库结构建立好后 就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论