版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、范式示例 已知已知R(A,B,C,D,E)函数依赖有函数依赖有:A D (C,B)-D, ED, CD-A,D - B, 求侯选键求侯选键 该关系属于几该关系属于几NF,如何将其分解成高级范式如何将其分解成高级范式: R(A,B,C,D,E,P), F=A-B,C-D,E-A,CE-P求侯选求侯选键键 R(A#,B#,C,D,E) F=(A#,B#)-E,b# - C,C- D 求侯选键求侯选键?,该模式满足,该模式满足2NF?,如果分解为如果分解为r1(a#,B#,C),r2(B#,C,D) 指出指出R2的键说明该模式满足?的键说明该模式满足?Nf? 将关系模式将关系模式r分解为分解为bcn
2、f?假设某商业集团数据库中有一关系模式如下假设某商业集团数据库中有一关系模式如下: R(商店编号商店编号,商品编号商品编号,数量数量,部门编号部门编号,负责人负责人)如果规定如果规定:1 每个商店的每个品种商品只在一个部门销售每个商店的每个品种商品只在一个部门销售2 每个商店的每个部门只有一个负责人每个商店的每个部门只有一个负责人3 每个商店的每个商品只有一个库存数量每个商店的每个商品只有一个库存数量试回答上下列问题试回答上下列问题:1 写出关系模式写出关系模式R的所有基本函数依赖的所有基本函数依赖2 找出关系找出关系R的侯选键的侯选键3 关系模式关系模式R最高达到第几范式最高达到第几范式?
3、为什么为什么?4 如果如果R不属于第不属于第3范式范式,进行分解变成第进行分解变成第3范式范式.范式应用示例旅馆的住房管理问题包括客房管理和收费管理现在用关旅馆的住房管理问题包括客房管理和收费管理现在用关系模式收费系模式收费(住客身份证住客身份证,住客姓名住客姓名,性别性别,年龄年龄,地址地址,客房客房号号,床位号床位号,收费标准收费标准,住宿日期住宿日期,退房日期退房日期,预付款预付款),如果如果规定规定:1 旅馆住客可以存在同名现象旅馆住客可以存在同名现象2 一个客人可以多次一个客人可以多次不同时间到该旅馆住宿不同时间到该旅馆住宿试回答上下列问题试回答上下列问题:1 写出关系模式的基本函数
4、依赖写出关系模式的基本函数依赖2 找出关系的侯选键找出关系的侯选键3 关系模式最高达到第几范式关系模式最高达到第几范式? 为什么为什么?4 如果不属于第如果不属于第3范式范式,进行分解变成第进行分解变成第3范式范式. 第 六 章 数 据 库 设 计 数据库设计 一、数据库设计概述 数据库设计是建立数据库及其应用系统的技术. 1. 数据库设计的内容 1) 数据库的结构设计(静态) (1) 逻辑数据库设计 1. 局部逻辑结构 2. 全局逻辑结构 (2) 物理数据库设计 1. 存储结构 2) 数据库的行为设计(动态) (1) 数据的装载 (2) 应用程序设计数据库设计 2. 参加数据库设计的人员 1
5、) 数据库分析设计人员 (1) 数据库设计的核心人员 (2) 自始至终参与数据库的设计 2) 用户 (1) 参加需求分析 (2) 参加数据库的运行维护 3) 程序员和操作员 (1) 在系统实施阶段参与进来 (2) 负责编制程序 (3) 准备软硬件环境数据库设计 3. 数据库分析设计人员应具备的水平 1) 计算机技术 2) 数据库技术 3) 软件工程知识 4) 应用领域的知识数据库设计 4. 数据库设计方法规范设计法 新奥尔良法: 1) 手工设计方法 2) 过程迭代 3) 逐步求精 4) 计算机辅助软件工程CASE数据库设计 5. 数据库设计步骤P206 1) 系统需求分析:基础. 2) 概念结
6、构设计:关键,概念模型 3) 逻辑结构设计:概念结构转换为数据模型 4) 数据库物理设计:为逻辑数据模型建立物理结构(存储结构和存取方法) 5) 数据库实施:利用语言建立数据库,编制调试应用程序组织数据入库,试运行. 6) 数据库运行维护.P208数据库设计 二、系统需求分析 1. 需求分析的任务 1) 详细调查现实世界要处理的对象 2) 充分了解原系统的工作概况 3) 明确用户的各种需求 (1) 信息要求 (2) 处理要求 (3) 安全性要求 (4) 完整性要求 4) 确定新系统的功能 5) 考虑今后的扩充性数据库设计 2. 需求分析的步骤 1) 调查组织机构情况 (1) 该组织由哪些部门组
7、成 (2) 各部门的职责和任务 2) 调查各部门的业务活动流程 (1) 各部门输入输出的数据和格式 (2) 所需的表格和卡片 (3) 如何加工处理这些数据 (4) 输入输出的部门 3) 协助用户明确对新系统的各种需求 (1) 信息要求 (2) 处理要求 (3) 安全性要求 (4) 完整性要求数据库设计 4) 确定新系统的边界 P210 (1) 哪些功能由计算机完成 (2) 哪些活动由人工完成 5) 分析系统功能 (1) 系统应具有哪些功能,完成哪些任务 (2) 设计人员和用户协商、确定、备案 (3) 尽量满足用户的要求 (4) 不要随便承诺用户不合理或无法实现的要求 (5) 注意功能与条件的谐
8、调数据库设计 6) 分析系统数据 (1) 需要存储哪些数据 1. 实体集 2. 实体的属性集 3. 实体集间的联系 (2) 数据是否有矛盾 1. 基本数据 2. 导出数据 (3) 用户对数据的处理要求 1. 完成什么样的处理 2. 响应时间 3. 安全性要求 4. 完整性要求 (4) 绘制数据流程图 (5) 编制数据字典数据库设计 7) 编写系统分析报告 (1) 提交用户的决策部门审核 (2) 报告内容 1. 系统概况 2. 系统功能说明 3. 设计阶段划分 4. 可行性分析 5. 系统软硬件环境要求 (1) 计算机配置 (2) 操作系统 (3) 汉字平台 (4)网络环境 (5)数据库管理系统
9、 6. 结构图表 (1)组织机构图(2) 组织间联系图(3) 各机构功能业务图 7. 数据图表 (1) 数据流程图 (2) 功能模块图 (3) 数据字典数据库设计 8) 后续工作 (1) 组织专家评估报告 (2) 项目双方签字 (3) 签订协议书数据库设计 3. 数据字典 1) 定义 (1) 是各类数据描述的集合 (2) 是数据收集分析的主要结果 2) 包括(P212) (1) 数据项 (2) 数据结构 (3) 数据流 (4) 数据存储 (5) 处理过程数据库设计 4. 例子 1) 工厂查询系统 2) 部门 (1) 生产部门 1. 查询产品的性能 2. 查询各种零件的用料 3. 查询每种产品的
10、零件组成情况 4. 编制生产计划 (2) 供应部门 1. 了解产品的价格 2. 了解各种产品的用料情况 3. 了解材料的价格和库存量 4. 制定材料订购计划数据库设计 3) 需求分析阶段的主要工作内容 (1) 分析组织机构分析组织机构 (2) 收集分析用户的各种业务活动收集分析用户的各种业务活动 (3) 确定系统需求确定系统需求 1. 生成“用户活动图” (4) 确定系统边界确定系统边界 1. 直接在用户活动图上标注 (5) 分析系统功能分析系统功能 (6) 分析系统数据分析系统数据 1. 产生“数据流程图” 2. 产生“数据字典”数据库设计 (7) 编写需求规范说明书 1. 包括 (1) 整
11、个系统的功能整个系统的功能 (2) 用户活动图用户活动图 (3) 数据流程图数据流程图 (4) 数据字典数据字典 (5) 安全性和完整性约束条件安全性和完整性约束条件 (6) 软硬件支持环境的选择软硬件支持环境的选择 (7) 后续工作 1. 审议需求规范说明书审议需求规范说明书 2. 修改完善说明书修改完善说明书 3. 通过说明书,双方签字通过说明书,双方签字数据库设计 三、概念结构设计 1. 概述 1) 是客观数据世界的“纯粹”反映 2) 独立于DBMS 3) 用E-R图来表示概念模式数据库设计 2. 概念结构设计的四种方法 1) 自顶向下:先全局,后细化 2) 自底向上:先局部,后集成 3
12、) 由里向外:先核心,后扩充 4) 混合策略:自顶向下+自底向上 3. 概念结构设计的步骤 1) 抽象数据,设计局部视图 2) 集成局部视图数据库设计 4. E-R图方法 1) E-R图基本成分 (1) 实体 1. 概念 (1) 现实世界中存在的可以区分的对象或事物 (2) 某类事物的集合 (3) 实体集、实体型 2. 表示 (1) 用矩形框表示实体 (2) 框内标注实体名数据库设计 (2) 联系 1. 概念 (1) 实体之间的联系实体之间的联系 2. 联系类型 (1) 一对一一对一 (2) 一对多一对多 (3) 多对多多对多 3. 表示 (1) 联系用菱形表示联系用菱形表示 (2) 框内填写
13、联系的名称框内填写联系的名称 (3) 用无向边与实体联结用无向边与实体联结(4) 边上标注联系类型边上标注联系类型 4. 说明 也可表示同一实体集内部成员之间的联系也可表示同一实体集内部成员之间的联系数据库设计 (3) 属性 1. 概念 (1) 实体或联系在某一方面的特征实体或联系在某一方面的特征 (2) 实体的标识:某一属性实体的标识:某一属性(组合属性组合属性)能唯一标识能唯一标识 实体个体实体个体 2. 表示 (1) 属性用扁椭圆形框表示属性用扁椭圆形框表示(2) 用无向边与实体连接用无向边与实体连接 2) E-R图表示 (1) 用无向边将实体、属性和联系连接起来数据库设计 5. 局部应
14、用E-R模型设计 1) 利用系统需求分析阶段得到的数据 (1) 数据流程图 (2) 数据字典 2) 确定实体和实体属性 (1) 按现实世界中事物的自然划分来定义实体和属性 (2) 再进行必要的调整数据库设计 3) 调整原则 (1) 实体和属性间保持为1:1或n:1的联系 1. 对1:1和n:1联系的处理 2. 对1:n联系的处理 (1) 将属性调整为实体 (2) 描述实体的属性本身不能再有需要描述的性质 (3) 能作为属性对待的尽量作为属性对待数据库设计 4) 例子 (1) 生产部门生产的产品 (2) 实体和属性 1. 产品产品(产品编号产品编号,产品名称产品名称,产品性能产品性能) 2. 零
15、件零件(零件编号零件编号,零件名称零件名称,材料名称材料名称,耗用量耗用量) 3. 联系:产品由零件组装而成联系:产品由零件组装而成(零件数零件数) (3) E-R图 1. 生产部门的局部生产部门的局部E-R模型模型 2. 供应部门的局部供应部门的局部E-R模型模型 3. 供应部门的局部供应部门的局部E-R模型模型(改进改进)数据库设计 6. 总体概念E-R模型设计 1) 合并,解决冲突,生成初步E-R图 (1) 结构冲突 1. 同一事物,不同的抽象同一事物,不同的抽象 2. 同一实体在不同的应用中属性组成不同同一实体在不同的应用中属性组成不同(个数个数,次序次序) 3. 同一联系,在不同应用
16、中呈现不同类型同一联系,在不同应用中呈现不同类型 (2) 属性冲突 1. 属性域冲突属性域冲突 (1) 属性值的类型 (2) 取值范围 2. 属性的取值单位冲突属性的取值单位冲突数据库设计 (3) 命名冲突 1. 同名异义 2. 异名同义 2) 修改和重构,消除冗余,生成基本E-R图 (1) 冗余的数据:可由基本数据导出 (2) 冗余的联系:可由其他联系导出数据库设计 四、逻辑结构设计 1. E-R图向数据模型的转换 1) 一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键 (1) 方法 1. 找出主键 2. 找出属性间的依赖关系 3. 表示为关系模式 4. 主键:属
17、性名下加横线 5. 函数依赖关系:箭头线 (2) 例子数据库设计 1) 一个联系转换为一个关系模式,相联系实体的键和联系的属性转换为关系的属性 (1) 一个m:n联系转换为一个关系模式 1. 联系的内容 (1) 联系名联系名 (2) 相互联系的实体的主键相互联系的实体的主键 (3) 联系本身的属性联系本身的属性 2. 主键 (1) 关系的键为参加联系的各实体键的组合关系的键为参加联系的各实体键的组合 3. 例子 (1) 产品组装成零件产品组装成零件 (2) 材料存放在仓库材料存放在仓库数据库设计 (2) 一个1:n联系可以转换为一个独立的关系模式,关系的键为n端实体的键。也可以与n端对应的关系
18、模式合并 1. 联系的内容:(1) 联系名联系名 (2)联系本身的属性联系本身的属性 (3)相互联系的实体的主键相互联系的实体的主键 2. 主键 : 关系的键为关系的键为n端实体的键端实体的键 3. 例子: (1) 零件消耗材料零件消耗材料 (2) 带属性的一对多联系带属性的一对多联系 (3) 没有对应关系的联系没有对应关系的联系 1. 能否省去实体司机?能否省去实体司机? 2. 没有联系如何联系?没有联系如何联系?数据库设计 (3) 一个1:1联系可以转换为一个独立的关系模式,每个实体的键均为该关系的候选键。也可以与任意一端对应的关系模式合并 1. 联系的内容 (1) 联系名 (2) 相互联
19、系的实体的主键 (3) 联系本身的属性 2. 主键 (1) 每个实体的键均为该关系的候选键数据库设计 3) 三个或三个以上实体间的一个多元联系转换为一个关系模式 (1) 存在于三个实体之间的联系 4) 同一实体集的实体间的联系,可按1:1,1:n,m:n分别处理数据库设计 2. 关系规范化 1) 考查关系模式的函数依赖关系,确定范式等级 2) 对关系模式进行合并或分解 (1) 具有相同主键的关系模式一般可以合并 (2) 对非BC范式的关系模式,根据异常情况进行分解 (3) 只查询的关系模式可不分解 (4) 评估各关系模式,择优一组数据库设计 3. 模式优化 1) 目的 (1) 提高对数据的存取
20、和存储效率 2) 优化方法 (1) 进行垂直和水平分割数据库设计 3) 例子1 (1) 职工情况的关系模式 . EMP(职工编号职工编号,姓名姓名,性别性别,年龄年龄,职务职务,工资工资,工龄,住址,电话) (2) 事实情况: 若经常查询前六项,较少使用后三项 (3) 模式分解 1. EMP1(职工编号职工编号,姓名姓名,性别性别,年龄年龄,职务职务,工资工资) 2. EMP2(职工编号职工编号,工龄工龄,住址住址,电话电话) (4) 小结 1. 同时存在检查查询和非经常查询的属性,均可采用同时存在检查查询和非经常查询的属性,均可采用垂直分割的方法垂直分割的方法数据库设计 4) 例子2 (1)
21、 飞行员情况的关系模式 1. PILOT(编号编号,姓名姓名,性别性别,年龄年龄,技术等级技术等级,可驾机型可驾机型,飞飞行年数行年数) (2) 事实情况: 每个飞行员都能驾驶多种飞机每个飞行员都能驾驶多种飞机 (3) 模式分解 1. PILOT1(编号编号,姓名姓名,性别性别,年龄年龄,技术等级技术等级) 2. PILOT2(编号编号,可驾机型可驾机型,飞行年数飞行年数) (4) 好处 1. 节省存储空间节省存储空间 2. 减少数据传递量减少数据传递量 3. 提高查询速度提高查询速度数据库设计 5) 例子3 (1) 大学教师数据库 1. 教师教师(教师编号教师编号,姓名姓名,职称职称,) (
22、2) 事实情况 1. 经常按职称分类查询经常按职称分类查询 (3) 模式分解 1. 教师分类教师分类(职称职称,名册号名册号) 2. 教授名册教授名册(教师编号教师编号,姓名姓名,职称职称,) 3. 副教授名册副教授名册(教师编号教师编号,姓名姓名,职称职称,) 4. 讲师名册讲师名册(教师编号教师编号,姓名姓名,职称职称,)数据库设计 6) 例子4 (1) 师大学生数据库 1. 学生() (2) 事实情况 1. 多数查询一次仅涉及其中的一类学生 (3) 水平分割 1. 大专生() 2. 本科生() 3. 研究生()数据库设计 4. 设计用户子模式 1) 使用更符合用户习惯的别名 2) 针对不同等级的用户定义不同的外模式,以满足系统对安全性的要求 3) 简化用户对系统的使用数据库设计 五、数据库物理设计 1. 确定数据库的物理结构 1) 确定数据的存储结构 (1) 适当冗余 (2) 增加聚簇功能 2) 设计数据的存取路径 : 建立索引 3) 确定数据的存放位置 : 分盘存放 4) 确定系统配置:参数优化数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 38278.1-2026全息防伪产品技术条件第1部分:全息防伪产品通用技术条件
- T/ZHHX 006-2025主要鲜切花流通规范
- T/HZFDS 001-2025体外诊断试剂出口质量管理能力评价规范
- T/CMAM M55-2025溢血症(免疫性血小板减少症)蒙医诊疗指南
- T/CARD 057-2024脑卒中重症康复服务指南
- T/CSCMA 0004-2023出口工程机械二手设备 评估服务规范
- 高校产学研合作基础培训
- 2025~2026学年广东省茂名市高州市北师大版六年级上册阶段练习(三)数学试卷【附答案】
- PHP后端面试题及详细答案(实战完整版)
- 引水隧洞衬砌及防渗堵漏施工方案
- 2026年保密培训考试题带答案(完整版)
- 6.4民生福祉持续增进 议题式教学课件(共24张)+内嵌视频 2026-2027学年统编版道德与法治9年级上册
- 中国邮政集团招聘考试历年真题
- 2026年一级造价师案例考试真题及答案
- 回复客户投诉的的质量整改函(6篇)
- 2026年春季云南云天化股份有限公司招聘(校园招聘)笔试历年参考题库附带答案详解
- 北京工业职业技术学院《网络营销》2025-2026学年期末试卷
- JJF(石化)078-2023激光甲烷遥测仪校准规范
- 人教版数学五年级上册第三单元第三课时 商的近似数 同步测试(含解析)
- 资产分类管理制度制度
- 防火排烟劳务分包协议
评论
0/150
提交评论