数据库模型-数据结构-网状模型

《数据库模型-数据结构-网状模型》要点:
本文介绍了数据库模型-数据结构-网状模型,希望对您有用。如果有疑问,可以联系我们。

我们上次聊了数据结构的层次模型,本日看下结构的网状模型.

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

1、条件特征

(1)容许有一个以上的节点无双亲.

(2)至少有一个节点可以有多于一个的双亲.

网状模型中每个结点表示一个记录型(实体),每个记录型可包括若干个字段(实体的属性),结点间的连线表示记录类型(实体)间的父子关系.

从定义可以看出,层次模型中子结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不惟一.因此,在网状模型中要为每个联系命名,并指出与该联系有关的双亲记录和子记录.

2、表示办法:

实体型:用记录类型描述

每个结点表述一个记载类型(实体);

属性:用字段描述,每个记录类型包括若干个字段;

联系:用结点之间的连线表现记录类型(实体)之间的一对多的父子关系;

网状模型与条理模型的区别:

网状模型:允很多个结点没有双亲结点;

容许结点有多个双亲;

允许两个结点有多种接洽(复合接洽);

可以更直接的去描写现实世界;

数据库模型-数据结构-网状模型

条理模型是网状模型的一个特例.

要为每个联系定名(L1、L2),并指出该联系相关的双亲记录和子女记录.

3、多对多在网状模型的表现

用网状模型表现多对多的关系

办法:将多对多直接分解成一对多的联系

4、 举例:学生选课模子

它由3个数据项组成,即学号、课程号、成绩,表现某个学生选修某一门课程及其成绩.

数据库模型-数据结构-网状模型

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

数据库模型-数据结构-网状模型

5、把持

网状模型的数据操作主要包括查询、插入、删除和更新:

插入:插入尚未肯定双亲结点值的子结点值;

删除:只允许删除双亲结点值.如可删除一个教研室,而该科研室所有教师的信息仍保存在数据库中.

修改:可直接表示非树状结构,而无须像层次模型那样增加冗余结点,因此修改操作时只必要指定更新记录即可.

网状数据系统(DBTG)对数据加了一些限制,提供了必定的完整性约束:

码:唯一标识记载的数据项集合;

一个联系中双亲记录和后代记录是一对多的关系;

支持双亲记录和后代记录之间的某些约束性条件;

症结:实现记录联系;

常用办法:单向、双向、环向、向首链接;

6、 优缺点

网状数据模型的长处如下:

(1) 能够更为直接地描述现实客观世界,可表现实体间的多种复杂联系.

(2) 具有优越的性能,存取效率较高.

网状数据模型的毛病如下:

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

(2) 数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在拜访数据时要指定存取路径.

以上,相识下~

欢迎参与《数据库模型-数据结构-网状模型》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

相关文章

文章浏览阅读1.3k次。在 Redis 中,键(Keys)是非常重要的概...
文章浏览阅读3.3k次,点赞44次,收藏88次。本篇是对单节点的...
文章浏览阅读8.4k次,点赞8次,收藏18次。Spring Boot 整合R...
文章浏览阅读978次,点赞25次,收藏21次。在Centos上安装Red...
文章浏览阅读1.2k次,点赞21次,收藏22次。Docker-Compose部...
文章浏览阅读2.2k次,点赞59次,收藏38次。合理的JedisPool资...