实体联系模型new

上传人:平*** 文档编号:48604429 上传时间:2018-07-18 格式:PPT 页数:55 大小:543.02KB
返回 下载 相关 举报
实体联系模型new_第1页
第1页 / 共55页
实体联系模型new_第2页
第2页 / 共55页
实体联系模型new_第3页
第3页 / 共55页
实体联系模型new_第4页
第4页 / 共55页
实体联系模型new_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《实体联系模型new》由会员分享,可在线阅读,更多相关《实体联系模型new(55页珍藏版)》请在金锄头文库上搜索。

1、第二章 概念模型-本章内容数据模型概念模型(ER模型)-基本概念扩展的ER模型实体与联系实例分析数据模型l作用:对现实世界进行抽象。找到所关心的 数 据,并将其组织起来,使之可以存放到数据库 中。l模型:是描述数据的概念集合。按应用的 不同 目的分为两类:概念模型、数据模型。l概念模型:也称信息模型,它按用户的观点对 数据和信息进行建模,用于信息世界,它强调 语义表达能力,是现实世界到信息世界的第一 次抽象,是用户和数据库设计人员之间进行交 流的语言。数据模型l数据模型:用于机器世界,是按计算机系统的 观点对数据建模,它需要有严格的形式化定义 ,且常常要加上一些限制和规定,以便机器实 现l数据

2、模型的三要素 数据结构-对静态数据的描述确定所研究的对象类型的集合。 对象包括:数据本身、数据之间的联系现实 世界信息 世界机器 世界图表、文件 等文字形式 表示概念模型数据模型在关系中: 关系、域、属性数据模型在数据库系统中是按数据结构的类型来命名数 据模型。 按数据库系统所支持的数据模型来命名数据库 系统,例如:关系数据库系统、层次数据库系统、 网状数据库系统等。 数据操作-对数据动态特性的描述是指对数据库中各种对象(型)的实例( 值)允许执行的操作的集合,包括操作、操作规 则。操作:检索、更新定义操作的确切含义、操作符号、操作规 则和实现语言数据模型 数据的约束条件-对数据静态特性的描述

3、是完整性规则的集合。完整性规则是给定 数据模型中的数据及其联系所具有的制约和依存 规则,用以限定符合数据模型的数据库状态以及 状态的变化,以保证数据的正确、有效、相容。 例如:学生年龄的限定,奖金必须低于基本工资 等数据模型应规定该模型必须遵守的完整性 约束条件,例如:关系模型中的实体完整性、参 照完整性。数据模型应提供定义完整性约束条件的机 制。概念模型- ER模型基本概念l是现实世界到机器世界的一个中间层次,概念 模型中最常用的是ER模型,介绍ER模型(实 体联系)中的主要概念。l实体(Entity):客观存在并可以相互区分的 事物叫实体。(例如:一个个学生、一辆辆轿车)l属性(Attri

4、bute):实体一般具有若干特征, 称之为实体的属性。例如:学生具有学号、姓名等 属性。l域(Domain):一个属性可能取值的范围称 为这个属性的域。例如:性别的域值只能为“男”或“ 女”ER模型基本概念l候选码:能够唯一标识实体的属性或最小属性 组称为候选码,可能存在多个候选码,设计者 必须指明一个候选码做主码(关键字)。例如 :见图l实体型(Entity type):具有相同属性的实体 具有共同的特征和性质,用实体名及其属性集 合来抽象、刻画同类实体,称为实体型。学生学号姓名性别专业ER模型基本概念l实体集(Entity set):同型实体的集合l联系:现实世界的事物之间是有联系的,这种

5、 联系在信息世界中反映为:实体(型)内部的联 系和实体(型)之间的联系。l两个实体型之间的联系 一对一联系(1:1)例如:部门、经理 一对多联系(1:n)例如:部门、雇员 多对多联系(m:n)例如:学生、课程ER模型基本概念举例ER模型基本概念部门经理设有部门雇员拥有学生课程选修111nmnER模型基本概念l两个以上实体型之间的联系 也存在一对一、一对多和多对多的联系 一对多:若实体集E1,E2,En存在联 系,对于实体集Ej(j=1,2,i-1,i+1,n)中 的给定实体,最多只和Ei中的一个实体相联 系,则我们说Ei与E1,E2,Ei- 1,Ei+1,En之间的联系是一对多的。 例子:三个

