1.2 数据模型
各个数据对象以及它们之间存在的相互关系的描述,称为数据模型。数据模型是数据库系统的核心和基础,常见的数据模型有层次模型、网状模型和关系模型,各种数据库管理系统软件都是基于某种数据模型的。根据数据模型的发展,可以划分为三个阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。
1.层次模型
层次模型像一棵倒置的树,树根、树的分枝点、树叶都称为结点。其结构特点是有且仅有一个结点(根结点)无双亲,其他结点有且仅有一个双亲。例如学校各部门、军队中各级别的编制等都是层次模型,如图1-2所示。
图1-2 层次模型示意图
2.网状模型
任意一个连通的基本层次模型构成了一个网状模型。网状模型结构特点是可以有一个以上无双亲,至少有一个结点有一个以上的双亲。结点之间是平等的,不分层次。例如,学校的教师、学生、课程、教室之间的联系是网状模型,如图1-3所示。层次模型是网状模型的一个特例。
图1-3 网状模型示意图
3.关系模型
在关系模型中数据被组织成一个二维表,这样的表又被称为关系。例如,学籍表、成绩表等,如图1-4所示。
图1-4 关系模型示意图
构成关系模型的二维表应满足以下条件:
- 表中不允许有重复的字段名,也就是说一个表中不能有两个相同的属性。
- 表中每一列数据必须具有相同的数据类型。
- 表中不允许有两条完全相同的记录。
- 表中行的排列次序以及列的排列次序可以任意,并且其次序不影响表中的关系。
4.面向对象模型
利用面向对象理论建立起来的数据库模型,就是面向对象模型。面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统,数据库存储对象是以对象为单位,每个对象包含对象的属性和方法,具有类和继承等特点。
面向对象数据模型适合处理各种各样的数据类型,与传统的数据库(如层次、网状或关系)不同,面向对象数据库适合存储不同类型的数据,例如,文本、数字、图片、声音、视频等。面向对象数据模型还可提高开发效率,提供强大的特性,例如继承、多态和动态绑定,这样允许用户不用编写特定对象的代码就可以构成对象并提供解决方案。这些特性能有效地提高数据库应用程序开发人员的开发效率。