
1.6.2 数据模型分类
目前常用的数据模型有3种:层次模型、网状模型和关系模型。

视频1-5
1. 层次模型
层次模型是按照层次结构的形式组织数据的数据模型,用树形结构表示实体之间的联系,具有如下两个特点:
(1)有且仅有一个根结点(没有双亲的结点);
(2)除根结点之外的其他结点有且只有一个双亲结点。
层次模型只能反映实体间的一对多联系,具有层次清晰、构造简单、处理方便等优点,但不能表示含有多对多联系的复杂结构。图1-11所示为院系数据库的层次结构,树根为院系,每一个院系都有自己的教师、学生以及开设的课程。

图1-11 层次模型示例
2. 网状模型
网状模型是按照网状结构组织数据的数据模型,易于实现实体间的多对多联系,具有如下两个特点:
(1)允许一个以上的结点没有双亲结点;
(2)一个结点可以有多个双亲结点。
网状模型能更好地描述现实世界,但结构复杂,用户不容易掌握。图1-12所示为教师、学生和课程3个实体之间的联系。由于教师要讲授课程,而学生要学习课程,所以教师和学生都与课程有联系。

图1-12 网状模型示例
3. 关系模型
关系模型是用二维表格来表示实体集以及实体之间联系的模型。二维表格由表头和若干行数据组成。用二维表格表示实体集时,一行表示一个实体,一列表示实体的一个属性;用二维表格表示实体之间联系时,一行表示一个联系,一列表示联系的一个属性。
例如,学生和课程两个实体集以及它们之间的多对多联系可以分别用3个二维表格表示,用关系模式表示如下。
- 学生实体集:学生表(学号,姓名,性别,出生日期,班级,照片,院系代码,…)
- 课程实体集:课程表(课程编号,课程名称,学时,学分,开课状态)
- 学生-课程的联系:选课成绩表(学号,课程编号,成绩,学年,学期)
表1-1所示为课程实体集的部分课程信息,表中一行表示一门课程,一列对应一个属性。其他实体集和联系的详细信息将在后续章节中详细介绍。
表1-1 课程表

关系模型建立在严格的数学概念基础上,自出现以后就发展迅速。基于关系模型建立的数据库系统称为关系数据库系统。目前,世界上许多计算机厂商都开发了各自的关系数据库管理系统,如美国甲骨文公司的Oracle、美国微软公司的SQL Server、美国Sybase公司的Sybase以及美国IBM公司的DB2等大型的关系数据库管理系统。除此之外,还有一些较为小型的关系数据库管理系统,如dBase、Visual FoxPro、Access等。本书主要介绍Microsoft Office 2010组件中的Access 2010关系数据库管理系统。