第5章-建立数据模型-79页PPT资料课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5章-建立数据模型-79页PPT资料课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 建立 数据模型 79 PPT 资料 课件
- 资源描述:
-
1、第5章 建立数据模型 第第5章章 建立数据模型建立数据模型 5.1 建立实体联系模型建立实体联系模型5.2 ER模型的设计方法模型的设计方法 5.3 ER模型向关系模型的转化模型向关系模型的转化 5.4 历史上有影响的数据模型历史上有影响的数据模型 5.5 数据模型与数据库系统的发展数据模型与数据库系统的发展 第5章 建立数据模型 5.1 建立实体联系模型建立实体联系模型 数据模型是数据库系统的核心和基础。 但现实世界总是先抽象成信息世界,然后才能转化为数据世界。 信息世界是对现实世界的抽象。 因此,信息世界不可能等价于现实世界。 但是,信息世界必须: (1) 真实。 忽略的是非本质内容,与研
2、究无关的内容; 抽象的是本质内容,确实存在的内容。 第5章 建立数据模型 (2) 完整、 精确。 信息世界应有丰富的语义表达能力,能模拟现实世界的各种情况。 (3) 易于理解,易于修改,特别是易于用户理解。 (4) 易于向DBMS所支持的数据模型转换。 现实世界抽象成信息世界的目的,是为了实现信息的计算机处理。 第5章 建立数据模型 信息世界中的数据模型又称为概念模型。 作为从现实世界到其他数据模型转换的中间模型,概念模型不考虑数据的操作,而只是用比较有效、 自然的方式描述现实世界的数据及其联系。 在设计概念模型时,最著名、 最实用的是P.P.S.Chen于1976年提出的“实体联系模型”(E
3、ntityRelationship Approach,简称ER模型)。 第5章 建立数据模型 5.1.1 实体联系模型的基本构成 实体联系(ER)数据模型所采用的三个主要概念是: 实体集、 联系集和属性。 实体集是具有相同类型及相同性质(属性)的实体集合。 联系集是指同类联系的集合。 在ER模型中,用矩形框表示实体集,矩形框中写上实体名,用椭圆表示属性,椭圆中标上属性名,实体的主码用下划线表示。 例如实体集职工可用ER模型表示,如图 5 1 所示。第5章 建立数据模型 图 5 1 职工的ER模型表示 性别年龄姓名职称职工号职工第5章 建立数据模型 实体集之间的联系集用菱形表示,并用无向边与相关
4、实体集连接,菱形中写上联系名,无向边上写上联系集的类型。 部门和职工间的联系可用图5 2所示的ER模型表示。图 5 2 部门和职工的一对多联系 部门工作职工1n第5章 建立数据模型 在图 5 2(a)中,无向边上的1和n表示了部门和职工的联系是一对多联系(或者说职工与部门之间是多对一联系),即表达了一位职工只能在一个部门中工作,而一个部门中可有位职工这一语义(注: 有些文献中使用带箭头的有向边表示联系集的类型)。 实体集间除了一对多(多对一)联系以外,还有一对一、 多对多联系。 第5章 建立数据模型 企业中除了职工、 部门实体集以外,还有工资、 项目等实体集,通过分析可知,企业中每一个职工有一
5、份工资单,而每一份工资单也只属于一个职工,所以职工和工资实体集之间的关系为一对一关系,简记为1 1。 另外,一个职工可参加多个项目,一个项目也由多个职工来参加,所以职工和项目实体集之间的联系是多对多的,简记为: m n。 它们的ER模型表示分别如图 5 3、 图5 4所示。 第5章 建立数据模型 图 5 3 职工和工资的一对一联系 职工拥有工资11第5章 建立数据模型 图 5 4 职工和项目的多对多联系 职工参加项目mn第5章 建立数据模型 5.1.2 多元联系 在ER模型中,可以表示两个以上实体集之间的联系,称为多元联系。 如图 5 5 中的联系签约就是一个三元联系。 图 5 5 包含了如下
6、的语义: 对于特定的影星和电影来说,该影星为演该电影只能和一个制片公司签约; 但一个制片公司可以为一部电影和几个影星签约,一个影星可以和一个制片公司签约主演多部电影。 第5章 建立数据模型 图 5 5 演员、 电影和制片公司之间的三元联系 演员签约电影m1制片公司n第5章 建立数据模型 一个多元联系集总可以用多个不同的二元联系集来替代。 考虑一个抽象的三元联系集R,它联系了实体集A、 B、 C。 可引进一实体集E替代联系R,然后,为实体集E和A、 B、 C建立三个新的二元联系集,分别命名为RA、 RB、 RC。 可以将这一过程直接推广到n元联系集的情况。 所以,理论上可以限制ER模型中只包含二
7、元联系集。 然而,在大部分情况下,使用多元联系集比二元联系集更方便。 第5章 建立数据模型 因为: (1) 多元联系集可以清晰地表示出几个实体集参与到一个联系集的情况,而转换为多个二元联系后,难以体现这种参与性。 (2) 对于为替代多元联系集而引进的实体集,有时不得不为其创建一个标识码。 因为每个实体必须可以相互区分。 创建的标识码和新建的多个二元联系一样,增加了设计的复杂度和对存储空间的需求。 第5章 建立数据模型 5.1.3 联系的属性 联系也可以具有单独的属性。 如在图 5 5 中,如果希望建立某演员和制片公司为一部电影签约的有关酬金,此时,不能把酬金作为演员的属性,因为一个演员可能签约
8、了多部电影,得到了不同的酬金; 也不能把酬金作为制片公司的属性,因为制片公司可能对不同影星支付了不同的酬金; 酬金也不能作为电影的属性,因为一部电影中不同的影星可能得到不同的酬金。 所以应该把酬金作为联系的属性,如图 5 6 所示。 第5章 建立数据模型 图 5 6 联系可具有属性 演员签约电影m1制片公司n酬金第5章 建立数据模型 5.1.4 自身联系 在一个联系中,一个实体集可以出现两次或多次,扮演多个不同角色,此种情况称为实体集的自身联系。 一个实体集在联系中出现多少次我们就从联系到这个实体集画多少条线,到实体集的每条线代表该实体集所扮演的不同角色。 图 5 7 是一个自身联系的例子。
9、第5章 建立数据模型 图 5 7 一个自身联系的例子 职工领导n1第5章 建立数据模型 图中给出了实体集职工的一个自身联系“领导”,同一部门中,职工与职工之间可有领导和被领导的关系,其中一位是另一位的领导。 图中的联系集是1 n,说明了一位职工(领导)可领导其他多名职工,而一位职工只被另一位职工(领导)领导。 第5章 建立数据模型 5.1.5 子类和isa层次联系 在信息世界中,常常需要描述这样的实体集A,A属于另一实体集B。 A中的实体都有特殊的属性需要描述,并且这些特殊属性对B中其他的实体无意义。 在ER模型中,称A是B的子类,或B是A的父类。 两类实体之间存在一种层次联系Isa(属于)。
10、 图 5 8(a)是它们的ER模型的表示方法。 第5章 建立数据模型 如果A和B存在Isa联系,则A中的每个实体a只和B中的一个实体b相联系,而B中的每一个实体最多和A中的一个实体相联系。 从这个意义上说,A和B存在一对一的联系。 但事实上,a和b是同一事物。 A可以继承B中的所有属性,又可以有自己特殊的属性说明。 用来区分A的主码也就是B的主码。 例如,企业中的职工实体集和经理实体集,存在着 Is-a联系,即经理是(is a)职工。 经理可以继承职工的所有属性,但又有“任职时间”这一其他职工没有的属性。 其ER模型如图 5 8(b)所示。 第5章 建立数据模型 图 5 8 具有Is-a联系的
11、ER模型A性别姓名年龄职工号职工Is-a经理任职时间Is-aB(a)(b)第5章 建立数据模型 5.2 ER模型的设计方法模型的设计方法 在设计ER模型时,首先必须根据需求分析,确认实体集、 联系集和属性。 一个企业(单位)有许多部门,就会有各种业务应用的要求,需求说明来自对它们的调查和分析。 有关需求分析的方法将在第 7 章中介绍,这里只介绍ER模型的设计方法。 在介绍设计ER模型的方法之前,首先强调三条设计原则: 第5章 建立数据模型 (1) 相对原则: 关系、 实体、 属性、 联系等,是对同一对象抽象过程的不同解释和理解。 即建模过程实际上是一个对对象的抽象过程,不同的人或同一人在不同的
12、情况下,抽象的结果可能不同。 (2) 一致原则: 同一对象在不同的业务系统中的抽象结果要求保持一致。 业务系统是指建立系统的各子系统。 (3) 简单原则: 为简化ER模型,现实世界的事物能作为属性对待的,尽量归为属性处理。 第5章 建立数据模型 属性和实体间并无一定的界限。 如果一个事物满足以下两个条件之一的,一般可作为属性对待: (1) 属性不再具有需要描述的性质。 属性在含义上是不可分的数据项。 (2) 属性不能再与其他实体集具有联系,即ER模型指定联系只能是实体集间的联系。 例如,职工是一个实体集,可以有职工号、 姓名、 性别等属性,工资如果没有需要进一步描述的特性,可以作为职工的一个属
13、性。 但如果涉及到工资的详细情况,如: 基本工资、 各种补贴、 各种扣除时,它就成为一个实体集,如图 5 9 所示。 第5章 建立数据模型 图 5 9 工资由属性变为实体集 职工姓名性别年龄职称职工号姓名性别年龄职称职工号工资工资工资号基本工资补贴失业险职工拥有11第5章 建立数据模型 再如,仓库和货物的关系。 如果一种货物只存放在一个仓库中,那么仓库可作为货物的属性加以说明。 但如果仓库与职工发生联系(每个仓库有若干个保管员),那么仓库就应该作为一个实体集加以说明,如图 5 10 所示。 设计一个较大型的企业或单位的ER模型,一般按照先局部,后整体,最后优化的方法进行。 下面以企业职工管理系
14、统为例,说明ER模型的一般设计过程。 第5章 建立数据模型 图 5 10 仓库由属性变为实体集 货号货物货号名称货物名称仓库号存量存放职工职工号姓名年龄管理仓库号面积存量仓库mn1n第5章 建立数据模型 例 5.1 企业职工管理中,需要涉及的功能有: 人事处对职工的档案和部门进行管理,包 括职工基本情况,部门的基本情况以及各种职称、 职务的管理; 财务处管理职工的工资情况; 科研处管理项目、 职工参加项目的情况。 第5章 建立数据模型 1. 确定局部应用范围,设计局部ER模型 局部ER模型的设计步骤如图 5 11 所示。 1) 确定局部应用范围 本例中初步决定按部门划分不同的应用范围,即分为三
15、个子模块: 人事管理、 工资管理和项目管理。 下面以人事管理为例,说明设计局部ER模型的一般过程。 2) 确认实体集 在人事管理中,需要对职工、 部门、 职称职务进行管理,所以实体集有: 职工、 部门、 职称职务。 第5章 建立数据模型 图 5 11 局部ER模型的设计步骤 需求分析确定局部应用范围定义实体、联系、属性设计局部E-R图修改否?进入“全局E-R模型的设计”NY第5章 建立数据模型 3) 确认实体集间的联系集 需要判断所有二二实体集之间是否存在联系。 职工与部门: n 1; 职工与职称职务: m n,因为多个职工可有同一种职称或职务,而一个职工既可有职称又可有职务。 如某职工具有高
16、级职称(高工),同时又是处级干部。部门与职称职务之间没有联系。 4) 确认实体集的属性 职工: 职工号,姓名,性别,年龄。 部门: 部门号,名称,电话。 职称职务: 代号,名称,津贴,住房面积。 第5章 建立数据模型 5) 确认联系集的属性 职工与部门的联系没有单独的属性,职工与职称职务的联系有单独的属性: 职称或职务的任职日期。 6) 画出局部ER模型 图 5 12、 图5 13、 5 14分别是人事管理、 工资管理和项目管理局部ER模型。 第5章 建立数据模型 图 5 12 人事管理局部ER模型 职称职务任职职工性别年龄工资职工号分工部门部门号名称电话负责人任职日期代号名称津贴面积姓名nm
17、1n第5章 建立数据模型 图 5 13 工资管理局部ER模型 姓名性别年龄职工号工资工资号基本工资保险实发工资补贴职工拥有11第5章 建立数据模型 图 5 14 项目管理局部ER模型 职工性别年龄职务职工号参加项目项目号名称起始鉴定日期起始日期姓名nm第5章 建立数据模型 2. 集成局部ER模型,形成全局初步ER模型 将所有局部ER模型集成为全局ER模型。 设计过程如图 5 15 所示。 由于各个局部应用所面对的问题不同,且通常由不同的设计人员进行局部ER模型的设计,因此各个局部ER模型之间必定会存在许多不一致的地方,称为冲突。 所以在合并各局部ER模型时,首先要合理地消除各局部ER模型之间的
18、冲突。 第5章 建立数据模型 图 5 15 全局ER模型的设计步骤 局部 E-R 模型检查并消除冲突合并局部 E-R 图修改否?进入“全局模型优化”NY确定公共实体型第5章 建立数据模型 冲突主要有以下三类: (1) 命名冲突: 包括实体集名、 联系集名、 属性名之间的同名异义和同义异名等命名冲突。 同名异义,即不同意义的对象在不同的局部ER模型中具有相同的名称。 同义异名,即同一意义的对象在不同的局部应用中具有不同的名称。 例如,对于实体集职工,人事部门称之为职工,科研部门可能称之为科研人员。 命名冲突必须通过各部门一起讨论,协商解决。 第5章 建立数据模型 (2) 属性冲突: 包括属性值类
19、型、 取值范围、 取值单位的冲突。 例如,职工号,在一个局部ER模型中定义为整数,在另一个ER模型中定义为字符串。 有些属性采用不同的度量单位,也属于属性冲突。 (3) 结构冲突: 包括两种情况,一是同一对象在不同应用中具有的抽象不同,二是同一实体在各局部应用中包含的属性个数和属性排列次序不完全相同。 例如,在人事部门中,工资可能作为职工的一个属性处理,而在财务部门中作为一个实体集。 第5章 建立数据模型 有时实体集间的联系在不同的局部应用中,可能会有不同的联系集。 根据需求分析,在兼顾的情况下,对发生冲突的属性、 实体集、 联系进行合理的调整和综合,形成一个全系统用户共同理解和接受的统一的E
展开阅读全文