购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.2 数据模型

数据模型主要有两大类,分别是概念数据模型(实体—联系模型)和基本数据模型(结构数据模型)。

概念数据模型是按照用户的观点来对数据和信息建模,主要用于数据库设计。概念模型主要用实体—联系方法(Entity-Relationship Approach)表示,所以也称E-R模型。

基本数据模型是按照计算机系统的观点来对数据和信息建模,主要用于DBMS的实现。基本数据模型是数据库系统的核心和基础。基本数据模型通常由数据结构、数据操作和完整性约束三部分组成。其中数据结构是对系统静态特性的描述,数据操作是对系统动态特性的描述,完整性约束是一组完整性规则的集合。

常用的基本数据模型有层次模型、网状模型、关系模型和面向对象模型。

层次模型用树形结构表示实体类型及实体间的联系。层次模型的优点是记录之间的联系通过指针来实现,查询效率较高。层次模型的缺点是只能表示1:n联系,虽然有多种辅助手段实现m:n联系,但比较复杂,用户不易掌握。由于层次顺序的严格和复杂,导致数据的查询和更新操作很复杂,应用程序的编写也比较复杂。

网状模型用有向图表示实体类型及实体间的联系。网状模型的优点是记录之间的联系通过指针实现,m:n联系也容易实现,查询效率高。其缺点是编写应用程序的过程比较复杂,程序员必须熟悉数据库的逻辑结构。

关系模型用表格结构表达实体集,用外键表示实体间的联系。其优点有:

(1)建立在严格的数学概念基础上;

(2)概念(关系)单一,结构简单、清晰,用户易懂易用;

(3)存取路径对用户透明,从而数据独立性、安全性好,简化数据库开发工作。

关系模型的缺点主要是由于存取路径透明,查询效率往往不如非关系数据模型。为了后面介绍的方便,先看几个基本概念。

(1)域:一组具有相同数据类型的值的集合。

(2)笛卡儿积:给定一组域D 1 ,D 2 ,…,D n ,这些域中可以有相同的。D 1 ,D 2 ,…,D n 的笛卡儿积为:

D 1 ×D 2 ×…×D n ={(d 1 ,d 2 ,…,d n )|d j ∈D j ,j=1,2,…,n}

其中每一个元素(d 1 ,d 2 ,…,d n )叫作一个n元组(简称为元组)。元组中的每一个值d j 叫作一个分量。

(3)关系:D 1 ×D 2 ×…×D n 的子集叫作在域D 1 、D 2 、…、D n 上的关系,用 R(D 1 ,D 2 ,…,D n )表示。这里R表示关系的名字,n是关系的目或度。

关系中的每个元素是关系中的元组,通常用t表示。关系是笛卡儿积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。

若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(候选键)。若一个关系有多个候选码,则选定其中一个为主码(主键)。主码的诸属性称为主属性。不包含在任何候选码中的属性称为非码属性(非主属性)。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模型的所有属性组是这个关系模型的候选码,称为全码。

关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

基本关系具有以下6条性质:

(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。

(2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。

(3)列的顺序无所谓,即列的次序可以任意交换。

(4)任意两个元组不能完全相同。但在大多数实际关系数据库产品中,例如Oracle等,如果用户没有定义有关的约束条件,它们都允许关系表中存在两个完全相同的元组。

(5)行的顺序无所谓,即行的次序可以任意交换。

(6)分量必须取原子值,即每一个分量都必须是不可分的数据项。

关系的描述称为关系模型。一个关系模型应当是一个五元组。它可以形式化地表示为:R(U,D,DOM,F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。关系模型通常可以简记为:R(A 1 ,A 2 ,…,A n )。其中R为关系名,A 1 ,A 2 ,…,A n 为属性名。

关系实际上就是关系模型在某一时刻的状态或内容。也就是说,关系模型是型,关系是它的值。关系模型是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模型和关系统称为关系,读者可以从上下文中加以区别。

在关系模型中,实体以及实体间的联系都是用关系来表示的。在一个给定的现实世界领域中,相应于所有实体及实体之间的联系的关系的集合构成一个关系数据库。

关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模型的集合。关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。 QjXHA5exYxvxhdt/eta5rWlPauZ1xYJBtFJ2V8zCVpVDvRIs43zye3PMnLoDzYXb

点击中间区域
呼出菜单
上一章
目录
下一章
×