网络热词 > 网状模型

网状模型

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

网状模型的数据结构主要有以下两个特征:

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

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

网状模型是一种可以灵活地描述事物及其之间关系的数据库模型。最早由美国的查尔斯巴赫曼发明。

用有向图结构表示实体类型及实体间联系的数据结构模型称为网状模型(Network Model)。

以学生选课为例讨论网状模型如何组织数据。

通常一个学生可以选修若干门课程,某一课程可以被多个学生选修,因此,学生与课程之间是多对多的联系。这样的实体联系图不能直接用网状模型来表示,因为网状模型中不能直接表示实体之间多对多的联系,为此引入一个学生选课的联结记录。它由3个数据项组成,即学号、课程号、成绩,表示某个学生选修某一门课程及其成绩。

这样,学生选课数据库包括3个记录类型:学生、课程和选课。

每个学生可以选修多门课程。显然对于学生记录中的一个值,选课记录中可以有多个值与之联系。而选课记录中的一个值,只能与学生记录中的一个值联系。学生与选课之间的联系是一对多的联系,联系名为学生-选课。同样,课程与选课之间的联系也是一对多的联系,联系名为课程-选课。

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

网状模型的数据结构主要有以下两个特征:

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

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

网状模型的数据操作主要包括查询、插入、删除和更新。进行插入操作时,允许插入尚未确定双亲结点值的子结点值。进行删除操作时,只允许删除双亲结点值。进行更新操作时只需更新指定记录即可。因此,一般来说,网状模型没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统(如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用得普遍。在数据库发展史上,网状数据库占有重要地位。

All rights reserved Powered by 网络热词 87994.com

copyright ©right 2010-2020。
网络热词内容来自网络,如有侵犯请联系客服。zhit325@126.com