数据库设计PPT课件.ppt_第1页
数据库设计PPT课件.ppt_第2页
数据库设计PPT课件.ppt_第3页
数据库设计PPT课件.ppt_第4页
数据库设计PPT课件.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

第3章数据库设计 数据库设计概述数据库设计步骤需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行与维护 1 3 1数据库设计概述 一 什么是数据库设计 对于一个给定的应用环境 构造最优的数据库模式 建立数据库及其应用系统 使之能够有效地存储数据 满足各种用户的应用需求 信息要求和处理要求 二 数据库设计的内容 结构 数据 设计和行为 处理 设计 1 结构 数据 设计 设计数据库框架或数据库结构 2 行为 处理 设计 设计应用程序 事务处理等 三 数据库设计的基本步骤 需求分析 概念结构设计 逻辑结构设计 数据库的物理设计 数据库实施 数据库运行与维护 2 1 需求分析 需求收集和分析 得到数据字典描述的数据需求 和数据流图描述的处理需求 2 概念结构设计 通过对用户需求进行综合 归纳与抽象 形成一个独立于具体DBMS的概念模型 可以用E R图或类图表示 3 逻辑结构设计 将概念结构转换为某个DBMS所支持的数据模型 例如关系模型 并对其进行优化 4 数据库物理设计 为逻辑数据模型选取一个最适合应用环境的物理结构 包括存储结构和存取方法 5 数据库实施 运用DBMS提供的数据语言 例如SQL 及其宿主语言 例如C 根据逻辑设计和物理设计的结果建立数据库 编制与调试应用程序 组织数据入库 并进行试运行 6 数据库运行和维护 数据库应用系统经过试运行后即可投入正式运行 在数据库系统运行过程中必须不断地对其进行评价 调整与修改 3 4 3 2需求分析 一 需求分析的目的 为什么要进行需求分析 准确地回答系统 做什么 规定项目必须满足的总目标确定项目的可行性拟定完成项目各个目标的策略制定项目资源成本和进度 用户在数据管理中的信息要求 处理要求 经过需求分析所得的结果 5 1 信息要求 数据需求 用户需要从数据库中获得信息的内容与性质由用户的信息要求可以导出数据要求 即在数据库中需要存储哪些数据 2 处理要求 系统对数据处理功能的要求对处理的响应时间的要求对处理方式的要求 批处理 联机处理 对数据处理的安全性和完整性的约束 6 二 需求分析的方法 实地考察法 开调查会 交谈式 书面填表式 查看和分析业务记录 资料分析法 1 从用户了解需求的方法 2 向用户表达需求的方法 1 表达的方法 自顶向下的结构化分析方法 StructuredAnalysis 简称SA方法 2 表达的手段 用数据流图和数据字典描述系统 步骤 建立当前系统的物理模型 即理解并描述当前系统是怎样进行工作的 对物理模型进行分析 区别本质因素和非本质因素 去掉非本质因素 建立当前系统的逻辑模型 建立目标系统的逻辑模型 7 三 数据流图 DFD DataFlowDiagram 1 定义 以图形的方式表达数据处理系统中信息的变换和传递过程 2 图形符号 8 例 学籍管理系统数据流图 要建学校信息管理系统的数据流图呢 9 采用分层次结构 把一个复杂的问题 分解为一些相互独立的子问题 再绘出分层DFD 3 数据流图的结构 例 学校信息管理系统数据流图 10 四 数据字典 DD DataDictionary 1 定义 是系统中各类数据描述的集合 是进行详细的数据收集和数据分析所获得的主要成果 数据字典在数据库设计中占有很重要的地位 2 包含内容 包括数据项 数据结构 数据流 数据存储和处理过程五个部分 1 数据项 不可分割的数据单位 格式 数据项描述 数据项名 数据项含义说明 别名 数据类型 长度 取值范围 取值含义 与其他数据项的逻辑关系 数据项之间的联系 例 数据项 学号含义说明 唯一标识每个学生别名 学生编号类型 字符型长度 8取值范围 00000000至99999999取值含义 前两位表示该学生所在年级 后六位按顺序编号 11 2 数据结构 反映了数据之间的组合关系 格式 数据结构描述 数据结构名 含义说明 组成 数据项或数据结构 例 系统中的一个核心数据结构 学生 数据结构 学生含义说明 是学籍管理子系统的主体数据结构 定义了一个学生的有关信息组成 学号 姓名 性别 年龄 所在系 年级 12 3 数据流 是数据结构在系统内传输的路径 格式 数据流描述 数据流名 说明 数据流来源 数据流去向 组成 数据结构 平均流量 高峰期流量 例 体检结果 数据流 数据流 体检结果说明 学生参加体格检查的最终结果数据流来源 体检数据流去向 批准组成 平均流量 高峰期流量 13 4 数据存储 数据保存的地方 格式 数据存储描述 数据存储名 说明 编号 输入的数据流 输出的数据流 组成 数据结构 数据量 存取频度 存取方式 例 数据存储 学生登记表 数据存储 学生登记表说明 记录学生的基本情况流入数据流 流出数据流 组成 数据量 每年3000张存取方式 随机存取 14 5 处理过程 具体处理逻辑一般用判定表和判定树表示 格式 处理过程描述 处理过程名 说明 输入 数据流 输出 数据流 处理 简要说明 例 处理过程 分配宿舍 处理过程 分配宿舍说明 为所有新生分配学生宿舍输入 学生 宿舍输出 宿舍安排处理 新生报到后 为所有新生分配学生宿舍 要求同一间宿舍只能安排同一性别的学生 同一个学生只能安排在一个宿舍中 每个学生的居住面积不小于3平方米 安排新生宿舍其处理时间应不超过15分钟 15 五 需求分析的成果 得到系统需求说明书 内容 概述开发系统的意义 目的 背景及技术术语 现行系统的概况 业务流程 范围 存在的问题等 需求说明 功能描述 信息描述 DFD DD DS IPO 接口等 性能描述 运行环境 系统限制 用户系统描述 系统功能和性能的描述 使用系统的主要步骤和方法 系统用户的责任等 3 3数据库的概念设计 一 什么是概念设计 定义 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计 16 数据流图 E R图 17 1 概念模型 不依赖于具体的DBMS 的特点 1 有丰富的语义表达能力 2 易于交流和理解 3 易于变动 4 易于向各种数据模型转换 2 概念结构的设计方法 1 自顶向下 2 自底向上 3 自内向外 4 混合策略 18 19 二 数据抽象 1 定义 找出现实世界中事物的本质特征 忽略无关细节 将事物的特征精确地描述成各种概念模型 2 数据抽象方法 1 分类 classfication 定义某一类概念作为现实世界中一组对象的概念模型这些对象具有某些共同的特性和行为它抽象了对象值和型之间的 ismemberof 的语义 20 2 聚集 aggregation 定义某一类型的组成成分它抽象了对象内部类型和成分之间 ispartof 的语义 3 概括 Generalization 定义类型之间的一种子集联系它抽象了类型之间的 issubsetof 的语义 3 数据抽象的目的 对需求分析阶段收集到的数据进行分类 组织 形成实体实体的属性 标识实体的码确定实体之间的联系类型 1 1 1 n m n 21 三 设计E R图 具体思路 选择中层DFD作为出发点 设计其E R图 分E R图 对各分E R图按一定原则集成 22 1 分E R图设计过程 步骤 1 确定实体和属性区分实体和属性的原则 属性不需要再进一步描述 属性不能与其他实体具有联系 根据语义分析依赖关系 确定候选码及主码 2 确定联系类型联系类型 1 n 1 1 m n注意的问题 不要丢掉联系的属性 尽量取消冗余的联系给联系命名 选择反映联系语义的动词 3 画出局部E R图 23 例 学籍管理局部应用的分E R图 24 1 实体 学生 宿舍 档案 班级 班主任2 实体之间的联系 宿舍与学生 一个学生只能住在一个宿舍中 而一个宿舍可以安排多个学生 所以是一对多 1 n 的关系 班级与学生 一个学生只能属于一个班级 但一个班级常常有多个学生 所以是一对多 1 n 的关系 班主任与学生 一个学生只能对应一个班主任 而班主任一般要教多名学生 所以是一对多 1 n 的关系 班主任与班级 一个班级只能对应一个班主任 而班主任常常管理多个班级 所以是一对多 1 n 的关系 学生与档案 一个学生只能对应一份档案 因此是一对一 1 1 的关系 25 1 实体 学生 宿舍 档案 班级 班主任2 实体之间的联系 宿舍与学生 1 n 班级与学生 1 n 班主任与学生 1 n 班主任与班级 1 n 学生与档案 1 1 性别 26 3 各实体属性 学生 学号 姓名 生日 性别 性别 档案 档案号 姓名 内容 班级 班级号 班长 团支书 人数 是否为优秀班级 班主任 教师号 所在系号 姓名 性别 电话 宿舍 宿舍号 宿舍长 位置 人数 是否为优秀宿舍 例 课程管理局部应用的分E R图 学生 学号 所在系号 姓名 性别 生日 年级 教师 教师号 所在系号 姓名 性别 电话 是否为班主任 课程 课程号 名称 学分 性质 教材 参考书 上课教室 教材 书号 名称 价格 出版社 存货数量 教室 教室号 地址 面积 容量 是否为多媒体 27 2 分E R图的集成 步骤 1 先进行合并 消除各个分E R图之间的冲突 2 再进行修改和重构 消除不需要的冗余 生成基本E R图 方法 1 一次集成法 2 分步集成法 28 1 合并分E R图 消除冲突 生成初步E R图 冲突的分类 属性冲突 命名冲突和结构冲突 属性冲突 分类 属性域冲突 即属性的类型 取值集合 取值范围不同 属性取值单位冲突 解决方法 通过讨论或按照国家标准 行业标准等统一起来 命名冲突 分类 同名多义 即不同含义的对象在不同的视图中名字相同 同义多名 即相同含义的对象在不同的视图中名字不同 解决方法 通过讨论或按照国家标准 行业标准等统一起来 29 结构冲突 分类 身份冲突 即同一对象在不同的应用中具有不同的抽象 解决办法是将同一对象统一成相同的抽象 要么将实体转换成属性 要么将属性转换成实体 组成冲突 即同一实体在不同的分E R图中属性个数 组成 顺序不同 解决方法是令该实体取各个分E R图中属性的并集 再适当调整属性的顺序 关系冲突 即实体之间联系在不同的局部视图中呈现出不同的类型 解决方法是根据应用的语义对实体的联系类型进行综合或调整 视图集成的目的 消除上述各种冲突 形成一个能够被整个系统的所有用户共同理解和接受的统一的数据模型 得到系统的初步E R图 30 存在冲突 1 班主任与教师 2 班主任与学生的指导联系和教师与学生的教学联系 3 性别的不同抽象 实体和属性 4 学生的属性组成 顺序不同 31 32 2 修改与重构 消除不必要冗余 生成基本E R图 冗余 冗余数据 冗余联系 冗余数据 冗余数据指的是可以由其他数据得到的数据 冗余联系 冗余联系指的是可以从其他联系导出的联系 33 1 整体概念结构内部必须具有一致性 即不能表达相互矛盾 2 整体概念结构能够准确地反映原来的每个视图结构 包括实体 属性及实体之间的联系 3 整体概念结构能够满足需求分析阶段所确定的所有要求 34 3 4数据库的逻辑结构设计 一 逻辑结构设计的目标 将概念结构进一步转化为相应的数据模型 以便用具体的DBMS实现用户需求 二 步骤 35 三 E R图向数据模型 关系 转换的实质 将E R图中反映的实体 属性和实体之间的联系转化为关系模式 36 1 学生 学号 姓名 性别 出生日期 所在系 年级 班级号 平均成绩 档案号 2 性别 性别 宿舍楼 3 宿舍 宿舍编号 地址 性别 人数 4 班级 班级号 学生人数 5 教师 职工号 姓名 性别 职称 班级号 是否为优秀班主任 6 教学 职工号 学号 7 课程 课程号 课程名 学分 教室号 8 选修 学号 课程号 成绩 9 教科书 书号 书名 价钱 10 教室 教室编号 地址 容量 11 讲授 课程号 教师号 书号 12 档案材料 档案号 37 四 E R图向数据模型 关系 转换的原则 一个实体型转换为一个关系模式 关系的属性 实体型的属性关系的码 实体型的码例 学生实体可以转换为如下关系模式 学生 学号 姓名 出生日期 所在系 年级 平均成绩 性别 宿舍 班级 档案材料 教师 课程 教室 教科书都分别转换为一个关系模式 一个m n联系转换为一个关系模式 关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 各实体码的组合例 选修 联系是一个m n联系 可以将它转换为如下关系模式 其中学号与课程号为关系的组合码 选修 学号 课程号 成绩 38 一个1 n联系可以转换为一个独立的关系模式 也可以与n端对应的关系模式合并 1 转换为一个独立的关系模式关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 n端实体的码例 班级 组成 学生 组成 联系为1 n联系 组成 学号 班级号 2 与n端对应的关系模式合并合并后关系的属性 在n端关系中加入1端关系的码和联系本身的属性合并后关系的码 不变例 班级 组成 学生 组成 联系为1 n联系将其学生关系模式合并 学生 学号 姓名 出生日期 所在系 年级 班级号 平均成绩 39 一个1 1联系可以转换为一个独立的关系模式 也可以与任意一端对应的关系模式合并 1 转换为一个独立的关系模式关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的候选码 每个实体的码均是该关系的候选码 2 与某一端对应的关系模式合并合并后关系的属性 加入对应关系的码和联系本身的属性合并后关系的码 不变 40 例 班级 管理 教师 管理 联系为1 1联系 可以有三种转换方法 1 转换为一个独立的关系模式 管理 职工号 班级号 或管理 职工号 班级号 2 管理 联系与班级关系模式合并 则只需在班级关系中加入教师关系的码 即职工号 班级 班级号 学生人数 职工号 3 管理 联系与教师关系模式合并 则只需在教师关系中加入班级关系的码 即班级号 教师 职工号 姓名 性别 职称 班级号 是否为班主任 41 三个或三个以上实体间的一个多元联系转换为一个关系模式 关系的属性 与该多元联系相连的各实体的码以及联系本身的属性关系的码 各实体码的组合例 讲授 联系是一个三元联系 可以将它转换为如下关系模式 其中课程号 职工号和书号为关系的组合码 讲授 课程号 职工号 书号 42 同一实体集的实体间的联系 即自联系 也可按上述1 1 1 n和m n三种情况分别处理 例 如果教师实体集内部存在领导与被领导的1 n自联系 我们可以将该联系与教师实体合并 这时主码职工号将多次出现 但作用不同 可用不同的属性名加以区分 教师 职工号 姓名 性别 职称 系主任 43 具有相同码的关系模式可合并 目的 减少系统中的关系个数 合并方法 将其中一个关系模式的全部属性加入到另一个关系模式中 然后去掉其中的同义属性 可能同名也可能不同名 并适当调整属性的次序 例 拥有 关系模式 性别 1 n 学生拥有 学号 性别 与学生关系模式 学生 学号 姓名 出生日期 所在系 年级 班级号 平均成绩 都以学号为码 可以将它们合并为一个关系模式 学生 学号 姓名 性别 出生日期 所在系 年级 班级号 平均成绩 拥有 44 五 数据模型的优化 1 优化的目的 1 实体类型个数尽可能少 2 实体类型所含属性尽可能少 3 实体类型间联系无冗余 2 优化的方法 1 确定数据依赖 2 对于各个关系模式之间的数据依赖进行极小化处理 消除冗余联系 3 按照

温馨提示

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

评论

0/150

提交评论