4.2 数据模型

【考点1】数据模型的基本概念

(1)数据模型的概念

数据库中的数据模型可以将复杂的现实世界要求反映到计算机数据库中的物理世界,这种反映是一个逐步转化的过程。它分为两个阶段:由现实世界开始,经历信息世界而至计算机世界,从而完成整个转化。

现实世界

现实世界是指用户为了某种需要,需将现实世界中的部分需求用数据库实现,这样,我们所见到的是客观世界中的划定边界的一个部分环境。

信息世界

信息世界是指通过抽象对现实世界进行数据库级上的刻画所构成的逻辑模型,与数据库的具体模型有关。

计算机世界

计算机世界是指在信息世界基础上致力于其在计算机物理结构上的描述,从而形成的物理模型。现实世界的要求只有在计算机世界中才得到真正的物理实现,而这种实现是通过信息世界逐步转化得到的。

(2)数据模型描述的内容

数据结构

主要描述数据的类型、内容、性质以及数据间的联系等。它是数据模型的基础,数据操作与约束均建立在数据结构上。

数据操作

主要描述在相应数据结构上的操作类型与操作方式。

数据约束

主要描述数据内数据间的语法、语义联系,它们之间的制约与依存关系,以及数据动态变化的规则,以保证数据的正确、有效与相容。

(3)数据模型分类

概念数据模型(概念模型)

它是一种面向客观世界、面向用户的模型;与具体的数据库管理系统无关,与具体的计算机平台无关;着重于对客观世界复杂事物的结构描述及它们之间的内在联系的刻画;是整个数据模型的基础。目前,较为有名的概念模型有E-R模型、扩充的E-R模型、面向对象模型及谓词模型等。

逻辑数据模型(数据模型)

它是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。概念模型只有在转换成数据模型后才能在数据库中得以表示。逻辑数据模型也有很多种,较为成熟并先后被人们大量使用过的有:层次模型、网状模型、关系模型、面向对象模型等。

物理数据模型(物理模型)

它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示。

【真题演练】

在数据库系统中,数据模型包括概念模型、逻辑模型和(  )。[2014年3月真题]

A.物理模型

B.空间模型

C.时间模型

D.数据模型

【答案】A

【解析】数据模型按照不同的应用层次分为:概念数据模型;逻辑数据模型;物理数据模型。答案选择A选项。

【考点2】E-R模型

该模型将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们间的两种基本连接关系,并且可以用一种图非常直观地表示出来。

(1)E-R模型的基本概念

实体

现实世界中的事物可以抽象成为实体,实体是概念世界中的基本单位,它们是客观存在的且又能相互区别的事物。凡是有共性的实体可组成一个集合称为实体集。

属性

属性刻画了实体的特征,一个实体往往可以有若干个属性。每个属性可以有值,一个属性的取值范围称为该属性的值域。

联系

现实世界中事物间的关联称为联系。在概念世界中联系反映了实体集间的一定关系。

a.实体集间的联系有多种,就实体集的个数而言有:

第一,两个实体集间的联系

第二,多个实体集间的联系

第三,一个实体集内部的联系

b.两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有以下几种:

第一,一对一的联系,简记为1:1。

第二,一对多或多对一联系,简记为1:m或m:1。

第三,多对多联系,简记为m:n

(2)E-R模型三个基本概念之间的连接关系

E-R模型由上面三个基本概念组成。由实体、联系、属性三者结合起来才能表示现实世界。

实体集(联系)与属性间的连接关系

a.实体是概念世界的基本单位,属性附属于实体,一个实体可以有若干个属性,实体及它的所有属性构成实体的完整描述。

b.属性有属性域,每个实体可取属性域内的值。一个实体的所有属性取值组成了一个值集叫元组。在概念世界中,可以用元组表示实体,也可用它区别不同的实体。

c.实体有型与值之别,一个实体的所有属性构成了这个实体的型,而实体中属性值的集合(即元组)则构成了这个实体的值。

d.联系也可以附有属性,联系和它的所有属性构成了联系的一个完整描述,因此,联系与属性间也有连接关系。

实体(集)与联系

a.实体集间可通过联系建立连接关系,实体集间无法建立直接关系,它只能通过联系才能建立起连接关系。

b.在E-R模型中有三个基本概念以及它们之间的两种基本连接关系。它们将现实世界中的错综复杂的现象抽象成简单明了的几个概念与关系,具有极强的概括性和表达能力。

(3)E-R模型的图示法

在E-R图中分别用不同的几何图形表示E-R模型中的三个概念与两个连接关系。

实体集表示法

用矩形表示实体集,在矩形内写上该实体集的名字。

属性表示法

用椭圆形表示属性,在椭圆形内写上该属性的名称。

联系表示法

