Visual FoxPro数据库基础及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.2 基本的数据模型

数据模型是数据库系统中用于提供信息表示和操作手段的结构形式。简单地说,数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式。

在数据库系统设计时,数据库的性质是由系统支持的数据模型来决定的。不同的数据模型以不同的方式把数据组织到数据库中。组织数据库的数据模型有3种:层次模型、网状模型和关系模型。如果数据库中的数据是依照层次模型进行存储数据,该数据库就称为层次数据库;如果是依照网状模型进行存储数据,该数据库就称为网状数据库;如果是依照关系模型进行存储数据,该数据库就称为关系数据库。

1.层次模型(Hierarchical Model)

用树形结构表示实体及其之间联系的模型称为层次模型。层次模型的数据结构是一棵倒挂的“有向树”,其特征主要表现为有且仅有1个节点,没有父节点,它就是根节点;其他节点有且仅有1个父节点。

在层次模型中,每行节点描述了1个实体型,称为记录型。1个记录型可有许多记录值,简称记录。图1.1给出了大学某系所教课程的层次模型和实例。

图1.1 层次模型

2.网状模型(Network Model)

网状模型是一种比较复杂的数据模型,它是以网状结构表示实体与实体之间的联系。网状模型可以表示多个从属关系的联系,也可以表示数据间的交叉关系,即数据间的横向关系与纵向关系,它是层次模型的扩展。例如铁路运行就是一个网状模型。用于支持网状数据模型的数据库管理系统称为网状数据库管理系统。

网状模型的特征包括:允许节点有多于一个的父节点;可以有一个以上的节点没有父节点。图1.2给出了一个简单的网状模型。

3.关系模型

用二维表的形式表示实体和实体之间联系的数据模型称为关系数据模型。关系模型不像层次模型和网状模型那样使用大量的链接指针把有关数据集合到一起,而是用一张二维表来描述一个关系。关系模型是将数据组织看成一张二维关系表。用关系模型设计的数据库就是关系型数据库。关系型数据库中的每一个关系都是一个二维表。在二维表中,每一行称为一个记录,用于表示一组数据项,每一列称为一个字段或属性,用于表示每列中的数据项。表中的第一行称为字段名,用于表示每个字段的名称。

关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系。

图1.2 网状模型

图1.3给出了一个简单的关系模型,其中图1.3(a)给出了关系模式:

教师(教师编号,姓名,性别,职称)

课程(课程编号,课程名,课程性质,学分)

图1.3(b)给出了这两个关系模式的关系,关系名称分别为教师关系和课程关系,均包含两个元组。教师关系的教师编号为关键字,课程关系的课程编号为关键字。

在关系模型中,二维表应具有的特征是表中的每一数据项不能再分;表中每一列的数据类型必须相同;表中每一列的字段名不允许相同;表中的记录和字段顺序可以任意排列。

图1.3 关系模型