网状模型

简介

用有向图结构表示实体类型及实体间联系的数据结构模型称为网状模型(Network Model)。网状模型的典型代表是DBTG系统,也叫CODASYL系统

特点

用网络结构表示实体类型及其实体之间联系的模型。顾名思义,一个事物和另外的几个都有联系……这样构成一张网状图。
网状模型的数据结构主要有以下两个特征:

(1)允许一个以上的节点无双亲。

(2)一个节点可以有多于一个的双亲。


实例

以学生选课为例讨论网状模型如何组织数据。通常一个学生可以选修若干门课程,某一课程可以被多个学生选修,因此,学生与课程之间是多对多的联系。这样的实体联系图不能直接用网状模型来表示,因为网状模型中不能直接表示实体之间多对多的联系,为此引入一个学生选课的联结记录。它由3个数据项组成,即学号、课程号、成绩,表示某个学生选修某一门课程及其成绩。这样,学生选课数据库包括3个记录类型:学生、课程和选课。每个学生可以选修多门课程。显然对于学生记录中的一个值,选课记录中可以有多个值与之联系。而选课记录中的一个值,只能与学生记录中的一个值联系。学生与选课之间的联系是一对多的联系,联系名为学生-选课。同样,课程与选课之间的联系也是一对多的联系,联系名为课程-选课。


数据操作与完整性约束

网状模型的数据操作主要包括查询、插入、删除和更新。进行插入操作时,允许插入尚未确定双亲结点值的子结点值。进行删除操作时,只允许删除双亲结点值。进行更新操作时只需更新指定记录即可因此,一般来说,网状模型没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统(如DBTG)对数据操作都加了一些限制,提供了一定的完整性约束。DBTG在模式DDL中提供了定义DBTG数据库完整性的若干概念和语句,

主要有:

(1) 支持记录码的概念,码是唯一标识记录的数据项的集合。
(2) 保证一个联系中双亲记录和子记录之间是一对多的联系。
(3) 可以支持双亲记录和子记录之间某些约束条件。如有些子记录要求双亲记录存在才能插入,双亲
记录删除时也连同删除。


优点与缺点

优点

(1) 能够更为直接地描述现实世界。如一个结点可以有多个双亲,结点之间可以有多种联系。
(2) 具有良好的性能,存取效率较高。

缺点

(1) 结构比较复杂,而且应用环境越大,数据库的结构就变得越复杂,不利于最终用户掌握。
(2) 其数据定义语言(DDL)、数据操作语言(DML)复杂,用户不容易使用。

发展史

网状模型是最早出现的网状DBMS。网状模型中以记录为数据的存储单位。记录包含若干数据项。网状数据库的数据项可以是多值的和复合的数据。每个记录有一个惟一地标识它的内部标识符,称为码(DatabaseKey,DBK),它在一个记录存入数据库时由DBMS自动赋予。DBK可以看作记录的逻辑地址,可作记录的替身,或用于寻找记录。网状数据库是导航式(Navigation)数据库,用户在操作数据库时不但说明要做什么,还要说明怎么做。例如在查找语句中不但要说明查找的对象,而且要规定存取路径。世界上第一个网状数据库管理系统也是第一个DBMS是美国通用电气公司Bachman等人在1964年开发成功的IDS(IntegratedDataStore)。IDS奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。1971年,美国CODASYL(ConferenceonDataSystemsLanguages,数据系统委员会)中的DBTG(DataBaseTaskGroup,数据库任务组)提出了一个著名的DBTG报告,对网状数据模型和语言进行了定义,并在1978年和1981年又做了修改和补充。因此网状数据模型又称为CODASYL模型或DBTG模型。1984年美国国家标准协会(ANSI)提出了一个网状定义语言(NetworkDefinitionLanguage,NDL)的推荐标准。在70年代,曾经出现过大量的网状数据库的DBMS产品。比较著名的有Cullinet软件公司的IDMS,Honeywell公司的IDSII,Univac公司(后来并入Unisys公司)的DMS1100,HP公司的IMAGE等。 网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。在数据库发展史上,网状数据库占有重要地位。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库管理系统提供的数据定义语言(DDL)是用于定义数据库结构的一组语句。对于数据库网状模型而言,DDL只能定义一个网状模型网状模型是早期的数据库模型之一,它采用复杂的关系和连接方式来组织数据。相比其他模型网状模型被认为更复杂、难以维护和操作。 在网状模型中,数据由多个实体(Entity)组成,每个实体都可以有多个属性(Attribute)。实体之间的关系通过连接(Relationship)来表示,每个连接都包含一个或多个连接类型。连接类型描述了实体之间的关系类型,例如一对一、一对多或多对多。 在DDL中,可以使用语句来创建实体、属性和连接类型,并定义它们之间的关系。但是,由于网状模型存在复杂的连接方式,DDL只能定义一个网状模型。这意味着在一个数据库中只能定义一个网状模型,无法同时使用多个网状模型。 尽管网状模型在过去被广泛使用,但随着时间的推移,它们被更简单、更灵活的关系模型所取代,例如层次模型和关系模型。关系模型使用表(Table)来组织数据,实现了更简洁的数据结构和更直观的查询语言,因此得到了广泛的应用。 综上所述,对于数据库网状模型而言,DDL只能定义一个网状模型。随着数据库技术的发展,网状模型逐渐被更简单、更灵活的数据库模型所取代,因此DDL对于网状模型的应用也相对较少。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值