用菱形(内写上联系名)表示联系。

实体集(联系)与属性间的连接关系

属性依附于实体集,因此,它们之间有连接关系。

实体集与联系间的连接关系

实体集与联系间的连接关系可用连接这两个图形间的无向线段表示。

两个实体集间联系叫二元联系,多个实体集间联系叫多元联系。

【真题演练】

1在进行逻辑设计时,将E-R图中实体之间联系转换为关系数据库的(  )。[2014年9月真题]

A.关系

B.元组

C.属性

D.属性的值域

【答案】A

【解析】E-R图为了适应数据库的处理,需要在逻辑设计阶段转换为关系模型,其中实体之间的联系转换为关系数据库中的关系。答案选择A选项。

2一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(  )。[2013年9月真题]

A.一对一

B.一对多

C.多对一

D.多对多

【答案】B

【解析】实体集之间必须通过联系来建立联接关系,包括:一对一联系(1:1),指主表中的一条记录与相关表中的一条记录相关联;一对多联系(1:m),指主表中的一条记录与相关表中的多条记录相关联;多对多联系(m:n),指主表中的多条记录与相关表中的多条记录相关联。一间宿舍可以住多个学生,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。答案选择B选项。

3若实体A和B是一对一的联系,实体B和C是多对一的联系,则实体A和C的联系是(  )。[2014年3月真题]

A.多对一

B.一对多

C.一对一

D.多对多

【答案】A

【解析】实体集之间必须通过联系来建立联接关系,分为:一对一联系,即1:1;一对多联系,即1:m;多对多联系,即m:n。本题中,A与B是1:1联系,B与C是m:1联系,所以A与C是m:1联系,即多对一。答案选择A选项。

4运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目。则实体项目和运动员之间的联系是(  )。[2014年9月真题]

A.多对多

B.一对多

C.多对一

D.一对一

【答案】A

【解析】实体集之间必须通过联系来建立联接关系,可分为:一对一联系,即1:1;一对多联系,即1:m;多对多联系,即m:n。一个运动员可以参加多个运动项目,同时,一个运动项目也可以有多个运动员参加,因此,实体项目和运动员之间的联系是多对多。答案选择A选项。

5在E-R图中,用来表示实体联系的图形是(  )。[2013年3月真题]

A.椭圆形

B.矩形

C.菱形

D.三角形

【答案】C

【解析】在E-R图中,菱形表示联系,矩形表示实体,椭圆形表示属性。答案选择C选项。

【考点3】层次模型

层次模型的基本结构是树形结构,自顶向下,层次分明。

(1)树结构的特性

每棵树有且仅有一个无双亲结点,称为根。

树中除根外所有结点有且仅有一个双亲。

(2)层次模型的完整性约束条件

进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值;

进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除;

进行更新操作时,应更新所有相应记录,以保证数据的一致性。

(3)层次模型的优缺点

优点:

结构比较简单,操作简单;

对于实体间联系是固定的、且预先定义好的应用系统,层次模型有较高的性能;

层次模型还可以提供良好的完整性支持。

缺点:

受文件系统影响大,模型受限多,物理成分复杂,不适合表示非层次性的联系;

对于插入和删除操作的限制比较多;

查询子女结点必须通过双亲结点。

【真题演练】

在满足实体完整性约束的条件下(  )。[2015年3月真题]

A.一个关系中应该有一个或多个候选关键字

B.一个关系中只能有一个候选关键字

C.一个关系中必须有多个候选关键字

D.一个关系中可以没有候选关键字

【答案】A

【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。候选关键字的性质有;在一个关系中,候选关键字可以有多个;任何两条记录候选关键字值都是不相同的;关键字由一个属性构成,也可能由多个属性构成;在任何关系中至少有一个关键字。所以,在满足实体完整性约束的条件下,一个关系中应该有一个或多个候选关键字。答案选择A选项。

【考点4】网状模型

(1)网状模型是一个不加任何条件限制的无向图。将通用的网络拓扑结构分成一些基本结构,分解方法是将一个网络分成若干个二级树。

(2)在网状模型标准中,基本结构简单二级树叫系,系的基本数据单位是记录,它相当于E-R模型中的实体(集);记录又可由若干数据项组成,它相当于E-R模型中的属性。

(3)系由一个首记录和若干成员记录组成

首记录相当于简单二级树的根;

成员记录,它相当于简单二级树中的叶;

首记录与成员记录之间的联系用有向线段表示,在系中首记录与成员记录间是一对多联系。

【考点5】关系模型

(1)关系的数据结构

关系模型中二维表的组成

二维表由表框架及表的元组组成。表框架由n个命名的属性组成,n称为属性元数。每个属性有一个取值范围称为值域。表框架对应了关系的模式,即类型的概念。表框架中,按行存放数据,每行数据称为元组,一个表框架可以存放m个元组,m称为表的基数。

