




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数据库需求分析 实体 属性 关系及E R图 一 数据模型 数据模型是描述数据的一组概念和定义 在数据库中用数据模型来抽象 表示和处理现实世界中的数据和信息 简单地讲 数据模型就是现实世界的模拟 数据模型应该满足以下的要求 真实性 就是数据模型要尽可能真的反映现实世界 简单性 就是模型尽可能简单 以便于他人理解 便于实现 便于计算机实现 一 数据及数据联系的描述从人们对现实生活中事物特性的认识到计算机数据库力的具体表示要经历三个领域 即现实世界 概念世界 信息世界 和机器世界 存储世界 数据世界 首先将现实世界的事物及联系抽象成信息世界的信息模型然后再抽象成计算机世界的数据模型数据加工经历了现实世界 信息世界和计算机世界三个不同的世界 经历了两级抽象和转换 相关术语 实体客观存在并且可以相互区别的 事物 称为实体实体可以是具体的人 事 物 也可以是抽象的事件属性实体所具有的某一特性称为属性 实体型具有相同属性的实体必然具有共同的特征实体集同型实体的集合称为实体集键能惟一标识一个实体的属性或属性集称为实体的键域属性的取值范围称为该属性的域 学生 学号 姓名 年龄 性别 系 联系实体型内部的联系通常是指组成实体的各属性之间的联系实体型之间的联系通常是指不同实体集之间的联系两个实体型之间的联系有如下三种类型 A B A B A B a 一对一联系 b 一对多联系 c 多对多联系 现实世界 概念模型 认识抽象 DBMS支持的数据模型 图数据处理的抽象和转换过程 机器世界信息经过加工编码进入机器世界 机器世界的处理对象是数据 相关术语 字段 Field 标记实体属性的命名单位称为字段 记录 Record 字段的有序集合称为记录 如 一个学生 990001 张立 20 男 计算机 为一个记录 文件 File 同一类记录的集合称为文件 所有学生的记录组成了一个学生文件 关键字 Key 能惟一标识文件中每个记录的字段或字段集 称为记录的关键字 E R方法 E R方法即 实体 联系方法 它的基本思想是在数据库设计过程中增加一个中间步骤 先设计一个概念性数据模型 这个概念性数据模型在E R方法中被称作 企业模式 或 组织模式 它是现实世界的纯粹反映 与数据库的具体实现无关 它抛开了实现过程的具体细节 与现实世界和用户思维很相似 能比较准确 比较自然地反映现实世界 能为不熟悉计算机的用户所接受 便于设计人员和用户的沟通 E R图及其基本成份描述企业模式的得力工具是E R图 在E R图中有三种基本成份 实体 Entity 表征客观事物 属性 Attributes 表征客观事物及联系的特征 属性 联系 Relations 表征客观事物之间的联系 E R图表示方法E R图是数据库概念设计最基本和最重要的图 它主要描述研究对象中的实体 实体的属性和实体之间的关系等 其表示方法如下 矩形框表示实体 椭圆形表示属性 用菱形框表示实体间的联系 属性和实体间 实体和联系间用无向的线段连接 在E R图中概念及术语 1 实体与实体类型实体 可以相互区别客观事物和概念的统一抽象 是任何一种我们所关心的 事物 可以指人 也可以指物 可以是实际的东西 也可以是抽象的 概念性的东西 例学生 回扣 医疗等 实体分为两级 一级为 个体 如 张三 国防科技大学 等 另一级为 总体 泛指某一类个体组成的集合 如人泛指 张三 李四 等 实体类型 将具有共性的一类实体抽象为实体类型 在E R图中 实体这种基本成份用方框来表示 2 实体与联系的属性和域属性 对实体特征的描述 域 属性的取值范围 同一实体类型所有实体都具有相同的属性及相同的对应域 但属性在域上的取值不一定相同 属性用来进一步描述实体与联系在某些方面的特征与性质 比如 职员 这种实体 可以有工作证号 姓名 性别 出生年月 政治面貌 职称 等属性 零件 这种实体可以有零件号 零件名 单价 型号 生产厂家等属性 在E R图中 属性用圆圈表示 画在它所描述的实体或联系的旁边 并用短线与之相连 实体是一定具有属性的 在若干个属性中 至少有一个可以标识这个实体的 标识码 3 实体之间的联系 实体之间关系的抽象一种实体与其他实体之间 在其自身内部是存在着这样的或那样的联系的 数据库比传统的文件的优越之一就是能够表示实体之间的联系 在E R图中 联系 用菱形框来表示 对每一种 联系 都要命名 实体之间的联系 可以分为以下几种不同的情况 1 1 1 一对一联系 A中任意实体至多对应B中的一个实体 反之B中的任意实体至多对应A中的一个实体 观众与座位 乘客与车票 病人与病床 学校与校长 灯泡与灯座 2 1 n 一对多联系 A中至少有一个实体对应B中的多个实体 反之B中的任意实体至多对应A中的一个实体 部门 A 是一种实体 职员 B 也是一种实体 这两种实体之间存在着一种联系 设这种联系命名为 属于 即表示某个职员是属于某个部门的 属于 这个联系是1 N的 具体地说就是 一个部门可以有多个职员 而一个职员只能属于一个部门 在E R图中 这两种实体间的联系可以表示成如下图 3 M N的联系 即多对多的联系A中任意实体至少有一个实体对应B中的多个实体 反之B中的任意实体至少有一个实体对应A中的多个实体 学生 A 是一种实体 课程 B 也是一种实体 这两种实体之间存在一种联系 设这种联系命名为 选课 表示的是哪一个学生修了哪些门课程 这个联系是M N的 也就是说 一个学生可以修多门课程 一门课程可以有多个学生来修 但一个学生不一定修所有的课程 一门课程也不一定被全部学生所选修 在E R图中 这两种实体间的联系可以表示如下图 E R图的几种基本形式 两个实体之间的联系 系主任 成绩 领导 系 学生 属于 系 学生 选修 课程 1 1 1 n n m 两个以上实体间的联系 数量 供应商 供应 零件 n m 项目 n 领导 职工 1 n 同一实体集内部各实体之间的联系 一般原则即属性必须是不可分的数据项 不能再由另一些属性组成 属性不能与其他实体具有联系 联系只发生在实体之间 符合上述两条特性的事物一般作为属性对待 现实世界中事物能做属性对待的 尽量作属性对待 如何区分实体和属性 例2 职称通常作为教师实体的属性 但在涉及住房分配时 由于分房与职称有关 也就是说职称与住房实体之间有联系 根据准则 这时把职称作为实体来处理会更合适些 例1 学生 由学号 姓名等属性进一步描述 根据准则 学生 只能作为实体 不能作为属性 例学生选课管理E R图 学生选课管理E R图 思考 设计一个图书馆数据库对每个借阅者保存记录 读者号 姓名 地址 性别 年龄 单位对每本书保存记录 书名 作者 出版社对每一本被借出的书保存 读者号 借出日期 应还日期 归还日期 二 概念结构设计的任务 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础 它比数据模型更独立于机器 更抽象 从而更加稳定 概念结构设计是整个数据库设计的关键任务 将需求分析的结果进行概念化抽象 获得系统的E R图 描述概念模型的工具 E R模型 27 二 概念结构设计的方法与步骤 设计概念结构的四类方法自顶向下自底向上逐步扩张混合策略 首先定义最重要的核心概念结构 然后向外扩充 以滚雪球的方式逐步生成其他概念结构 直至总体概念结构 将自顶向下和自底向上相结合 用自顶向下策略设计一个全局概念结构的框架 以它为骨架集成由自底向上策略中设计的各局部概念结构 首先定义全局概念结构的框架 然后逐步细化 首先定义各局部应用的概念结构 然后将它们集成起来 得到全局概念结构 局部E R模型设计过程 步骤 1 确定各局部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图中属性的并集 再适当设计属性的次序 解决方法 根据应用语义对实体联系的类型进行综合或调整 消除结构冲突实例 1 异名同义 2 同一对象在不同应用中具有不同的抽象 例 职称在不同的应用中可以作为职工的属性 也可以作为一个实体 通常当对职称没有进一步的描述时 根据准则1作为职工实体的属性 但在涉及住房分配时 由于分房与职称有关 也就是说职称与住房实体之间有联系 根据准则 这时把职称作为实体来处理会更合适些 3 同一实体在不同局部视图中所包含的属性个数和排列次序不完全相同 修改与重构 基本任务消除不必要的冗余 设计生成基本E R图 1 冗余消除不必要的冗余后的初步E R图称为基本E R图 分析法消除冗余实例 1 例 教师工资单中包括该教师的基本工资 各种补贴 应扣除的房租水电费以及实发工资 由于实发工资可以由前面各项推算出来 因此可以去掉 在需要查询实发工资时根据基本工资 各种补贴 应扣除的房租水电费数据临时生成 2 教室实体与班级实体的上课联系可以由教室与课程之间的开设联系 课程与学生之间的选修联系 学生与班级之间的组成联系三者推导出来 因此属于冗余联系 可以消去 3 学生实体中的年龄属性可以由出生日期推算出来 属于冗余数据 应该去掉 这样不仅可以节省存储空间 而且当某个学生的出生日期有误 进行修改后 无须相应修改年龄 减少了产生数据不一致的机会 学生 学号 姓名 出生日期 年龄 所在系 年级 平均成绩 下面举例说明局部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图中的实体 系 与教师任课局部E R图中的实体 单位 都是指 系 即所谓的异名同义 合并后统一改为 系 这样属性 名称 和 单位名 即可统一为 系名 其次 还存在着结构冲突 实体 系 和实体 课程 在两个不同应用中的属性组成不同 合并后这两个实体的属性组成为原来局部E R图中的同名实体属性的并集 图教务管理系统的初步E R图 消除冗余 图教务管理系统的基本E R图 逻辑结构设计 逻辑结构设计的任务E R图像关系模型的转换数据模型的优化 逻辑结构设计的任务 任务 把概念结构设计阶段设计好的基本E R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构 关系 网状 层次 三种数据模型 只讨论关系数据模型 逻辑结构设计阶段的步骤 E R图向关系模型的转换用关系数据理论对关系模式的规范化关系模式的优化 E R图像关系模型的转换 转换过程中的主要问题 E R图 实体实体的属性实体间的联系 关系模式 关系属性码 一个实体型转换为一个关系模式 关系的属性 实体型的属性关系的码 实体型的码 2 一个m n联系转换为一个关系模式 关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 各实体码的组合 转换原则 2 与n端对应的关系模式合并合并后关系的属性 在n端关系中加入1端关系的码和联系本身的属性合并后关系的码 不变 一个1 n联系可以转换为一个独立的关系模式 也可以与n端对应的关系模式合并 1 转换为一个独立的关系模式关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 n端实体的码 可以减少系统中的关系个数 一般情况下更倾向于采用这种方法 2 与某一端对应的关系模式合并合并后关系的属性 加入对应关系的码和联系本身的属性合并后关系的码 不变 一个1 1联系可以转换为一个独立的关系模式 也可以与任意一端对应的关系模式合并 1 转换为一个独立的关系模式关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的候选码 每个实体的码均是该关系的候选码 三个或三个以上实体间的一个多元联系转换为一个关系模式 关系的属性 与该多元联系相连的各实体的码以及联系本身的属性关系的码 各实体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国银行阜阳市颍东区2025秋招英文结构化面试题库含答案
- 中国银行上海市金山区2025秋招笔试经济学专练及答案
- 建行总行面试真题及答案
- 中国银行焦作市中站区2025秋招笔试言语理解题专练及答案
- 中国银行上海市静安区2025秋招笔试银行特色知识专练及答案
- 邮储银行庆阳市西峰区2025秋招笔试思维策略题专练及答案
- 邮储银行长治市黎城县2025秋招笔试英语阅读理解题专练30题及答案
- 工商银行毕节市七星关区2025秋招笔试英语阅读选词题专练30题及答案
- 工商银行北京市石景山区2025秋招笔试数量关系题专练及答案
- 中国银行锡林郭勒盟多伦县2025秋招笔试银行特色知识专练及答案
- 2022星闪无线短距通信技术(SparkLink 1.0)安全白皮书网络安全
- 电厂安全生产运行管理培训课件
- 卫生公共基础知识考试大纲
- 小学数学六年级上册第五单元课件
- 《电子凭证会计数据标准-全面数字化的电子发票(试行版)》指南
- 湖南土建中级职称考试复习总结
- 混合痔痔的护理查房
- 摩登情书原著全文下载(通用3篇)
- 大学物理实验长测量
- 材料科学基础复习题及答案
- 药监系统官方培训06细菌内毒素方法介绍-蔡彤
评论
0/150
提交评论