好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实体联系模型(e-rmodel).ppt

55页
  • 卖家[上传人]:j****9
  • 文档编号:54771818
  • 上传时间:2018-09-19
  • 文档格式:PPT
  • 文档大小:5.03MB
  • / 55 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第 3 章 实体联系模型(E-R Model) 内容提要: 1、E-R模型(概念模型) 2、实体和实体集合 3、联系和联系集合 4、属性、映射限制和关键字 5、实体联系E-R图解和将之归纳为表 6、概括和聚集 7、E-R数据库模型设计,,目的要求:1. 了解E-R模型(概念模型的基本概念)2. 了解实体、实体集、属性和域的概念3. 了解联系、联系集、角色和联系的属性4. 了解属性、映射限制和关键字的概念5. 能够画实体联系图和将之归纳为表6. 了解概括和聚集的基本概念7. 能够进行E-R数据库模式设计,,重点:1、实体、实体集、属性和域的概念 2、关键字的概念与确认 3、能够画实体联系图并将其归纳为表 4、实体集和联系集的使用,,难点: 1、联系集和角色 2、弱实体的E-R表 3、三个实体型之间一对多关系 4、映射基本集、概括和聚集的理解作业、实验: 第3次作业: (P73)3, 4 题,,3.0 E-R模型(概念模型)1、数据模型分类根据数据模型应用于的不同目的,可以将模型分为两类或者说两个层次:概念模型:也称信息模型,如E-R模型数据模型:如网状、层次和关系模型和面向对象模型等。

      前者是按用户的观点对数据和信息建模,后者是按计算机系统的观点对数据建模2、概念模型(E-R模型)(1)为了把现实世界中的具体事物抽象、组织为DBMS支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界抽象为机器世界换句话说,首先把现实世界的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体计算机,而是概念级的模式然后把概念,,级模型转换为计算机某一DBMS支持的数据模型故概念模型是现实世界到机器世界的一个中间层次如图所示现实世界,认识抽象,信息世界、概念模型,机器世界、DBMS支持的数据模层,,,,,概念模型的表示方法最常用的是P.P.S chen于1976年提出的实体联系方法(Entity-Relationship Approach)又称为E-R模型 (2)E-R模型实际上是一种实体联系建模技术,其建模目标是提供你面向的系统的信息需求的准确模型该模型将作为开发新系统和增强现有系统的框架为建立需要的高质量系统打下基础 注:先进的作法是实体关系建模技术与CASE(计算机辅助软件工程)工具结合而行例如可用PD(PowerDesioner)或rose工具,具体可参见第 6 章。

      3.1 实体和实体集合下面介绍E-R涉及的基本概念 1、实体(Entity)客观存在并可以相互区别的事务称为实体(entity)解释:实体可以是人,也可以是物;可以指实际的对象,也可以指某些概念 例如,一个职工、一个学生、一门课,学生的一些选课 实体对象 抽象事件,,,,2、实体集(Entity Set)具有相同类型 的实体(相当于数据库表的记录行)的集合称为实体集(就是同学们学过的Access的数据库表)例如:一个学生是一个实体,全体学生就是一个实体集注:这种抽象称为分类(classification) 3、属性(Attribute)一个实体可以由若干个特性来刻画,实体具有的每一个特性称为属性(相当于数据库表的字段(列))例如:学生实体,可由学号、姓名、性别、年龄、系、年级9673101,王平,男,22,计算机系,三年级)这些属性组合起来就表现了一个学生的情况相当于记录,特性为字段)4、域(Domain)每个属性的取值范围称为属性的域(称为值域)解释:值域的类型可以是整型、实型、字符型等例如:学号的域为7位整数姓名的域为字符串集合性别的域为(男、女)。

      每个实体可以用(属性、数据值)的集合来描述例如, 账户这一顾客实体描述为一个集合{(姓名,张三),(身份证号,510104660811401),(住址,成都市人民南路)}这个实体说明一个人姓名为张三,身份证号为……在本章中例有5个实体集3.2 联系和联系集合1、联系现实世界事物之间是有联系的,这种联系必然在信息世界加以反映一般存在两种联系:(1)实体内部的联系如:组成实体属性之间的联系2)实体之间的联系我们主要是讨论实体之间的联系如图3-2,可以在顾客张三和账户号301之间定义一个联系(relationship)它说明张三在银,,行的账号为3012、联系集相同类型的联系的集合称为联系集(relationship Set)可以这样描述:若E1,E2,…,En是实体集,(e1,e2,…en)是联系,当n≥2时,那么,联系集R是集合{(e1,e2,.,en)|e1∈E1,e2∈E2,.,en∈En}的子集最常见的联系是n=2的情形,但有时也有三个或多个实体之间相互联系的情况实体e1属于实体集E1,实体e2属于实体集E2例如两个实体集,定义一个联系集CustAcct,用来描述顾客与账户之间的联系。

      这是二元联系集再如:顾客张三,账户301和成都分行组成了一个三元联系,说明顾客张三有一个在成都分行的账户301它是顾客、账户和分行三元联系CAB的一个实例可将一个非二元联系集转化为多个不同的二元联系集,这样可将E-R模型严格地限制为只包括二元联系的集合3、角色一个实体在一个联系中起的作用称为角色(role)当一个联系需要详细地进行分析时,它们是有用的,特别是在一个联系中的实体集并不清晰时如图3-10例如,联系集works-for为雇员实体的有序对形成的,一对中的第一个雇员是一个经理的角色,第二个是工人角色,这样,works-for中的所有联系描述为(经理,工人)对4、联系的属性一个联系也具有属性(本身的属性)例如,date可以是CustAcct联系集中的一个属性,它说明顾客访问账户的最近时间联系集CustAcct中包括的顾客张三和账户301实体可以用{(date,25 December 2008)}描述,这表明张三访问账户301的最近时间是2008年12月25日3.3 属性、映射限制和关键字3.3.1 属性从不同的角度,可用不同的方法来定义实体集和联系集,其主要的区别在于要处理的属性不同。

      例如:原来的顾员实体姓名(属性)、(属性)容易想到的是和放的地址联系在一起可以将顾客的实体重新定义如下:顾客实体:姓名,,实体:号、地址联系集EmpPhn ,指顾员和其拥有的之间的关系说明:原来的定义了每一个顾员及拥有的,新的定义说明零个或几个与之联系3.3.2 映射限制描述概念结构的有力工具是E-R模式,一个重要的限制是映射基集(mapping cardinalities),它描述了一个实体能够通过联系集关联的实体的数量实体集A和B之间的二元联系集R,映射基集必须是下面的四种之一,即联系可分为四种:1、一对一联系(1:1)若对实体集A中的一个实体,实体集B中至多有一个实体与这联系,反之亦然见图3-3)2、一对多联系(1:m)若对实体集A中的每一个实体,实体集B中有m个(m≥0)实体与之联系,反之对于实体集B中的每一个实体,实体集A至多只有一个实体与之联系见图3-4)3、多对一联系(m:1)若对于实体A中每个实体,实体集B中至多有,,,,,,,,,一个实体与之联系,反之,对于实体集B中的每一个实体,实体集A有m个(m≥0)与之联系见图3-5)4、多对多联系(n:m)若对于实体集A中的每一个实体,实体集B中有n个实体( n≥0 )与之联系,对于实体集B中的每一个实体,实体集A有m( m≥0)个实体与之联系。

      (见图3-6)例如:一个顾客有多个账户,每个账户又为多个顾客所有3.3.3 关键字 (一)超级键或曰“超码”(Superkey)超级键是用来唯一地表示实体集中的一个实体的一个或多个属性的集合例如,顾客实体中的身份证号唯一地表示一位顾客,身份证号是一个超级键姓名不能作超级键,因为可能有相同姓名当然顾客姓名和身份证一起可以作为顾客实体集中的一个超级键(这也是通常说的组合关键字或复合关键字) (二)候选键或曰“候选码”( candidate keys) 最少的超级链称为候选键解释:如果k是一个超级键,那么包括k所有集合都是超级键我们感兴趣的超级键是这些超级键的任何子集都不是超级键这样的最小超级键叫候选键如{姓名,地址} 可唯一区别,标志顾客实体的任何一位顾客,它是超级键、候选键(因其子集不是超级键)但{身份证号,姓名} 也是超级键,但不是候选键,因其子集身份证号是超级键 (三)主关键字(Primary key)可以用主关键字(超级键)来表示一个候选键,这是用来区分实体集中实体的主要手段1、弱实体集(weak entity set),,在实体集中无法找到足够多的属性来构成一个主关键字,这样的实体集被称为弱实体集 。

      2、强实体集(strong entity set) 拥有主关键字的实体集被称为强实体集例如,事务实体集,有三个属性:事务号、日期、合计它是从属于账户实体的从属实体不同的账号所做的多个交易可能属于同一个事务号这样,事务实体就没有主关键字,是一个弱实体要使其有意义,必须像前面介绍的那样,账户—事务是一对多强实体的一个成员是一个主实体,弱实体的一个成员是一个从属实体3、弱实体集的主关键字虽然弱实体集并不拥有一个主关键字,但仍然需要一个手段来区分这些依赖于一个特定的强实体的实体集中的各个实体 例如:账户实体集(强实体) 事务实体集(弱实体)账户号 余额 事务号 日期 合计这里,事务实体集是弱实体集:它的主关键字由它存在依赖的强实体集的主关键字(账号)加上它的区别符(事务号)构成事务实体集中主关键字是{账号,事务号} 账号:表明一个事务的主实体 事务号:相同账号中的事务由事务号区别4、联系集中的主关键字实体集中的主关键字允许区分一个实体集中的各个实体也需要一个同样的机制来区分联系集合中的不同的联系 (1)设R是一个联系集,包括实体集E1,E2,.,En。

      设primary-key(Ej)表示构成实体Ej主关键字的属性集合,进一步假定所有主关键字的属性名是唯一的①如果R没有描述性的属性,那么联系集R各个联系的属性attribute(R)表示为:primary-key(E1) ∪ primary-key(E2) ∪ . ∪ primary-key(En),即主键字的并集②如果R有描述性(如前述的date)的属性{a1,a2,.,am},那么联系集R各个联系的属性attribute(R)表示为:primary-key(E1) ∪ . ∪ primary-key(E2) ∪{a1,a2,.,am},即主键字、属性的并集例如:3.2节中,定义了联系集CustAcct包含:实体集顾客—主关键字为身份证号实体集账户—主关键字为账号,,CustAcct有属性dateattribute(CustAcct)表示为:身份证号∪ 账号∪ date(2)现在解释联系集R的主关键字的组成:组成依赖于映射基集与R相关的属性①若R没有与它关联的属性,那么attribute(R)就构成一个超级键若映射基集是多对多的关系,则此超级键是主关键字 联系集CustAcct若是多对多的则主关键字是{身份证号,账号}。

      若是从顾客到账户的多对一,则主关键字是{身份证号},因为一个顾客至多只有一个账户与与之联系②若联系集R有多个属性,则超级键的组成即主键字、属性的并集主关键字的结构依赖于映射基本集和联系集的语义 例如:联系集CustBanker ,若是银行家对一个特定的顾客担当两个不同的角色,则主关键字是顾客和银行家的主关键字与类型(属性)的并集{身份证号,账号,类型} 若是一个特定的银行家只能以一种联系类型(贷款官员)与一个特定顾客关联,那么类型不是主关键字则主关键字只是顾客、银行家主关键字的并集{顾客,银行家} 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.