网状模型

原创 2016年08月30日 12:31:26

简介

用有向图结构表示实体类型及实体间联系的数据结构模型称为网状模型(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用得普遍。在数据库发展史上,网状数据库占有重要地位。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Unity3D修改模型的网格数据

【狗刨学习网】 模型导入unity后,可以使用unity的Inspector面板对模型在某个坐标轴上进行平移、旋转和缩放操作(如图1)。  图 1     Inspector面板提供...
  • book_longssl
  • book_longssl
  • 2015年02月20日 09:24
  • 1697

最后那3分——ER模型到关系模型的转换

文档分类 软件开发人员在各个阶段中以文档作为前阶段工作成果的体现和后阶段工作的依据,软件开发过程中软件开发人员需制定一些工作计划或工作报告,这些计划和报告都要提供给管理人员,并得到必要的支持。管理人...
  • guo13313
  • guo13313
  • 2015年10月10日 15:57
  • 1470

socket通信之一:TCP/IP模型与socket

这段时间看了一些网络相关的东西,这里做一个总结吧。参考了很多文章的内容,因为我本身是对着书并且参考网络资源在学习的,在最后会一一列出文章的地址。 这篇文章主要介绍TCP/IP的一些基本知识,...
  • u012501459
  • u012501459
  • 2015年09月02日 14:44
  • 2662

Halcon 学习总结——基于动态阈值法、GMM(高斯混合模型)、SVM(支持向量机)的网状物缺陷检测

  • liubing8609
  • liubing8609
  • 2015年06月06日 14:49
  • 1960

网状网络wmn安全模型研究WMN_Security_Model.pdf

  • 2009年05月23日 00:56
  • 1.29MB
  • 下载

【高效的文件调用与跳转】用XML构建网状数据结构来组织文件

项目描述:一个MP4系统中有许多的按钮、选项。点击这些按钮需要调用许多本地磁盘中的图片、视频、音乐等各种类型的资源文件。 解决办法: A,做一个文件系统,比如树形文件系统,在这个系统中按照一定规则嵌套...
  • sac761
  • sac761
  • 2016年11月05日 11:29
  • 585

网状高效排序双向链表

这是一个表头用网状的排序双向链表结构托管类,原本开发的原因是游戏服务器根据玩家战斗力排序的容器更新 & 查找效率不理想,希望有个新的方法替代,因为战斗力变化频率比较高,多个用户又可能是相同的战斗力,所...
  • kinly_jiang
  • kinly_jiang
  • 2016年11月02日 17:29
  • 217

层次、网状、关系数据库

  • 2012年02月24日 11:40
  • 1.06MB
  • 下载

自定义view之网状图

小牛试刀,花了一个小时写了个网状图,如下 绘制的思路分成三部 1,首先绘制三条连接的长的直线,代码如下 //画第一条竖线 canvas.drawLine(0f, -r...
  • villa_mou
  • villa_mou
  • 2018年01月05日 13:45
  • 21

[循证理论与实践] Meta分析系列之六:间接比较及网状 Meta 分析

在临床实践中,经常会碰到没有直接比较的证据或者需要从众多干预措施中选择对患者最佳措施的情况,此时,研究者往往会从随机对照试验(RCT)中寻找间接证据,这就形成了间接比较的Meta分析或多种干预措施比较...
  • hzs106
  • hzs106
  • 2014年03月11日 12:41
  • 801
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网状模型
举报原因:
原因补充:

(最多只允许输入30个字)