6、实体型之间的联系ER模型基本概念l同一实体集内的各个实体之间的联系 例如:职工实体集内的实体有领导和被 领导的关系;高数、离散数学是数据结构的 先导课,数据结构是操作系统、数据库原理 的先导课。课程教师设有1n参考书m一对多供应商项目供应mp零件n对对多ER模型基本概念经理也是职工,经理要领导多个职工,而一 个职工仅被一个经理领导。职工领导1n课程先导课mn联系的属性学生课程选修mn学号姓名 专业课程号课程名学时成绩 ?学生课程选修mn学号姓名 专业课程号课程名学时成绩?联系的属性学生课程选修mn学号姓名 专业课程号课程名学时成绩实例分析例子1:假定开发某工厂物资管理系统,业务调 查后得到如下

7、的问题描述。在该工厂中,一个 仓库可以存放多种零件,一种零件可以存放在 多个仓库中,一个仓库有多名职工当保管员, 一个职工只能在一个仓库工作,每个仓库有一 名主任。仓库存放由许多供应商为一些项目提 供的多种零件,一个项目可以有多个供应提供 多种零件,一个供应商可供给多个项目多种零 件,每种零件由不同的供应商提供给多个项目 。实例分析(E-R图)供应商项目供应 nm仓库零件存放nmp1职工工作n领导n1实例分析(E-R图)仓库零件职工供应商项目供应存放工作领导 nmnmp1nn1姓名地址账号供应商号电话号面积仓库号电话号职工号姓名 年龄职称项目号供应量零件号库存量预算规格名称描述单价开工日期职工

8、电话号 ?实例分析l例子2:开发学校信息管理系统。学校中有若 干系,每个系有若干班级和教研室,每个教研 室有若干教师,其中有教授和副教授每人各带 若干名研究生,每个班有若干学生,每个学生 选若干课程,每门可由若干学生选修。实例分析(E-R图)系班级教研室有设有1nn1学生属于1n 教师工作1n课程选修nm指导1n实例分析(E-R图)系系名电话号班名地址学号人数班级学生课程教研室教师有设有属于工作选修指导姓名住处课程号课程名学时教研室名地址电话号职工号姓名职称研究方向1nn11n1nnm研究方向是否四级1n指导人数实例分析(E-R图)学号学生姓名住处研究生本科生教师教授(副)研究方向是否四级研究

9、方向培养类型软件开发中,实际使用的ER模型有更丰富的语 义,介绍扩展ER的一些内容,扩展ER表示有所 不同如何表示?指导人数ER模型的其它特征 -参加约束l实体的参与度(有些ER模型) 实体参与联系的最小和最 大次数,例如:规定每位学生最少 选三门课,最多六门课,则学生在 选修联系中的参与度表示为 (3,6)。 规定有些课程可以无人选,但任一 门课程最多允许100人选,则课程的 参与度为 (0,100)。表示为 (min,max),0=1学生课程选修mn(3,6)(0,100)ER模型的其它特征 -弱实体l弱实体 现实世界有一种特殊的联系,这种联系 代表实体间的所有关系。例如:职工和家属的 关

10、系 弱实体是依赖于其它实体存在而存在的 实体 部分参与:min=0,不是实体集 中的每个实体都参与联系 全参与:min0,实体集中的每 个实体都参与联系学生课程选修mnER模型的其它特征 -弱实体 两个特点:弱实体不能独立存在,它总是依附于某一所 有者实体。 owner实体集与弱实体集之间必须是一 对多联系,弱实体必须是全部参与弱实体不一定有自己的码,例如:家属实体 集可能有姓名、性别、出生年月等信息,但这些信 息不足以标识一个家属(不同职工的家属有可能会重 名)。所有者实体的码+弱实体的某一属性=标识一个 弱实体职工职工家属1n 家属ER模型的其它特征 - 类层次l 例子:学校中学生, 研究

