设为首页收藏本站 JeeStudy企业开发官网①

JEE Study|JAVA EE|企业级开发学习网

 找回密码
 立即加入

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 1915|回复: 0
打印 上一主题 下一主题

MySQL8.0大师之路:第3章:数据模型-3.6网状模型

[复制链接]

219

主题

221

帖子

1418

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1418

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

跳转到指定楼层
楼主
发表于 2020-3-19 00:27:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
3.6网状模型
    在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,网状模型可以克服这一弊病。
    网状数据库系统采用网状模型作为数据的组织方式。网状数据模型的典型代表是DBTG 系统,亦称CODASYL系统。这是20世纪70年代数据系统语言研究会(Conference On Data System Language,CODASYL)属的数据库任务组(Data Base Task Group,DBTG)提出的一个系统方案。DBTG系统虽然不是实际的数据库系统软件,但是它的基本概念、方法和技术具有普遍意义,对于网状数据库系统的研制和发展起了重大的影响。后来不少系统都采用DBTG模型或者简化的DBTG模型,如CullinetSoftware公司的IDMS、Univac公司的DMSI100、Honeywell公司的IDS/2、HP公司的IMAGE等。
1.网状模型的数据结构
    在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:
  (1)允许一个以上的结点无父节点。
  (2)一个结点可以有多于一个的父节点。
    网状模型是一种比层次模型更具普遍性的结构。它去掉了层次模型的两个限制,允许多个结点没有父结点,允许结点有多个父结点;此外它还允许两个结点之间有多种联系(称之为复合联系)。因此,网状模型可以更直接地去描述现实世界。而层次模型实际上是网状模型的一个特例。
    与层次模型一样,网状状模型中每个结点表示一个记录类型(实体), 每个记录类型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)之间一对多的父子联系。
    从定义可以看出, 层次模型中子结点与父结点的联系是唯一的, 而在网状模型中这种联系可以不唯一。因此要为每个联系命名,并指出与该联系有关的父记录和子记录。
2.网状模型的数据操纵与完整性约束
    网状模型一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操纵都加了一些限制,提供了一定的完整性约束。
    例如,DBTG在模式数据定义语言中提供了定义DBTG数据库完整性的若干概念和语句, 主要有:
  (1)支持记录码的概念, 码即唯一标识记录的数据项的集合。 例如,学生记录中学号是码,因此数据库中不允许学生记录中学号出现重复值。
  (2)保证一个联系中父记录和子记录之间是一对多的联系。
  (3)可以支持父记录和子记录之间的某些约束条件。例如,有些子记录要求父记录存在才能插入,父记录删除时也连同删除。
3网状模型的优点.
    网状模型的优点主要有:
  (1)能够更为直接地描述现实世界, 如一个结点可以有多个父节点, 结点之间可以有多种联系。
  (2)具有良好的性能,存取效率较高。
网状模型的缺点主要有:
  (1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
  (2)网状模型的DDL、DML复杂,井且要嵌入某一种高级语言(如COBOL、C)中。用户不容易掌握,不容易使用。
  (3)由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选挥适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。








知识改变命运!

JAVA EE 学习     JAVA EE 资料
JEE Study:企业级开发学习网!
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

QQ|Archiver|手机版|小黑屋|JEE Study ( 京ICP备16036936   JeeStudy企业开发官网①

GMT+8, 2024-12-2 19:03 , Processed in 0.201780 second(s), 27 queries .

Powered by JeeStudy!

© 2008-2020 JEE Study 企业级开发学习网

快速回复 返回顶部 返回列表