什么是网状数据库
网状数据库是指处理以记录类型为结点的网状数据模型的数据库,处理方法是将网状结构分解成若干棵二级树结构,称为系。系类型是两个或两个以上的记录类型之间联系的一种描述。在一个系类型中,有一个记录类型处于主导地位,称为系主记录类型,其他称为成员记录类型。系主和成员之间的联系是一对多的联系。网状数据库的代表是DBTG系统。1969年美国的CODASYL组织提出了一份“DBTG报告”,以后,根据DBTG报告实现的系统一般称为DBTC系统,现有的网状数据库系统大都是采用DBTG方案的。DBTG系统是典型的三级体系结构:子模式、模式、存储模式。相应的数据定义语言分别称为子模式定义语言SSDDL,模式定义语言SDDL,设备介质控制语言DMCL。另外还有数据操纵语言DML。
网状模型
网状数据库采用网状模型作为数据的组织方式。
在数据库中,我们把满足以下两个条件的基本层次联系集合称为网状模型:
(1)允许一个以上的结点无双亲;
(2)一个结点可以有多于一个的双亲。
从定义可以看出,层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一。因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。网状模型如图1。
图1一个简单的网状模型
R1与R3之间的联系被命名为L1,R2与R3之间的联系命名为L2。其中R1、R2为R3的双亲结点。
图2中都是网状模型的例子。
网状数据库的典型代表是DBTG系统,亦称CODASYL系统。这是70年代数据系统语言研究会CODASYL(Conference On Data Systems Language)下属的数据库任务组(Data Base Task Group简称DBTG)提出的一个系统方案。
DBTG系统使用的是网状模型。
网状模型允许结点无双亲,或有一个以上的双亲,从而构成了比层次结构复杂的网络结构。以学生选课为例,看一看网状数据库是怎样用网状模型来组织数据(下图)。
网状数据库优缺点
网状数据库模型的优点是避免了数据的重复性,缺点是关联性比较复杂,尤其是当数据库变得越来越大时,关联性的维护会非常麻烦。