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

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

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

1、条件特征

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

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

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

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

2、表示办法:

实体型:用记录类型描述

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

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

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

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

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

容许结点有多个双亲;

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

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

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

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

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

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

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

4、 举例:学生选课模子

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

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

289b733bee7a235957306dd3bec28987.png

5、把持

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

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

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

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

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

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

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

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

症结:实现记录联系;

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

6、 优缺点

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

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

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

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

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

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

以上,相识下~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值