2.2~2.6ER模型的基本概念

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库系统原理

2.2ER模型的基本概念

ER模型由Peter Chen 于1976年在命题为“实体联系模型:将来的数据视图”论文中提出。

2.2.1ER模型的基本元素

1实体定义:

·实体:是一个数据对象,指应用中可以区别的客观存在的实物。

·实体集:是指同一类实体构成的集合。

·实体类型:是对实体集中实体的定义。

ER模型中提到的实体往往是指实体集。

实体用方框表示,方框内注明实体的命名。

2联系定义:

实体不是孤立的,实体之间是有联系的。

·联系:表示一个或者多个实体之间的关联关系。

·联系集:是指同一类联系构成的集合。

·联系类型:是对联系集中联系的定义。

联系是实体之间的一种行为。

联系用菱形框表示,并用线段将其与相关的实体连接起来。

3属性定义:

属性:实体的某一特性成为属性,能够唯一表示实体的属性或属性集称为“实体标识符”。一个实体只有一个标识符,没有候选标识符的概念。实体标识符有事也成为实体的主键。属性用椭圆形框表示,加下划线的属性为标识符。

属性域是属性的可能取值范围,也成为属性的值域。

2.2.2属性的分类

1简单属性和符合属性:

(1)简单属性个是不可再分割的属性,符合属性是可在费解为其他属性的属性。

2单值属性和多值属性:

(1)单值属性指的是同一实体的属性只能取一个值,多值属性指同意实体的某些属性可能取多个值

缺点:如果太过简单的表示多值属性,会产生大量的数据冗余,造成数据库潜在的数据异常、数据不一致性和完整性的缺陷。

调整方式:修改原来的ER模型,对多值属性进行变换。有以下两种方法:

1)将原来的多值属性用几个新的单值属性来表示。

2)将原来的多值属性用一个新的实体类型表示:这个新实体以来于原实体而存在,我们称之为弱实体。

3存储属性和派生属性:

(1)派生属性:两个或两个以上的属性值是相关的,可以从其他熟悉吸纳个只推导出值的属性,称为派生属性。

(2)储存属性:派生属性的值不必存储在数据库内,而其他需要存储值的属性称为储存属性。

4允许为空值的属性:当实体的某个属性上没有值时应使用空值(Null value),Null还可以用于值未知的时候,未知的值可能是缺失的,或者不知道的。

在数据库中,空值是很难处理的一种值。

2.2.3联系的设计

1.联系的元数:

定义:一个联系涉及到的实体集个数,成为该联系的元数或度数。

·同一实体集内部的实体之间的联系,称为一元联系,也称为递归联系。

·两个不同的实体集、实体之间的联系,称为二元联系。

·三个不同实体集实体之间的联系,称为三元联系。以此类推

2联系类型约束:

(1) 基数约束:

定义:实体集E1和E2之间有二元联系,则参与一个联系中的实体数目称为映射

基数。

二元联系有 1:1 1:N N:M

在具体实现时,有事我们对映射基数还要做出更精确的描述,即对参与联系的实

体数目指明相关的最小映射基数MIN 和最大映射基数MAX ,用“min..max ”的方

式表示。

(2) 参与约束:

定义:如果实体集E 中的每个实体都参与联系集R 的至少一个联系中,我们称实

体集E “完全参与”联系集R 。如果实体集E 中只有部分实体参与联系集R 的联

系中,我们称实体集E “部分参与”联系集R 。在ER 图中表示时,完全参与用双

线边表示,部分参与用单线边表示。

2.2.4ER 模型的操作

定义:对ER 图进行的种种变化称为ER 模型的操作,包括实体类型、联系类型和属性的分

裂、合并、增删等等。

1分裂方式分为水平分裂和垂直分裂两种

(2)可以把实体相关的属性中常变的属性组成一个实体类型,把固定不变的属性组成另一

个实体类型,这就是垂直分裂。

2联系也可以分裂,合并是分裂操作的逆过程,合并的联系类型必须是定义在相同的实体类

型组合中。

2.2.5采用ER 模型的数据库概念设计步骤

定义:采用ER 模型进行数据库的概念设计,可以分成三步进行:首先设计局部ER 模型,

然后把各局部

ER 模型纵横成一个全局ER 模型,最后对全局ER 模型进行优化,得到最终

的ER 模型,即概念模型。

1设计局部ER 模型

核心思想:

“分而治之”,即分别考虑各个用户的信息需求,形成局部概念结构,然后再综合

成全局结构。局部概念结构又叫局部ER模型,图形称为局部ER图。

每一个应用设计局部ER模型的步骤:

(1)确定局部结构范围

设计各个局部ER模型的第一步,确定局部结构的范围划分,划分的方式两种:

·依据系统的当前用户进行自然划分

·按用户要求数据库提供的服务归纳成几类,使每一类应用访问的数据显著的不同于其他类,为每类应用设计一个局部ER模型。

(2)定义实体

从信息需求和局部范围定义出发,确定每一个实体类型的属性和键。

实体、属性和联系之间并无截然区分的界限,划分依据有三种:

·采用人们习惯的划分

·避免冗余,在一个局部结构中,对一个对象之取一种抽象形式,不要重复

·依据用户的信息处理需求

实体类型确定之后,他的属性也随之确定。命名反映实体的语义性质,在一个局部结构中应唯一。

(3)定义联系

ER模型的“联系”刻画实体之间的关联。分析其中是1:1 1:M M:N等。

还要考虑实体内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等。

应注意方式出现冗余的联系(可以从其他联系导出的联系),要尽可能的识别并消除这些冗余联系,一面将这些问题遗留给综合全局的ER模式阶段,联系类型的命名没有标识符。

(4)分配属性

1)确定属性

2)把属性分配到有关实体和联系中去。

确定属性的原则是:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N(一对多)的;不同实体类型的属性之间应无直接关联联系。

·属性不可分解的要求是为了是模型结构简单化,不出现嵌套结构。

·当多个实体类型用到同一属性时,将导致数据冗余,从而可能影响储存效率和完整性约束,因而需要确定把他分配给哪个实体类型。一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。

·有些属性不宜归属于任何一个实体类型,只能说明实体之间联系的特性,应作为联系类型的属性。

2设计全局ER模型

全局概念结构不仅要支持所有局部模型,而且必须合理的表示一个完整、一致的数据库概念结构(或称为视图集成,视图特指局部概念结构)。

(1)确定公共实体类型

在这一步中,我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。

(2)合并局部ER模型

合并的顺序影响处理效率和结果。建议合并原则:

·先进行两两合并,先合并那些现实世界中有联系的局部结构

·合并从公共实体类型开始,最后加入独立的局部结构。

相关文档
最新文档