二维表满足的性质:

a.二维表中元组个数是有限的——元组个数有限性。

b.二维表中元组均不相同——元组的唯一性。

c.二维表中元组的次序可以任意交换——元组的次序无关性。

d.二维表中元组的分量是不可分割的基本数据项——元组分量的原子性。

e.二维表中属性名各不相同——属性名唯一性。

f.二维表中属性与次序无关,可任意交换——属性的次序无关性。

g.二维表属性的分量具有与该属性相同的值域——分量值域的同一性。

满足以上7个性质的二维表称为关系,以二维表为基本结构所建立的模型称为关系模型。

a.二维表中凡能唯一标识元组的最小属性集称为该表的键(或码),键具有标识元组,建立元组间联系等重要作用。

b.二维表中可能有若干个键,它们称为表的候选键,从二维表汇总选取一个作为用户使用的键称为主键。

c.关系元组分量中允许出现空值以表示信息空缺。一般关系数据库系统都支持空值,但是有两个限制:第一,关系的主键不允许出现空值;第二,需要定义有关空值的运算。

(2)关系操纵

数据查询

a.对一个关系内的查询

第一,对一个关系内查询的基本单位是元组分量,其基本过程是先定位后操作。

第二,定位包括纵向定位和横向定位,纵向定位是指定关系中的一些属性,横向定位是选择满足某些逻辑条件的元组。通过纵向与横向定位后一个关系中的元组分量即可确定了。

b.对多个关系间的数据查询

对多个关系间的数据查询则可分为三步:

第一,将多个关系合并成一个关系;

第二,对合并后的一个关系作定位;

第三,操作。

数据删除

第一,数据删除的基本单位是一个关系内的元组,它的功能是将指定关系内的指定元组删除。

第二,分为定位与操作两部分,其中定位部分只需要横向定位而无需纵向定位,定位后即执行删除操作。因此数据删除可以分解为一个关系内的元组选择与关系中元组删除两个基本操作。

数据插入

数据插入仅对一个关系而言,在指定关系中插入一个或多个元组。

数据修改

数据修改是在一个关系中修改指定的元组与属性。数据修改不是一个基本操作,它可以分解为删除需修改的元组与插入修改后的元组两个更基本的操作。

关系模型的六种基本操作:

a.关系的属性指定;

b.关系的元组选择;

c.两个关系合并;

d.一个或多个关系的查询;

e.关系中元组的插入;

f.关系中元组的删除。

(3)关系中的数据约束

实体完整性约束

该约束要求关系的主键中属性值不为空,由关系数据库系统自动支持。

参照完整性约束

该约束是关系之间相关联的基本约束,不允许引用不存在的元组,由关系数据库系统自动支持。

用户定义的完整性约束

由关系数据库系统提供完整性约束语言,用户利用该语言写出约束条件,运行时由系统自动检查。这是针对具体数据环境与应用环境由用户具体设置的约束,它反映了具体应用中数据的语义要求。

【真题演练】

1逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是(  )。[2014年9月真题]

A.关系模型

B.谓词模型

C.物理模型

D.实体-联系模型

【答案】A

【解析】数据库采用了三级数据模型的结构,即概念模型、逻辑模型、物理模型。其中,逻辑模型也称数据模型,面向数据库系统,着重于在数据库系统一级的实现。数据模型主要有:层次模型;网状模型;关系模型;面向对象模型等。答案选择A选项。

2在关系A(S,SN,D)和B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则D是A的(  )。[2014年3月真题]

A.外键(码)

B.候选键(码)

C.主键(码)

D.元组

【答案】A

【解析】外键表示了两个关系之间的相关联系。表M中的某属性集是表N的候选键或者主键,则称该属性集为表M的外键(码),在本题中,A中属性集D是B的主关键字,故D是A的外键(码)。答案选择A选项。

3设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。

其中表C的键为公司号,表S的键为员工号,则表E的键(码)为(  )。[2014年9月真题]

A.公司号,员工号

B.员工号,工资

C.员工号

D.公司号,员工号,工资

【答案】A

【解析】关系是一张表,表中的每行(即数据库中的每条记录)是一个元组,每列是一个属性,元组是关系数据库中的基本概念。在二维表里,元组也称为记录。候选键(码)是二维表中能唯一标识元组的最小属性集,候选键(码)可以有多个,当一个二维表有多个候选键(码)时,则选定其中一个作为主键(码)供用户使用。在本题中,公司号唯一标识公司,员工号唯一标识员工,而雇佣需要公司号与员工号同时唯一标识,故表E的键(码)为(公司号,员工号)。答案选择A选项。