网状数据库是采用网状原理和方法,以网状数据模型为基础建立的数据库。一般是指由网状数据库管理系统产生的网状数据库系统。网状数据模型是以记录类型为结点的网络结构,即一个结点可以有一个或多个下级结点,也可以有一个或多个上级结点,两个结点之间甚至可以有多种联系,例如“教师”与“课程”两个记录类型,可以有“任课”和“辅导”两种联系,称之为复合链。两个记录类型之间的值可以是多对多的联系,例如一门课程被多个学生修读,一个学生选修多门课程。
简介数据库技术是20世纪60年代初开始发展起来的一门数据管理自动化的综合性新技术,它是应数据管理任务的需要而产生的,是数据管理最有效的手段。数据库就是为了一定的目的,在计算机系统中与特定的结构组织、存储和应用相关联的数据集合。在数据库出现之前,计算机管理数据经过了程序管理和文件管理两个阶段。数据库是数据管理的高级阶段,它与传统的数据管理相比有许多明显的差别,其中主要的有两点:一是使数据独立于应用程序而集中管理,实现了数据共享,减少了数据冗余,提高了数据的效益;二是在数据间建立了联系,从而能反映出现实世界中信息的联系。
网状数据库 (network database) 是采用网状模型的数据库。网状模型用网状结构表示各类实体及其间的联系。在网状结构中:允许一个以上的结点没有双亲;一个结点可以有多于一个的双亲。网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系(称之为复合联系)。因此网状数据模型可以更直接地去描述现实世界。而层次结构实际上是网状结构的一个特例。但是,和层次数据库一样,网状数据库的操作语言也是过程性的,数据的逻辑独立性仍然不高。
网状数据库系统在20 世纪 70 年代与 80 年代初非常流行,在数据库系统产品中占主导地位,虽然近年来逐渐被关系数据库系统取代,在美国、加拿大等国家 ,由于历史原因 ,网状数据库的用户数仍然很多。如富士通公司M系列机上配制AIM系统,UNIVAC上配制的DMS1100,HONEYWELL公司机器上配制的IDS系统和CINCON的TOTAL等系统都是网状方法。在网状数据库系统中,有许多系统是以美国的DBTG为标准实现的。在DBTG系统中,数据库的记录类型用结点表示,记录类型之间的联系用有向边表示,称为系型,则数据库的全局逻辑结构为一有向图。记录类型由数据项和数据集组成的命名集合。系型定义为记录类型之间命名的联系,系型是一个二级树。一个系型有且仅有一个记录类型定义为首记录类型。其它记录类型为成员记录类型。根据系型的结构特点可划分为三种类型:单成员系、多成员系和奇异系。
系类型系类型是二个或二个以上的记录类型之间联系的一种描述。在一个系类型中,有一个记录类型处于主导地位,称为系主记录类型,其它称为成员记录类型。系主和成员之间的联系是一对多的联系。网状数据库的代表是DBTG系统。1969年美国的CODASYL组织提出了一份“DBTG报告”,以后,根据DBTG报告实现的系统一般称 为DBTG系统。现有的网状数据库系统大都是采用DBTG方案的。DBTG系统是典型的三级结构体系:子模式、模式、存储模式。相应的数据定义语言分别称为子模式定义语言SSDDL,模式定义语言SDDL,设备介质控制语言DMCL。另外还有数据操纵语言DML。
层次模型和网状模型关系第一代数据库系统的数据模型为层次模型和网状模型。层次模型是将数据组织成有向有序的树结构。层次模型由处于不同层次的各个结点组成。除根结点外,其余各结点有且仅有一个上一层结点作为其“双亲”,而位于其下的较低一层的若干个结点作为其“子女”。结构中结点代表数据记录,连线描述位于不同结点数据间的从属关系(限定为一对多的关系)。层次模型反映了现实世界中实体间的层次关系,层次结构是众多空间对象的自然表达形式,并在一定程度上支持数据的重构。但它在应用时存在以下问题:1)由于层次结构的严格限制,使得对低层次对象的处理效率低、数据更新的插入和删除操作复杂,难以进行反向查询。2)层次命令具有过程式性质,它要求用户了解数据的物理结构,并在数据操纵命令中显式地给出存取途径。3)模拟多对多联系时导致物理存贮上的冗余。4)数据独立性较差。
网状数据库是处理以记录类型为结点的网状数据模型的数据库。网络模型用连接指令或指针来确定数据间的显式连接关系,是具有多对多类型的数据组织方式,网络模型将数据组织成有向图结构。结构中结点代表数据记录,连线描述不同结点数据间的关系。它反映着现实世界中实体间更为复杂的联系,其基本特征是,结点数据间没有明确的从属关系,一个结点可与其它多个结点建立联系。有向图结构比层次结构具有更大的灵活性和更强的数据建模能力。网络模型的优点是可以描述现实生活中极为常见的多对多的关系。其数据存贮效率高于层次模型。但其结构的复杂性限制了它在空间数据库中的应用。它在应用时存在以下问题: 1)网状结构的复杂性增加了用户查询和定位的困难。它要求用户熟悉数据的逻辑结构。知道自身所处的位置。2)网状数据操作命令具有过程式性质。3)不直接支持对于层次结构的表达1。
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学