本文主要是介绍【数据库系统概论】绪论----数据库系统概论(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.2数据模型
上接18页
1.2.4 最常用的数据模型
最常用的逻辑数据模型有:
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
- 对象关系模型
层次模型和网状模型统称为格式化模型,20世纪70年代比较流行,后来逐渐被关系模型逐渐取代。
数据结构,数据操作和完整性约束三方面完整的描述了一个数据模型。
数据结构是刻画模型性质的最本质方面。
在格式化模型中实体用记录来表示,实体的属性对应记录的数据项(或字段),在格式化,模型中,
数据结构的基本单位是基本层次联系,所谓基本层次联系就是两个记录以及两个记录之间的联系。
R1位于L(ij)的始点,叫做双亲结点,R2位于L(ij)的终点,叫做子女结点。
1.2.5 层次结构
代表:IBM公司的IMS(information management system)数据库管理系统
一、层次模型中的数据结构
满足下满的基本层次联系的集合为层次模型:
1. 有且只有一个结点没有双亲结点 ,这个结点称为跟结点。
2. 根以外的其他结点有且只有一个双亲节点。
这就使得层次数据库系统只能处理一对多的实体联系。
同一个双亲节点的叫做兄弟结点,没有子女结点的叫做叶节点。
二、多对多联系在层次模型中的表示
层次数据模型只能处理一对多(包括一对一)的联系,层次模型要想表示多对多联系,
则需要通过一定的方法转化一下。
一般有冗余结点法和虚拟节点法两种。
四、层次数据模型的储存结构
层级数据库中不仅要储存数据本身,还要储存数据之间的联系。
一般有两种方法:
1. 邻接法
按照层次树前序穿越的顺序把所有记录值一次邻接存放,通过物理空间的位置相邻来体现层次结构。
(树的前序遍历:把树按照“左孩子-右兄弟”规则转换成二叉树。然后按照二叉树的前序遍历规则遍历)
2. 链接法
每个节点添加两个指针数据,分别指向他的最左边的子女和最近的一个兄弟,这种方法叫做子女-兄弟链接法
按照树的前序穿越顺序链接哥哥记录值,这种链接叫做层次序列链表法。
五、层次模型的优缺点
优点:1.层次模型的数据结构比较简单清晰
2.层次数据库的查询效率高。查询效率优于关系数据库不低于网状数据库。
3.层次模型提供了良好的完整性支持
缺点:1.现实世界中很多联系是非层次结构的,比如节点之间的具有多对多的联系
2.一个结点具有多个双亲,只能通过引入冗余数据或者创建非自然的数据结构,
对插入删除的操作的限制很大,应用程序的编写比较复杂。
3.查询子女结点必须通过双亲结点。
4.由于结构严密,层次命令趋于程序化。
1.2.6 网状模型
网状数据库系统采用网状模型作为数据的组织方式。 典型代表是DBTG系统。
一、网状数据模型的数据结构
满足一下两个条件的基本层次联系集合称为网状模型:
1. 允许一个以上的结点无双亲
2. 一个结点可以有多于一个的双亲。
网状模型可以更直接的去描述现实世界,层次结构就是网状结构的一个特列
网状结构中的每个结点表示一个记录类型(实体),每个记录类型可包含若干
字段(字段的属性),结点间连线表示记录类型(实体)之间一对多的父子联系。
在网状模型中的子女与双亲的结点联系不是唯一的,例如图1.23(a,b,c)
下面我们再来看一个学生选课数据库的实例:
二、网状数据模型的操纵与完整性约束
(1)支持记录码
(2)保证一个联系中双亲记录和子女记录之间是一对多的联系。
(3)可以支持双亲记录和子女记录之间某些约束性条件
三、网状数据模型的存储结构
常用的方法是链接法,包括单项链接,双向链接,环装链接,向首链接等
此外 还有引元阵列发、二进制阵列发、索引法
四、网状数据模型的优缺点
优点:
1.能够更为直接的描述现实世界
2.具有良好的性能,存取效率较高
缺点:
1.结构复杂,随着应用环境的扩大,数据库的结构就变得越来越复杂,不利用与用户的掌握
2.网状模型的DDL、DML复杂,并且要嵌入某一种高级语言中,用户不容易掌握,不容易使用。
28页
这篇关于【数据库系统概论】绪论----数据库系统概论(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!