11、生, 本科生l 实体集研究生和本科生称为实体集学生的子类 l 从语义上来讲,子类中的每一个实体同时也是 超类中的一个实体,子类中实体属性必须包含 所有的超类实体集的属性,也就是说,子类将 继承超类的属性 l 超类/子类联系称之为ISA联系l 表示ER模型的其它特征 - 类层次学号学生姓名住处研究生本科生研究方向是否四级培养类型ISA教师教授(副)研究方向ISA指导指导人数职工号姓名职称研究方向n1ER模型的其它特征 - 类层次l ISA联系可以从两个方面来看 可以看作是一个特化,即子类是经过超 类特化而得到的 也可以看作是一个概括,即超类是对子 类进行概括而得到的 l 定义在ISA联系上的两种

12、约束关系 Overlap约束:Overlap约束用来指定两 个子类之间是否允许包含同一实体 Covering约束:Covering约束用来指定 子类中所有的实体是否包含超类中的所有实 体ER模型的其它特征 -聚合l 联系描述的是多个实体集间的关联,只有实体 才能参与联系,不允许联系参与联系,但实际 应用中往往有时需要联系参与联系 l 把联系看成由参与联系的实体组合而成的新实 体,这种新实体称为参与联系的实体的聚合 l 新实体的属性为参与联系的实体的属性和联系 的属性的并 l 新实体参与联系ER模型的其它特征 -聚合l 存在四个实体集(大学、研究所、公司、科研项 目)和两个联系(合作、承担),其

13、中合作是建立 在大学、研究所和公司之间的联系 l 为了定义承担这样的联系,可以对联系合作、 实体集大学、研究所和公司进行聚合, 将他们 当作一个实体集来看待 l 表示ER模型的其它特征 -聚合大学校名电话号地址科研项目合作承担nnm研究所所名电话号地址p公司公司名电话号地址m用ER模型进行概念数据库设计p用ER模型来进行概念数据库设计时通常需要注 意以下几个问题 一个概念应该被建模为一个实体还是一个属性? 一个概念应该被建模为一个实体还是一个联系? 应该使用多个二元联系还是一个n元联系?实体与属性p在进行数据建模时,一个特征究竟应该建模为 一个属性、一个实体集,还是一个联系集,有 时并不是十分

14、清楚的 p例子:向实体集Employees中增加Address信息, 可能有多种方式 将Address作为一个属性:如果我们仅仅是想 记载雇员的一个地址,这时这种方式就比较合适 也可以将地址信息建模为一个实体集Addresses ,并在Employees和Addresses之间建立一个联系 Has_Address,这种设计在以下两种情况是必须的 必须为雇员记载多个地址 我们希望结构化雇员的地址信息实体与属性雇员雇员号雇员名 职称地址如果多个?雇员雇员号雇员名 职称有地址1n省市街道结构化的好处?实体与联系例子1:雇员和部门的联系 在这个例子中,如果不允许一个雇员在 同一部门工作过两次的话,则该

15、ER图的 设计没有任何问题,但如果允许同一雇员 在一个部门多次任职的话,则上述ER图 设计存在问题。Why? 解决策略:引入一个实体Duration,也 就是将原来的二元联系建模为一个实体 ,并用一个三元联系取代原来的二元联 系。雇员部门工作1n实体与联系 - 例1mnmnp实体与联系 - 例1mnlEmployee1 9596 department1lEmployee1 9697 department2lEmployee1 9899 department1 mnplEmployee1 9596 department1lEmployee1 9697 department2lEmployee1

16、9899 department1 实体与联系- 例2例子2:一个部门至多只能有一个管理者,但一 个经理可以管理多个部门,经理管理部门有一个 起始时间和所自由支配的财务情况,如果对于每 个部门都有一个财务情况,则这种表示方式是非 常自然的。1ndid dname since dbudget ssn 1aa 90-95 100 01 2bb 95-98 50 01 3正常did dname since dbudget ssn 1aa 90-95 100 01 2bb 90-95 100 01 3存在冗余实体与联系- 例2如果属性dbudget表示对其所管理的所有部门而 言所能自由支配的财务情况的话,则上述表示会 引起dbudget信息的冗余。 解决策略:引入一个实体Mgr_ppts来

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号