第5章 数据库设计及其应用系统开发.ppt_第1页
第5章 数据库设计及其应用系统开发.ppt_第2页
第5章 数据库设计及其应用系统开发.ppt_第3页
第5章 数据库设计及其应用系统开发.ppt_第4页
第5章 数据库设计及其应用系统开发.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第5章数据库设计及其应用系统开发 5 1关系模式规范化5 2数据库系统设计5 3需求分析5 4概念结构设计5 5逻辑结构设计5 6物理设计5 7数据库实施和维护 5 1关系模式规范化 5 1 1规范化问题的提出 例 数据冗余 插入异常 更新异常 删除异常 5 1关系模式规范化 5 1 1规范化问题的提出 解决的方法 关系模式分解 异常产生的原因是关系模式中的属性之间存在过多的数据依赖关系 与现实世界不符合 设R U 是属性集U上的关系模式 X Y是U的子集 若对于R U 的任意一个可能的关系r r中不可能存在两个元组在X上的属性值相等 而Y上的属性值不等 则称X函数决定Y 或Y函数依赖于X 记作X Y 5 1关系模式规范化 5 1 2函数依赖 5 1关系模式规范化 5 1 2函数依赖 例 关系模式 R SNO SNAME SEX AGE DNO DNAME DADDRESS CNO GRADE 则在关系模式R的任何关系r中存在函数依赖关系 SNO SNAME SNO SEX SNO AGE SNO DNO DNO DNAME DNO DADDRESS SNO CNO GRADE 在关系模式R U 中 5 1关系模式规范化 5 1 2函数依赖 平凡函数依赖与非平凡函数依赖 如果X Y 并且 则称X Y是非平凡函数依赖 如果X Y 并且 则称X Y是平凡函数依赖 SNO SNAME SNO SEX SNO AGE SNO DNO DNO DNAME DNO DADDRESS SNO CNO GRADE 非平凡函数依赖 SNO SNAME SNAME 平凡函数依赖 在关系模式R U 中 5 1关系模式规范化 5 1 2函数依赖 完全函数依赖与部分函数依赖 如果X Y 并且对于X的任意一个真子集X1 X1 Y均不成立 则称Y完全函数依赖于X 如果X Y 并且至少存在X的真子集X1 使X1 Y成立 则称Y部分函数依赖于X SNO SNAME SNO SEX SNO AGE SNO DNO DNO DNAME DNO DADDRESS SNO CNO GRADE 完全函数依赖 SNO CNO SNAME 部分函数依赖 5 1关系模式规范化 5 1 2函数依赖 传递函数依赖 在关系模式R U 中 SNO DNO DNAME 可得SNO DNAME 该依赖为传递函数依赖 根据关系模式满足的不同性质和规范化的程度划分 可以划分成不同范式 5 1关系模式规范化 5 1 3规范化 范式的种类 第一范式 1NF 第二范式 2NF 第三范式 3NF BC范式 BCNF 第四范式 4NF 第五范式 5NF 一个低一级范式的关系模式 通过模式分解可以转换为若干个高一级范式的关系模式的集合 这种过程就叫关系模式规范化 1 1NF的定义 2NF的定义 如果关系模式R的每个属性都是不可再分的 则称R属于第一范式 记作R 1NF 若R 1NF 且每一个非主属性完全依赖于码 则R 2NF 5 1关系模式规范化 5 1 3规范化 范式 关系模式为 R SNO SNAME SEX AGE DNO DNAME DADDRESS CNO GRADE 例 若关系模式R 2NF 若每一个非主属性都不传递依赖于某个候选码 则关系R属于第三范式 记为 R 3NF 2 3NF的定义 5 1关系模式规范化 5 1 3规范化 范式 R1 SNO SNAME SEX AGE DNO DNAME DADDRESS 例 设有一个关系模式R 1NF 若R的任一非平凡函数依赖X A满足以下条件 决定因素X必是超码 则称R属于BCNF 记为R BCNF 满足BCNF必满足如下条件 所有非主属性对每一个码都是完全函数依赖 所有的主属性对每一个不包含它的码 也是完全函数依赖 没有任何属性完全函数依赖于非码的任何一组属性 3 BCNF的定义 5 1关系模式规范化 5 1 3规范化 范式 无损分解和保持依赖是对关系模式进行分解的两个基本原则 模式R的一个分解 R1 R2 Rn 若R与R1 R2 Rn自然连接的结果相等 则称关系模式R的这个分解 是无损分解 5 1关系模式规范化 5 1 3规范化 模式分解 假设一个关系模式将R U F 其中U为R的属性的集合 F为R的函数依赖集合 分解为R1 U1 F1 和R2 U2 F2 且U U1 U2 F1和F2是F在R1和R2上的投影 则判定该分解为无损分解的规则或充分必要条件是 U1 U2 U1 U2或U1 U2 U2 U1 以上分解中 如果 F1 F2 逻辑蕴涵F 则该分解为保持依赖分解 5 1关系模式规范化 5 1 3规范化 模式分解 将关系模式S SNO SNAME AGE DNO DNAME 分解为 S1 SNO SNAME AGE DNO S2 DNO DNAME 5 1关系模式规范化 5 1 3规范化 模式分解 例 试判断其无损分解性和保持依赖性 无损分解能够保证不丢失信息 保持函数依赖可以减轻或解决各种异常情况 无损分解和保持函数依赖是两个互相独立的标准 无损分解不一定能够保持函数依赖 同样 保持函数依赖也不一定具有无损分解性 5 1关系模式规范化 5 1 3规范化 模式分解 数据库设计是指对于一个给定的应用环境 进行数据库的概念设计 逻辑设计和物理设计 数据库系统设计包括数据库的结构设计和数据库的行为设计 5 2数据库系统设计 5 2 1数据库系统设计概述 5 2数据库系统设计 5 2 2数据库设计过程 数据库设计分6个阶段需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护 详细调查现实世界要处理的对象 充分了解原系统 手工系统或计算机系统 明确用户的各种需求 确定新系统的功能 充分考虑今后可能的扩充和改变 5 3需求分析 5 3 1需求分析的任务 调查的重点是 数据 和 处理 获得用户对数据库的要求 包括 信息要求处理要求 响应时间安全性与完整性要求 5 3需求分析 5 3 2需求分析的重点 调查组织机构情况 调查各部门的业务活动情况 在熟悉业务活动的基础上 协助用户明确对新系统的各种要求 确定新系统的边界 5 3需求分析 5 3 3系统需求的的调查步骤 结构化分析方法 StructuredAnalysis 简称SA方法 从最上层的系统组织机构入手采用自顶向下 逐层分解的方式分析系统 5 3需求分析 5 3 4需求分析的方法 1 首先把任何一个系统都抽象为如下的数据流图 5 3需求分析 5 3 4需求分析的方法 2 分解处理功能和数据 将处理功能的具体内容分解为若干子功能 处理功能逐步分解同时 逐级分解所用数据 形成若干层次的数据流图 处理逻辑用判定表或判定树来描述 数据用数据字典来描述 3 将分析结果再次提交给用户 征得用户的认可 5 3需求分析 5 3 4需求分析的方法 数据字典是各类数据描述的集合 数据字典在需求分析阶段建立 在数据库设计过程中不断修改 充实 完善 5 3需求分析 5 3 5数据字典及其表示 数据项是不可再分的数据单位 数据结构反映了数据之间的组合关系 数据流是数据结构在系统内传输的路径 数据存储是数据及其结构停留或保存的地方 也是数据流的来源和去向之一 数据存储可以是手工文档 手工凭单或计算机文档 处理过程用判定表或判定树来描述 整个数据库设计的关键 通过对用户需求进行综合 归纳与抽象 形成一个独立于具体DBMS的概念模型 5 4概念结构设计 5 4 1概念结构设计的任务 自顶向下先定义全局概念结构的框架 再逐步细化 自底向上先定义局部概念结构 再集成为全局概念结构 逐步扩张先定义核心概念结构 再逐步扩充至总体概念结构 混合策略将自顶向下和自底向上相结合 5 4概念结构设计 5 4 2概念结构设计的方法 1 确定实体 依据需求分析的结果 确定系统中存在的实体 学生 课程 5 4概念结构设计 5 4 3概念结构设计的步骤 自底向上 2 确定实体的属性及码 属性的确定可参照以下原则 属性不再具有需要描述的性质属性必须是不可分的数据项属性不能包含其它属性属性不能与其它实体具有联系 5 4概念结构设计 5 4 3概念结构设计的步骤 自底向上 2 确定实体的属性及码 学生 学号 姓名 性别 年龄 专业 出生日期 联系方式 5 4概念结构设计 5 4 3概念结构设计的步骤 自底向上 课程 课程号 课程名称 学分 2 确定实体的属性及码 5 4概念结构设计 5 4 3概念结构设计的步骤 自底向上 依据需求分析结果 确定实体间的联系类型 3 确定实体间联系及联系的属性 5 4概念结构设计 5 4 3概念结构设计的步骤 自底向上 合并后的全局E R图要反映用户需求 还应满足 4 局部E R图合并 实体个数尽量少实体属性尽量少实体间联系无冗余 因此在集成时应消除冗余的实体 属性和联系 注意解决各分E R图之间的冲突 命名冲突 属性冲突 结构冲突 并且根据情况修改重构E R图 5 4概念结构设计 5 4 3概念结构设计的步骤 自底向上 4 局部E R图合并 5 4概念结构设计 5 4 3概念结构设计的步骤 自底向上 5 全局E R图验证与优化 1 全局E R模型具有一致性 不存在相互矛盾 2 全局E R模型能够明确地反映出实体 实体的属性以及实体之间的联系 3 全局E R模型能够满足需求分析的所有需求 4 征求用户和相关人员的意见 进行评审和优化 5 4概念结构设计 5 4 3概念结构设计的步骤 自底向上 将概念结构转换为某个DBMS所支持的数据模型 对其进行优化 完成数据库的逻辑模式和外模式的设计 5 5逻辑结构设计 5 5 1逻辑结构设计的任务和步骤 1 一个实体类型转换成一个关系模式 实体的属性就是关系的属性 实体的码就是关系的码 学生 学号 姓名 性别 出生日期 专业 联系方式 课程 课程号 课程名称 学分 5 5逻辑结构设计 5 5 2将概念模型转换为关系模型的转换规则 2 一个1 1联系可以转换为一个独立的关系模式 也可以与联系的任意一端实体所对应的关系模式合并 若转换为一个独立的关系 则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性 每个实体的码均是该关系的候选码 若与联系的任一端实体所对应的关系合并 则需要在该关系的属性中加入另一个实体的码和联系本身的属性 5 5逻辑结构设计 5 5 2将概念模型转换为关系模型的转换规则 1 管理 联系转换成一个独立的关系模式班长 学号 姓名 性别 出生日期 班级 班级编号 系别 专业 班级名称 管理 学号 班级编号 2 管理 联系与 班长 实体合并班长 学号 姓名 性别 出生日期 班级编号 班级 班级编号 系别 专业 班级名称 例 3 一个1 n联系可以转换为一个独立的关系模式 也可以与联系的n端实体所对应的关系模式合并 若转换为一个独立的关系 则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性 而联系的码为n端实体的码 若与联系的n端实体所对应的关系合并 则需要在该关系的属性中加入1端实体的码和联系本身的属性 5 5逻辑结构设计 5 5 2将概念模型转换为关系模型的转换规则 1 组成 联系转换为一个独立的关系模式工人 工号 姓名 性别 工龄 工种 车间 车间编号 车间名称 组成 工号 车间编号 2 组成 联系与 工人 实体合并工人 工号 姓名 性别 工龄 工种 车间编号 车间 车间编号 车间名称 例 4 一个m n联系转换为一个关系 与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性 而关系的码为各实体码的组合 5 5逻辑结构设计 5 5 2将概念模型转换为关系模型的转换规则 学生 学号 姓名 性别 出生日期 专业 联系方式 课程 课程号 课程名称 学分 选修 学号 课程号 成绩 例 5 三个或三个以上的实体间的多元联系转换为一个关系 与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性 而关系的码为各实体码的组合 5 5逻辑结构设计 5 5 2将概念模型转换为关系模型的转换规则 教师 职工号 姓名 职称 课程 课程号 课程名称 学分 教科书 教材编号 教材名称 作者 出版社 讲授 职工号 课程号 教材编号 例 以规范化理论为指导 根据实际需求适当地修改 调整数据模型的结构 减少冗余及各种异常 改善完整性 一致性和存储效率 程度 需要权衡响应时间和潜在问题两者的利弊决定 5 5逻辑结构设计 5 5 3关系模型的优化 关系数据模型优化步骤 5 5逻辑结构设计 5 5 3关系模型的优化 1 确定数据依赖 2 对数据依赖进行极小化处理 消除冗余的联系 3 按照数据依赖的理论对关系模式进行必要的分解 4 根据应用需求对关系模式进行合并或分解 5 5逻辑结构设计 5 5 4用户子模式设计 使用符合用户习惯的别名对不同级别的用户定义不同的外

温馨提示

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

评论

0/150

提交评论