




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章数据库设计 数据库设计步骤需求分析概念结构设计逻辑结构设计物理设计数据库实施数据库运行和维护小结 数据库设计 是指在给定的应用环境下 根据用户的应用需求构造优良的数据库模式 建立数据库及其应用系统 使之能够有效地存储数据 满足各种用户的应用需求 数据库设计特点 数据库设计侧重于对数据的分析和设计 数据库设计应该在整个设计过程中把结构 数据 设计和行为 处理 设计密切结合起来数据库设计应该与应用系统设计相结合结构 数据 设计 设计数据库框架或数据库结构行为 处理 设计 设计应用程序 事务处理等 数据库设计的步骤 数据库设计是一项涉及多学科的综合性技术 是一项庞大的工程项目 信息的三个世界之间的关系 现实世界 信息世界 数据世界 一般开发策略 自顶向下 逐步求精 分而治之 数据库应用开发的过程的六个阶段 从现实世界中获取并抽象用户的信息需求 用户信息需求的综合归纳 形成独立于任何DBMS的信息结构的设计 得到的是概念模型 是从用户的角度进行的数据描述 常用E R图 将概念模式转换成用关系模型表达的模式 并进行规范化处理 根据DBMS特点和处理的需要 进行物理存储安排 建立索引 形成数据库内模式 逻辑结构 编制程序实现所设计数据库结构的过程 即利用具体的DBMS的支撑语言完成前段设计的数据库结构 运行和维护阶段体现了数据库设计的宗旨 即数据库整个设计过程的各阶段不是线性发展的 而是迭代式逐步求精进行的 一 需求分析 1 需求分析的任务及方法2 高校管理系统的信息需求 需求分析的任务 一 需求分析 需求分析任务 需求分析重点 调查 收集与分析用户在数据管理中的信息要求 处理要求 安全性与完整性要求 信息要求是用户需要从数据库中获得信息的内容与性质 由用户的信息要求可以导出数据要求 即在数据库中需要存储哪些数据 处理要求是指用户要求完成什么处理功能 对处理的响应时间有什么要求 处理方式是批处理还是联机处理 收集资料 了解用户需求 安全性要求 对存放的信息的安全保密要求 完整性要求 数据应满足怎样的约束条件 需求分析的方法 需求分析 用户缺少计算机知识 设计人员缺少用户的专业知识 用户需求发生变化 难 分析和表达用户的需求 主要包括自顶向下和自底向上两类方法 自顶向下的结构化分析方法 需求分析的方法 需求分析 从最上层的系统组织机构入手 采用逐层分解的方式分析系统 并且把每一层用数据流图和数据字典描述 StructuredAnalysis 数据字典 需求分析 数据流图表达了数据和处理过程的关系 系统中的数据则借助数据字典 DataDictionary 来描述 数据字典 数据字典 1 需求分析 学号 数据项 数据项 学号含义说明 唯一标识每个学生别名 学生编号类型 字符型长度 8取值范围 00000000至99999999取值含义 前两位标别该学生所在年级 后六位按顺序编号与其他数据项的逻辑关系 学生 数据结构 数据结构 学生含义说明 是学籍管理子系统的主体数据结构 定义了一个学生的有关信息组成 学号 姓名 性别 年龄 所在系 年级 数据流 体检结果 数据流 体检结果说明 学生参加体格检查的最终结果数据流来源 体检数据流去向 批准组成 平均流量 高峰期流量 数据存储 学生登记表 数据存储 学生登记表说明 记录学生的基本情况流入数据流 流出数据流 组成 数据量 每年3000张存取方式 随机存取 处理过程 分配宿舍 处理过程 分配宿舍说明 为所有新生分配学生宿舍输入 学生 宿舍 输出 宿舍安排处理 在新生报到后 为所有新生分配学生宿舍 要求同一间宿舍只能安排同一性别的学生 同一个学生只能安排在一个宿舍中 每个学生的居住面积不小于3平方米 安排新生宿舍其处理时间应不超过15分钟 任务 DB应用系统要处理的对象 组织 企业 部门等 进行全面了解 收集用户对DB的以下需求 以数据流程图和DD等书面形式确定下来 信息需求 系统用到的所有的信息及其联系 处理需求 未来系统对数据进行什么样的处理 安全性需求 对存放的信息的安全保密要求 完整性需求 数据应满足怎样的约束条件 确定系统范围 确定用户对未来系统的各种要求 包括信息要求 处理要求 安全性和完整性要求 深入分析用户的业务处理 用数据流程图表达整个系统的数据的流向和对数据进行的处理 描述数据与处理间的关系 分析系统数据 产生数据字典DD 以描述数据流程图中涉及的各数据项 数据结构 数据流 数据存储和处理等 工作 2 高校管理系统的信息需求 教学管理子系统的信息需求 工资及福利管理子系统 教学管理子系统的信息需求 管理对象与存储信息 学生 学号 姓名 性别 年龄等 班级 班级号 班级名 人数等 教师 教师号 姓名 性别 职称 E mail地址 同一教师可有多个E mail地址 电话号码和家庭地址 城市 区 街道 邮政编码 等 课程 课程号 课程名 学分 周学时 课程类型 周数 等 专业 专业号 专业名 选修门数等 系 系号 系名等 分析课程 课程号 课程名 学分 周学时 课程类型 周数 等 其中 课程类型 共同限选课 专业选修课 选修人数上限 人数下限 或必修课 课程负责人 共同限选课 不分专业 面向全校学生的选修课 专业选修课 面向本专业学生的选修课 某一专业的学生只能选修自己专业的专业选修课 每个专业都规定了学生可以选修的专业选修课的门数 不同专业所规定的选修课门数是不同的 教学管理子系统中各对象间的联系 每个学生都属于一个班级 而一个班级可以有多个学生 每个班级属于一个专业 一个专业可以有多个班级 一个专业属于一个系 一个系可以有多个专业 一个教师属于一个系 一个系可以有多个教师 每个教师可教授多门课程 同一门课程可有不同的教师教授 但同一教师不能重复教授某门课程 教师在固定的时间和教室教授某门具体课程 每个学生可修读若干门课程 选修课或必修课 每门课程可有多个学生修读 对任何课程学生都可申请免修不免考 某个具体的学生参加某门课程的学习 应有一个固定的教师 主要负责管理教师的工资 岗位津贴 养老金 公积金 课时奖金 住房贷款以及医疗费报销等 管理对象与存储信息 教师 教师编号 姓名 性别 工龄 职称 基本工资 养老金 公积金等 课程 包括课程号 课程名 总课时等 职称 包括职称号 职称名 岗位津贴和住房贷款额等 被赡养人 包括姓名以及与教师的关系等 学校负责为被赡养人报销医药费 工资及福利管理子系统 工资及福利管理子系统中各对象间的联系 一个教师的被赡养人可有多个 而一个被赡养人仅被一个教师赡养 如果 夫妻双方都在学校工作 他们的被赡养人信息只能挂靠在其中某一人上 每个教师可教授多门课程 同一门课程可以有不同的教师教授 但同一个教师不能教授两门相同的课程 并假设教师在每个学期末都要接受学生的评估 而教师的课时奖金与评教等级有关 每个教师当前被聘任的职称是惟一的 而不同的教师可被聘同一职称 二 概念结构设计 1 局部E R模型的设计2 全局E R模型的设计 1 确定实体集和属性 作为属性的事物应符合的原则 除了复合属性 其他属性都不能具有需要描述的特性 属性不能与其它实体发生联系 符合上述原则的事物应作为属性 其余的应作为实体 E mail 多值属性家庭地址 复合属性 2 确定实体集间的联系 1 局部E R模型的设计 局部E R模型的设计步骤 设计教学管理子系统的E R模型 设计工资及福利管理子系统的E R模型 局部E R模型的设计步骤 需求分析结果 确定局部结构的范围 全局E R模型的设计 有 无 设计局部E R模型 确定局部结构的实体 定义局部结构的属性 定义局部结构的联系 如何抽象实体和属性 实体 现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体 对象和实体之间是 ismemberof 的关系 例 在学校环境中 可把张三 李四等对象抽象为学生实体 属性 对象类型的组成成分可以抽象为实体的属性 组成成分与对象类型之间是 ispartof 的关系 例 学号 姓名 专业 年级等可以抽象为学生实体的属性 其中学号为标识学生实体的码 确定实体集和属性 确定实体集和属性 除了复合属性 其他属性都不能具有需要描述的特性 属性不能与其它实体发生联系 符合上述原则的事物应作为属性 其余的应作为实体 E mail 多值属性家庭地址 复合属性 作为属性的事物应符合的原则 确定实体集间的联系 设计教学管理子系统的E R模型 设计工资及福利管理子系统的E R模型 2 全局E R模型的设计 全局E R模型的设计过程 合并局部E R模型 消除冗余数据和冗余联系 例 局部E R模型 合并两个局部E R模型 检查并消除冲突 检查并消除冗余 逻辑结构设计 请按键 依次取出所有的局部E R模型 进行合并 直至所有的局部E R模型都合并完为止 在合并过程中要检查并消除局部E R模型间的一些冲突 冲突的种类 属性冲突 命名冲突 结构冲突 合并局部E R模型 属性冲突 包括属性域冲突和属性取值单位的冲突 属性域的冲突 指同一属性在不同局部E R模型中有不同数据类型 取值范围或取值集合 命名冲突 同名异义 是指具有不同意义的对象在不同的局部E R模型中却使用了相同的名字 异名同义 是指具有同一意义的对象在不同的局部E R模型中却使用了不同的名字 结构冲突 同一对象在不同的局部E R模型中具有不同的抽象如 课程实体中有课程类型属性 课程类型又作为另一实体 应同一实体在不同的局部E R模型中包含不同的属性个数和排列次序实体间的联系在不同的局部E R模型中具有不同的类型 消除冗余数据和冗余联系 检查合并后的E R模型中有无冗余数据和冗余联系 如有则根据实际情况消除之 教学管理与工资及福利管理子系统中 教师的职工号存在命名冲突 教师实体存在结构冲突 例 教师实体存在命名冲突与结构冲突 进行统一与合并 教师 统一与合并后 请按键 课程实体存在结构冲突 进行合并 教学管理子系统 工资及福利子系统 合并后 请按键 教授联系的合并 教学管理子系统 工资及福利子系统 合并后 请按键 课程 教师和学生实体及相互之间的联系将 教授 和 上课 联系和并为如下的 教授 冗余 请按键 合并后生成的全局E R模型 三 逻辑结构设计 任务 考虑因素 RDBMS产品的逻辑结构设计 逻辑结构的设计过程 全局E R模型转换成初始关系模型的规则 任务 根据E R模型和需求分析所产生的文档 并综合考虑所选择的具体DBMS的特点 设计出整个DB的逻辑结构 考虑因素 包括DBMS产品的性能和价格 以及所设计的应用系统的功能复杂程度 RDBMS产品的逻辑结构设计 指设计DB中所应包含的各个关系模式的结构 包括各关系模式的名称 每一关系模式中各属性的名称 数据类型 取值范围等内容 逻辑结构的设计过程 需求分析文档 全局E R模型 具体DBMS的特性 设计初始关系模型 取出一关系模式 并对其进行评价 关系模式的规范化 关系模型的反规范化 请按键 全局E R模型转换成初始关系模型的规则 E R模型中的一个常规实体集转换为一个关系模式 E R模型中的多值属性转换为一个关系模式 E R模型中的一个联系转换为一个关系模式 根据实际情况 将具有相同键的关系模式合并 E R模型中的一个常规实体集转换为一个关系模式 该关系模式的属性由原实体集中的各属性组成 关系模式的关键字也就是原实体集的关键字 班级 班级号 班级名 人数 学生 学号 姓名 性别 年龄 职称 职称号 职称名 岗位津贴 住房贷款额 课程类型 类型号 类型名 周数 专业 专业号 专业名 选修门数 系 系号 系名 E R模型中的多值属性转换为一个关系模式 该关系模式的属性由多值属性及其相应实体的关键字组成 教师实体集中的E mail地址属性转换成的关系模式如下 Email 教师号 E mail地址 该关系模式的属性由与该联系相连的各实体集的键和联系的属性组成 该关系模式的键则应根据实体集间的联系的不同类型分别考虑 1 1联系 与该联系相连的各实体集的关键字均可作关系模式的关键字 1 n联系 关系模式的关键字应是n端实体集的关键字 m n联系 关系模式的关键字由与该联系相连的各实体集的关键字组成 E R模型中一个联系转换为一个关系模式 分类 课程号 类型号 考试 学生号 课程号 成绩 班级 班级号 班级名 人数 包括 班级号 专业号 关系模式合并为 班级 班级号 班级名 人数 专业号 学生 学号 姓名 性别 年龄 属于 学号 班级号 关系模式合并为 学生 学号 姓名 性别 年龄 班级号 根据实际情况 将具有相同键的关系模式合并 四 物理设计 物理设计 指为给定的一个逻辑数据模型选择最适合应用环境的物理结构 RDB的物理结构 指数据的存取方法和存储结构 数据库物理设计的步骤 1 确定DB的物理结构2 评价物理结构 数据库物理设计的步骤 逻辑模型 设计人员必须了解的问题 详细了解给定的DBMS的功能和特点 特别是该DBMS所提供的物理环境和功能 熟悉应用环境 了解所设计的应用系统中各部分的重要程度 处理频率 对响应时间的要求 并把它们作为物理设计过程中平衡时间和空间效率时的依据 了解外存设备的特性 如分块原则 块因子大小的规定 设备的I O特性等等 确定数据的存储结构 需考虑存取时间 空间效率和维护代价间的平衡 如在引入冗余数据以加快存取速度时应兼顾系统的空间效率 选择合适的存取路径 如确定该为哪些关系模式建立索引 索引关键字是什么等等 确定数据的存放位置 如确定数据存放在一个磁盘上还是多个磁盘上 什么数据应存放在高速存储器上 什么应存放在低速存储器上等 确定存取分布 许多DBMS都提供了一些存储分配参数供设计者使用 如缓冲区的大小和个数 块的长度 块因子的大小等等 设计者必须规定其中的一些参数的设置 物理设计的内容 例1 假设学生关系按所在系建有索引 现在要查询信息系的所有学生名单 信息系的500名学生分布在500个不同的物理块上时 至少要执行500次I O操作 如果将同一系的学生元组集中存放 则每读一个物理块可得到多个满足查询条件的元组 从而显著地减少了访问磁盘的次数 例2 CREATECLUSTERINDEXStusnameONStudent Sname 在Student表的Sname 姓名 列上建立一个聚簇索引 而且Student表中的记录将按照Sname值的升序存放例3 假设用户经常要按系别查询学生成绩单 这一查询涉及学生关系和选修关系的连接操作 即需要按学号连接这两个关系 为提高连接操作的效率 可以把具有相同学号值的学生元组和选修元组在物理上聚簇在一起 这就相当于把多个关系按 预连接 的形式存放 从而大大提高连接操作的效率 举例说明 五 数据库实施 数据库实施的工作内容定义数据库结构组织数据入库编制与调试应用程序数据库试运行 建立DB的结构 利用给定的DBMS所提供的命令 建立DB的模式 外模式和内模式 对RDB来说 就是创建DB 建立DB中所包含的各个基本表 视图 索引等等 例 定义表结构 接下来是在这些基本表上定义视图 如果需要使用聚簇 在建基本表之前 应先用CREATECLUSTER语句定义聚族 CREATEVIEW CREATETABLE学生 学号CHAR 8 必须将分散在各个不同部门的数据抽取出来 输入计算机 并经过分类转换 使它们的结构与新系统DB的结构一致 然后才能输入到DB中去 程序调试时需要将少部分的 适合程序调试用的数据装入到DB 系统运行正常后则需要将所有的原始数据装入到DB 将原始数据装入DB 应用程序的编制调试 与数据载入同时进行的工作是应用程序的编制和调试 4 DB的试运行 应用程序调试完成 并且已有一小部分数据入库后 就可以开始数据库的试运行 数据库试运行也称为联合调试 其主要工作包括 1 功能测试 实际运行应用程序 执行对数据库的各种操作 测试应用程序的各种功能 2 性能测试 测量系统的性能指标 分析是否符合设计目标 原因 应用程序 修改应用程序的源代码 DB结构不合理 修改物理结构或逻辑结构 应经常对DB中的数据进行备份 该阶段 系统很不稳定 容易给DB中的数据造成破坏 六 数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年区块链在跨境支付中的实际应用案例深度解析
- 智能交通信号优化系统2025年在城市交通信号灯控制系统升级中的应用报告
- 2025年元宇宙社交平台用户体验深度分析与优化策略报告
- 2025年医疗健康行业医疗信息化建设与网络安全研究报告
- 天津市和平区二十一中2025届八下英语期中质量跟踪监视试题含答案
- 工业自动化控制网络技术安全风险防范与应对策略2025年研究报告
- 2025年医药行业研发投入与产出效益研究报告
- 咨询工程师复习课件
- 文化产业发展专项资金2025年申请项目文化产业与乡村振兴战略报告
- 金融行业人工智能伦理与监管挑战下的金融监管政策对金融业风险管理能力的影响报告001
- 2025年 北京门头沟大峪街道社区储备人才招募考试试题附答案
- Unit 2 Home Sweet Home 第4课时(Section B 1a-1e) 2025-2026学年人教版英语八年级下册
- 危险性较大工程管理制度
- 山东2023年夏季高中历史学业水平合格考试卷真题(精校打印)
- 基于信息技术支持的初中物理实验操作能力培养策略研究论文
- 智慧检验与大数据分析知到智慧树期末考试答案题库2025年温州医科大学
- 2024北京西城区四年级(下)期末数学试题及答案
- 中国慢性阻塞性肺疾病基层诊疗指南(2024年)解读
- 湖北省宜昌市(2024年-2025年小学三年级语文)部编版期末考试(下学期)试卷(含答案)
- DB52∕T 046-2018 贵州省建筑岩土工程技术规范
- AZ91D镁合金半固态成型
评论
0/150
提交评论