数据库系统1-2:网络模型
文章作者 100test 发表时间 2007:03:10 18:33:59
来源 100Test.Com百考试题网
![](/ncre/Files/2007-3/7/946391921.gif)
用记录类型为结点的网络结构来表示实体与实体之间联系的模型称为网络模型。其示意图见图1.20。
![](/ncre/Files/2007-3/7/946394363.gif)
层次模型和网络模型,从逻辑上看都是用结点表示实体集,用连线表示实体之间的联系;从物理上看,它们都是用指针来实现两个记录集合(文件)之间的联系。网络模型中一个结点可以有多于一个的父结点,允许一个以上的结点没有父结点。网络模型是层次模型一般形式,而层次是网络的特殊形式。
网络模型典型代表是DBTG(Data Base Task Group)数据模型。数据库任务小组DBTG是美国CODASY(Conference of Data System Language)组织的下属机构,它于1971年提出DBTG报告。DBTG报告是一个网络模型的数据描述语言和数据操纵语言的规范文本。凡是遵循DBTG报告开发的网络模型的数据库管理系统统称为DBTG系统,以下将介绍DBTG数据模型。
1.2.4.1网络模型的结构
DBTG数据模型两个最基本的成分是记录类型和系类型。以它们为基础,按照一定的规则可以构造出描述现实世界中实体及其联系的数据模型。
(1) 记录类型
记录类型由可命名的数据单位组成。数据单位除了数据项外,还可以是向量(具有相同特征的一维数据项的集合)、组项(多个数据项的命名序列)和重复组(一个记录值中多次出现的数据集合,而这些数据可以是数据项、向量、组项和重复组)。记录类型如图1.21所示。
![](/ncre/Files/2007-3/7/946399085.gif)
其中成绩是组项,平时成绩、考试成绩是向量,也是组项。DBTG的记录类型可以表示复杂的实体。
(2) 系类型
系类型是由记录类型组成的二级树,其中父结点称为系主,子结点成为成员,父子结点之间是一对多的关系。如图1.22所示。![](/ncre/Files/2007-3/7/946398144.gif)
系类型描述了记录类型之间的联系。
(3) 系的构成规则
系的构成规则主要是:
① 一个记录类型可以出现在多个系类中,即它可以作为多个系的系主,也可作为多个系的成员,还可以既是一些系的系主同时又是另一些系的成员。
② 任意两个记录类型之间可以定义多个系类型,即具有表示两个实体集之间可能存在的多种联系的能力。
③ 允许奇异系(singular set)的存在,即允许单一记录类型作为成员类型存在,而系主是虚构的,这个系主就是系统。因此一个数据库只允许一个奇异系。
(4) 系值
一个系类可以有多个系值,一个系值由一个系主记录值和其属下的多个(包括零个)成员记录值组成。一个成员记录值可以出现在多个不同系类的多个系值中,如图1.23所示。
(5) 多对多联系的处理
由以上可知,DBTG数据模型不能直接处理实体集之间多对多的关系。对于多对多的关系,引入连接记录型,转换成两个一对多的关系,如图1.24所示。从图中可以看出,学生和课程这两个实体集合之间是“M—M”的联系,由于引入了“选课”这个连接记录型,则转换为两个“1—M”的联系。系1的系主是Student,成员是S-C。系2的系主是Course,成员是S-C。
![](/ncre/Files/2007-3/7/946393168.gif)
学生及课程都是系主,而选课这个结点有两个父结点。
1.2.4.2 网络模型的数据操作
网络模型的数据操作和其采取的存取措施和策略紧密相关。
(1) 通过数据库码定位记录的操作
数据库码DBK(Data Base Key)是由系统给每一个记录值指定的标识符,和记录值本身无关。记录的DBK由DBMS在记录第一次存储时指定,是该记录的永久标识,也就是记录的逻辑地址,因此,可以通过数据库码直接访问一条记录。
(2) 通过系的导航定位记录的操作
DBTG的数据描述语言不仅定义系的组成,还规定了系值选择方式(选择记录型下某个系值)、系序(成员记录值在系值中的逻辑排列次序)、记录的定位方式(记录值存入时或查找时如何确定其物理位置的方法)等,因此访问可以通过系主找成员,也可以由同一个系值的成员找到其它成员。
(3) 通过当前值定位记录的操作
当前值表示当前正在运行的应用程序(运行单位)操作数据库的最近情况,由DBMS建立并维护的一个“当前状态表”,指出各种当前值,例如,系的当前值、记录的当前值等。这些当前值就是系类中或记录类中最近被存取的记录的DBK,使得每次定位操作不必从头开始。
因此,DBTG系统数据操作不仅要指明操作的对象,还要规定存取路径,具体操作较烦琐,不详细列举。
1.2.4.3 网络模型的物理存储
网络模型的物理存储体现为系的物理存储,其实现方式有两种方法:链接法(CHAIN)和指针阵列法(POINTER ARRAY),如图1.25所示。
![](/ncre/Files/2007-3/7/946395869.gif)
1.2.4.4 网络模型约束
网络模型约束主要表现为系型约束和系值约束。
(1) 系型约束
一个记录型不能同时作为同一个系型的首记录和成员记录,即不能直接表示同一个实体集内部实体之间的联系。解决的方法是引入连接记录,用作自身联系的中间记录。例如,在零件(PART)实体内部存在多对多的联系:一种零件可由多种零件构成,而一种零件也可以作为多种零件的配件。可以引入一个配件(L-P)记录型,以零件作系主,配件作成员,构造两个系。第一个系表示一个零件需要哪些零件作配件,第二个系表示一个零件可以作哪些零件的配件。如图1.26所示。